1 /* This C file is generated by NIT to compile module compiling___compiling_icode. */
2 #include "compiling___compiling_icode._sep.h"
3 val_t
compiling___compiling_icode___I2CCompilerVisitor___register(val_t p0
, val_t p1
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
8 static val_t once_value_1
; /* Once value */
9 static val_t once_value_3
; /* Once value */
10 static val_t once_value_4
; /* Once value */
11 static val_t once_value_5
; /* Once value */
12 static val_t once_value_6
; /* Once value */
13 static val_t once_value_7
; /* Once value */
14 static val_t once_value_8
; /* Once value */
15 static val_t once_value_9
; /* Once value */
16 static val_t once_value_10
; /* Once value */
17 static val_t once_value_11
; /* Once value */
18 static val_t once_value_12
; /* Once value */
19 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
20 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
22 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___register
;
25 fra
.me
.nitni_local_ref_head
= NULL
;
26 fra
.me
.REG
[0] = NIT_NULL
;
27 fra
.me
.REG
[1] = NIT_NULL
;
28 fra
.me
.REG
[2] = NIT_NULL
;
29 fra
.me
.REG
[3] = NIT_NULL
;
30 fra
.me
.REG
[4] = NIT_NULL
;
31 fra
.me
.REG
[5] = NIT_NULL
;
32 fra
.me
.REG
[6] = NIT_NULL
;
33 fra
.me
.REG
[7] = NIT_NULL
;
36 /* ./compiling//compiling_icode.nit:35 */
37 fra
.me
.REG
[2] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
38 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_metamodel___static_type___MMTypeNone
, ID_metamodel___static_type___MMTypeNone
)) /*cast MMTypeNone*/;
39 if (UNTAG_Bool(REGB0
)) {
41 fra
.me
.REG
[2] = BOX_NativeString("NIT_NULL");
43 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
44 once_value_1
= fra
.me
.REG
[2];
45 register_static_object(&once_value_1
);
46 } else fra
.me
.REG
[2] = once_value_1
;
47 fra
.me
.REG
[2] = fra
.me
.REG
[2];
50 /* ./compiling//compiling_icode.nit:36 */
51 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
52 if (UNTAG_Bool(REGB0
)) {
54 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling___compiling_icode
, 36);
56 fra
.me
.REG
[3] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
57 /* ./compiling//compiling_icode.nit:37 */
58 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
59 if (UNTAG_Bool(REGB0
)) {
60 REGB0
= CALL_analysis___allocate_iregister_slots___IRegister___is_local(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
61 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
63 REGB1
= TAG_Bool(false);
66 if (UNTAG_Bool(REGB0
)) {
67 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids2(fra
.me
.REG
[0])!=NIT_NULL
);
68 if (UNTAG_Bool(REGB0
)) {
70 nit_abort("Uninitialized attribute %s", "_ids2", LOCATE_compiling___compiling_icode
, 37);
72 fra
.me
.REG
[4] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids2(fra
.me
.REG
[0]);
73 fra
.me
.REG
[3] = fra
.me
.REG
[4];
75 /* ./compiling//compiling_icode.nit:38 */
76 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
77 if (UNTAG_Bool(REGB0
)) {
78 /* ./compiling//compiling_icode.nit:39 */
79 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
80 fra
.me
.REG
[2] = fra
.me
.REG
[4];
83 /* ./compiling//compiling_icode.nit:41 */
84 fra
.me
.REG
[4] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
85 /* ./compiling//compiling_icode.nit:42 */
86 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
87 if (UNTAG_Bool(REGB0
)) {
89 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
90 if (UNTAG_Bool(REGB1
)) {
91 REGB1
= TAG_Bool(false);
94 /* ./../lib/standard//kernel.nit:227 */
95 REGB1
= TAG_Bool((fra
.me
.REG
[4])==(NIT_NULL
));
96 /* ./compiling//compiling_icode.nit:42 */
100 if (UNTAG_Bool(REGB0
)) {
101 /* ./compiling//compiling_icode.nit:44 */
103 fra
.me
.REG
[5] = BOX_NativeString("NIT_NULL");
105 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
106 once_value_3
= fra
.me
.REG
[5];
107 register_static_object(&once_value_3
);
108 } else fra
.me
.REG
[5] = once_value_3
;
109 fra
.me
.REG
[5] = fra
.me
.REG
[5];
110 /* ./compiling//compiling_icode.nit:45 */
111 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[5]);
112 /* ./compiling//compiling_icode.nit:46 */
113 fra
.me
.REG
[2] = fra
.me
.REG
[5];
116 /* ./compiling//compiling_icode.nit:50 */
117 REGB0
= CALL_analysis___allocate_iregister_slots___IRegister___in_tag_slots(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
118 if (UNTAG_Bool(REGB0
)) {
119 /* ./compiling//compiling_icode.nit:51 */
121 fra
.me
.REG
[5] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
122 once_value_4
= fra
.me
.REG
[5];
123 register_static_object(&once_value_4
);
124 } else fra
.me
.REG
[5] = once_value_4
;
125 fra
.me
.REG
[5] = fra
.me
.REG
[5];
126 /* ./compiling//compiling_icode.nit:52 */
127 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
128 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
129 if (UNTAG_Bool(REGB0
)) {
131 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
133 fra
.me
.REG
[7] = BOX_NativeString("REGB");
135 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
136 once_value_5
= fra
.me
.REG
[7];
137 register_static_object(&once_value_5
);
138 } else fra
.me
.REG
[7] = once_value_5
;
139 fra
.me
.REG
[7] = fra
.me
.REG
[7];
140 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
141 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
142 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
144 fra
.me
.REG
[7] = BOX_NativeString("");
146 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
147 once_value_6
= fra
.me
.REG
[7];
148 register_static_object(&once_value_6
);
149 } else fra
.me
.REG
[7] = once_value_6
;
150 fra
.me
.REG
[7] = fra
.me
.REG
[7];
151 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
152 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
153 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4], fra
.me
.REG
[6]);
156 /* ./compiling//compiling_icode.nit:53 */
157 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
158 if (UNTAG_Bool(REGB0
)) {
159 REGB0
= CALL_analysis___allocate_iregister_slots___IRegister___is_local(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
160 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
162 REGB1
= TAG_Bool(false);
165 if (UNTAG_Bool(REGB0
)) {
166 /* ./compiling//compiling_icode.nit:54 */
168 fra
.me
.REG
[0] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
169 once_value_7
= fra
.me
.REG
[0];
170 register_static_object(&once_value_7
);
171 } else fra
.me
.REG
[0] = once_value_7
;
172 fra
.me
.REG
[0] = fra
.me
.REG
[0];
173 fra
.me
.REG
[5] = fra
.me
.REG
[0];
174 /* ./compiling//compiling_icode.nit:55 */
175 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
176 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
177 if (UNTAG_Bool(REGB0
)) {
179 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
181 fra
.me
.REG
[6] = BOX_NativeString("closctx->REG[");
183 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
184 once_value_8
= fra
.me
.REG
[6];
185 register_static_object(&once_value_8
);
186 } else fra
.me
.REG
[6] = once_value_8
;
187 fra
.me
.REG
[6] = fra
.me
.REG
[6];
188 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
189 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
190 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
192 fra
.me
.REG
[6] = BOX_NativeString("]");
194 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
195 once_value_9
= fra
.me
.REG
[6];
196 register_static_object(&once_value_9
);
197 } else fra
.me
.REG
[6] = once_value_9
;
198 fra
.me
.REG
[6] = fra
.me
.REG
[6];
199 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
200 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
201 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4], fra
.me
.REG
[0]);
204 /* ./compiling//compiling_icode.nit:57 */
205 if (!once_value_10
) {
206 fra
.me
.REG
[0] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
207 once_value_10
= fra
.me
.REG
[0];
208 register_static_object(&once_value_10
);
209 } else fra
.me
.REG
[0] = once_value_10
;
210 fra
.me
.REG
[0] = fra
.me
.REG
[0];
211 fra
.me
.REG
[5] = fra
.me
.REG
[0];
212 /* ./compiling//compiling_icode.nit:58 */
213 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
214 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
215 if (UNTAG_Bool(REGB0
)) {
217 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
218 if (!once_value_11
) {
219 fra
.me
.REG
[6] = BOX_NativeString("fra.me.REG[");
221 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
222 once_value_11
= fra
.me
.REG
[6];
223 register_static_object(&once_value_11
);
224 } else fra
.me
.REG
[6] = once_value_11
;
225 fra
.me
.REG
[6] = fra
.me
.REG
[6];
226 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
227 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
228 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
229 if (!once_value_12
) {
230 fra
.me
.REG
[6] = BOX_NativeString("]");
232 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
233 once_value_12
= fra
.me
.REG
[6];
234 register_static_object(&once_value_12
);
235 } else fra
.me
.REG
[6] = once_value_12
;
236 fra
.me
.REG
[6] = fra
.me
.REG
[6];
237 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
238 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
239 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4], fra
.me
.REG
[0]);
243 /* ./compiling//compiling_icode.nit:60 */
244 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
245 /* ./compiling//compiling_icode.nit:61 */
246 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[4]);
247 /* ./compiling//compiling_icode.nit:62 */
248 fra
.me
.REG
[2] = fra
.me
.REG
[4];
253 stack_frame_head
= fra
.me
.prev
;
254 return fra
.me
.REG
[2];
256 val_t
compiling___compiling_icode___I2CCompilerVisitor___registers(val_t p0
, val_t p1
){
257 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
260 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
261 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
263 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___registers
;
264 fra
.me
.has_broke
= 0;
266 fra
.me
.nitni_local_ref_head
= NULL
;
267 fra
.me
.REG
[0] = NIT_NULL
;
268 fra
.me
.REG
[1] = NIT_NULL
;
269 fra
.me
.REG
[2] = NIT_NULL
;
272 /* ./compiling//compiling_icode.nit:70 */
273 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
274 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
275 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
));
276 /* ./compiling//compiling_icode.nit:74 */
279 stack_frame_head
= fra
.me
.prev
;
280 return fra
.me
.REG
[2];
282 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
){
283 struct {struct stack_frame_t me
;} fra
;
286 /* ./compiling//compiling_icode.nit:71 */
287 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
288 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
290 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___registers
;
291 fra
.me
.has_broke
= 0;
293 fra
.me
.nitni_local_ref_head
= NULL
;
294 fra
.me
.REG
[0] = NIT_NULL
;
295 fra
.me
.closure_ctx
= closctx_param
;
296 fra
.me
.closure_funs
= CREG
;
299 /* ./compiling//compiling_icode.nit:72 */
300 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
301 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
302 stack_frame_head
= fra
.me
.prev
;
305 val_t
compiling___compiling_icode___I2CCompilerVisitor___new_number(val_t p0
){
306 struct {struct stack_frame_t me
;} fra
;
310 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
311 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
313 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___new_number
;
314 fra
.me
.has_broke
= 0;
316 fra
.me
.nitni_local_ref_head
= NULL
;
317 fra
.me
.REG
[0] = NIT_NULL
;
319 /* ./compiling//compiling_icode.nit:81 */
320 REGB0
= ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_number(fra
.me
.REG
[0]);
322 /* ./../lib/standard//kernel.nit:235 */
323 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
324 /* ./compiling//compiling_icode.nit:81 */
325 ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_number(fra
.me
.REG
[0]) = REGB1
;
326 /* ./compiling//compiling_icode.nit:82 */
327 REGB1
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_number(fra
.me
.REG
[0])!=NIT_NULL
);
328 if (UNTAG_Bool(REGB1
)) {
330 nit_abort("Uninitialized attribute %s", "_last_number", LOCATE_compiling___compiling_icode
, 82);
332 REGB1
= ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_number(fra
.me
.REG
[0]);
335 stack_frame_head
= fra
.me
.prev
;
338 val_t
compiling___compiling_icode___I2CCompilerVisitor___lab(val_t p0
, val_t p1
){
339 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
342 static val_t once_value_2
; /* Once value */
343 static val_t once_value_3
; /* Once value */
344 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
345 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
347 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___lab
;
348 fra
.me
.has_broke
= 0;
350 fra
.me
.nitni_local_ref_head
= NULL
;
351 fra
.me
.REG
[0] = NIT_NULL
;
352 fra
.me
.REG
[1] = NIT_NULL
;
353 fra
.me
.REG
[2] = NIT_NULL
;
354 fra
.me
.REG
[3] = NIT_NULL
;
355 fra
.me
.REG
[4] = NIT_NULL
;
358 /* ./compiling//compiling_icode.nit:88 */
359 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
360 if (UNTAG_Bool(REGB0
)) {
362 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling___compiling_icode
, 88);
364 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
365 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
366 if (UNTAG_Bool(REGB0
)) {
367 /* ./compiling//compiling_icode.nit:89 */
368 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
369 if (UNTAG_Bool(REGB0
)) {
371 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling___compiling_icode
, 89);
373 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
374 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
377 /* ./compiling//compiling_icode.nit:91 */
379 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
381 fra
.me
.REG
[4] = BOX_NativeString("label");
383 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
384 once_value_2
= fra
.me
.REG
[4];
385 register_static_object(&once_value_2
);
386 } else fra
.me
.REG
[4] = once_value_2
;
387 fra
.me
.REG
[4] = fra
.me
.REG
[4];
388 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
389 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___new_number(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
390 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
391 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
393 fra
.me
.REG
[4] = BOX_NativeString("");
395 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
396 once_value_3
= fra
.me
.REG
[4];
397 register_static_object(&once_value_3
);
398 } else fra
.me
.REG
[4] = once_value_3
;
399 fra
.me
.REG
[4] = fra
.me
.REG
[4];
400 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
401 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
402 /* ./compiling//compiling_icode.nit:92 */
403 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
404 if (UNTAG_Bool(REGB0
)) {
406 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling___compiling_icode
, 92);
408 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
409 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[3]);
410 /* ./compiling//compiling_icode.nit:93 */
411 fra
.me
.REG
[2] = fra
.me
.REG
[3];
415 stack_frame_head
= fra
.me
.prev
;
416 return fra
.me
.REG
[2];
418 val_t
compiling___compiling_icode___I2CCompilerVisitor___closures(val_t p0
){
419 struct {struct stack_frame_t me
;} fra
;
422 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
423 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
425 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___closures
;
426 fra
.me
.has_broke
= 0;
428 fra
.me
.nitni_local_ref_head
= NULL
;
429 fra
.me
.REG
[0] = NIT_NULL
;
431 /* ./compiling//compiling_icode.nit:97 */
432 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____closures(fra
.me
.REG
[0])!=NIT_NULL
);
433 if (UNTAG_Bool(REGB0
)) {
435 nit_abort("Uninitialized attribute %s", "_closures", LOCATE_compiling___compiling_icode
, 97);
437 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____closures(fra
.me
.REG
[0]);
438 stack_frame_head
= fra
.me
.prev
;
439 return fra
.me
.REG
[0];
441 val_t
compiling___compiling_icode___I2CCompilerVisitor___clostypes(val_t p0
){
442 struct {struct stack_frame_t me
;} fra
;
445 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
446 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
448 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___clostypes
;
449 fra
.me
.has_broke
= 0;
451 fra
.me
.nitni_local_ref_head
= NULL
;
452 fra
.me
.REG
[0] = NIT_NULL
;
454 /* ./compiling//compiling_icode.nit:100 */
455 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____clostypes(fra
.me
.REG
[0])!=NIT_NULL
);
456 if (UNTAG_Bool(REGB0
)) {
458 nit_abort("Uninitialized attribute %s", "_clostypes", LOCATE_compiling___compiling_icode
, 100);
460 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____clostypes(fra
.me
.REG
[0]);
461 stack_frame_head
= fra
.me
.prev
;
462 return fra
.me
.REG
[0];
464 val_t
compiling___compiling_icode___I2CCompilerVisitor___local_labels(val_t p0
){
465 struct {struct stack_frame_t me
;} fra
;
468 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
469 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
471 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___local_labels
;
472 fra
.me
.has_broke
= 0;
474 fra
.me
.nitni_local_ref_head
= NULL
;
475 fra
.me
.REG
[0] = NIT_NULL
;
477 /* ./compiling//compiling_icode.nit:103 */
478 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____local_labels(fra
.me
.REG
[0])!=NIT_NULL
);
479 if (UNTAG_Bool(REGB0
)) {
481 nit_abort("Uninitialized attribute %s", "_local_labels", LOCATE_compiling___compiling_icode
, 103);
483 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____local_labels(fra
.me
.REG
[0]);
484 stack_frame_head
= fra
.me
.prev
;
485 return fra
.me
.REG
[0];
487 void compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq(val_t p0
, val_t p1
){
488 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
490 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
491 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
493 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq
;
494 fra
.me
.has_broke
= 0;
496 fra
.me
.nitni_local_ref_head
= NULL
;
497 fra
.me
.REG
[0] = NIT_NULL
;
498 fra
.me
.REG
[1] = NIT_NULL
;
501 /* ./compiling//compiling_icode.nit:103 */
502 ATTR_compiling___compiling_icode___I2CCompilerVisitor____local_labels(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
503 stack_frame_head
= fra
.me
.prev
;
506 val_t
compiling___compiling_icode___I2CCompilerVisitor___escaped_labels(val_t p0
){
507 struct {struct stack_frame_t me
;} fra
;
510 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
511 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
513 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels
;
514 fra
.me
.has_broke
= 0;
516 fra
.me
.nitni_local_ref_head
= NULL
;
517 fra
.me
.REG
[0] = NIT_NULL
;
519 /* ./compiling//compiling_icode.nit:106 */
520 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0])!=NIT_NULL
);
521 if (UNTAG_Bool(REGB0
)) {
523 nit_abort("Uninitialized attribute %s", "_escaped_labels", LOCATE_compiling___compiling_icode
, 106);
525 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]);
526 stack_frame_head
= fra
.me
.prev
;
527 return fra
.me
.REG
[0];
529 void compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq(val_t p0
, val_t p1
){
530 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
532 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
533 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
535 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq
;
536 fra
.me
.has_broke
= 0;
538 fra
.me
.nitni_local_ref_head
= NULL
;
539 fra
.me
.REG
[0] = NIT_NULL
;
540 fra
.me
.REG
[1] = NIT_NULL
;
543 /* ./compiling//compiling_icode.nit:106 */
544 ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
545 stack_frame_head
= fra
.me
.prev
;
548 val_t
compiling___compiling_icode___I2CCompilerVisitor___register_escape_label(val_t p0
, val_t p1
){
549 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
554 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
555 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
557 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___register_escape_label
;
558 fra
.me
.has_broke
= 0;
560 fra
.me
.nitni_local_ref_head
= NULL
;
561 fra
.me
.REG
[0] = NIT_NULL
;
562 fra
.me
.REG
[1] = NIT_NULL
;
563 fra
.me
.REG
[2] = NIT_NULL
;
566 /* ./compiling//compiling_icode.nit:113 */
567 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0])!=NIT_NULL
);
568 if (UNTAG_Bool(REGB0
)) {
570 nit_abort("Uninitialized attribute %s", "_escaped_labels", LOCATE_compiling___compiling_icode
, 113);
572 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]);
573 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
574 if (UNTAG_Bool(REGB0
)) {
575 /* ./compiling//compiling_icode.nit:114 */
576 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0])!=NIT_NULL
);
577 if (UNTAG_Bool(REGB0
)) {
579 nit_abort("Uninitialized attribute %s", "_escaped_labels", LOCATE_compiling___compiling_icode
, 114);
581 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]);
582 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
583 REGB0
= fra
.me
.REG
[2];
586 /* ./compiling//compiling_icode.nit:116 */
587 REGB1
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0])!=NIT_NULL
);
588 if (UNTAG_Bool(REGB1
)) {
590 nit_abort("Uninitialized attribute %s", "_escaped_labels", LOCATE_compiling___compiling_icode
, 116);
592 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]);
593 REGB1
= CALL_standard___collection___abstract_collection___MapRead___length(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
595 /* ./../lib/standard//kernel.nit:235 */
596 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
597 /* ./compiling//compiling_icode.nit:117 */
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
, 117);
603 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]);
604 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB2
);
605 /* ./compiling//compiling_icode.nit:118 */
610 stack_frame_head
= fra
.me
.prev
;
613 void compiling___compiling_icode___I2CCompilerVisitor___add_label(val_t p0
, val_t p1
){
614 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
617 static val_t once_value_1
; /* Once value */
618 static val_t once_value_2
; /* Once value */
619 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
620 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
622 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_label
;
623 fra
.me
.has_broke
= 0;
625 fra
.me
.nitni_local_ref_head
= NULL
;
626 fra
.me
.REG
[0] = NIT_NULL
;
627 fra
.me
.REG
[1] = NIT_NULL
;
628 fra
.me
.REG
[2] = NIT_NULL
;
629 fra
.me
.REG
[3] = NIT_NULL
;
632 /* ./compiling//compiling_icode.nit:125 */
633 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
634 if (UNTAG_Bool(REGB0
)) {
636 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling___compiling_icode
, 125);
638 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
639 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
640 if (UNTAG_Bool(REGB0
)) {
641 /* ./compiling//compiling_icode.nit:126 */
643 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
645 fra
.me
.REG
[3] = BOX_NativeString("");
647 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
648 once_value_1
= fra
.me
.REG
[3];
649 register_static_object(&once_value_1
);
650 } else fra
.me
.REG
[3] = once_value_1
;
651 fra
.me
.REG
[3] = fra
.me
.REG
[3];
652 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
653 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
654 if (UNTAG_Bool(REGB0
)) {
656 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling___compiling_icode
, 126);
658 fra
.me
.REG
[3] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
659 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
660 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
662 fra
.me
.REG
[1] = BOX_NativeString(": while(0);");
664 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
665 once_value_2
= fra
.me
.REG
[1];
666 register_static_object(&once_value_2
);
667 } else fra
.me
.REG
[1] = once_value_2
;
668 fra
.me
.REG
[1] = fra
.me
.REG
[1];
669 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
670 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
671 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
673 stack_frame_head
= fra
.me
.prev
;
676 void compiling___compiling_icode___I2CCompilerVisitor___add_goto(val_t p0
, val_t p1
){
677 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
681 static val_t once_value_1
; /* Once value */
682 static val_t once_value_2
; /* Once value */
683 static val_t once_value_3
; /* Once value */
684 static val_t once_value_4
; /* Once value */
685 static val_t once_value_5
; /* Once value */
686 static val_t once_value_6
; /* Once value */
687 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
688 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
690 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_goto
;
691 fra
.me
.has_broke
= 0;
693 fra
.me
.nitni_local_ref_head
= NULL
;
694 fra
.me
.REG
[0] = NIT_NULL
;
695 fra
.me
.REG
[1] = NIT_NULL
;
696 fra
.me
.REG
[2] = NIT_NULL
;
697 fra
.me
.REG
[3] = NIT_NULL
;
698 fra
.me
.REG
[4] = NIT_NULL
;
701 /* ./compiling//compiling_icode.nit:130 */
702 fra
.me
.REG
[2] = fra
.me
.REG
[0];
703 /* ./compiling//compiling_icode.nit:133 */
704 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
705 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
706 if (UNTAG_Bool(REGB0
)) {
707 /* ./compiling//compiling_icode.nit:134 */
709 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
711 fra
.me
.REG
[4] = BOX_NativeString("goto ");
713 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
714 once_value_1
= fra
.me
.REG
[4];
715 register_static_object(&once_value_1
);
716 } else fra
.me
.REG
[4] = once_value_1
;
717 fra
.me
.REG
[4] = fra
.me
.REG
[4];
718 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
719 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___lab(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
720 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
722 fra
.me
.REG
[4] = BOX_NativeString(";");
724 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
725 once_value_2
= fra
.me
.REG
[4];
726 register_static_object(&once_value_2
);
727 } else fra
.me
.REG
[4] = once_value_2
;
728 fra
.me
.REG
[4] = fra
.me
.REG
[4];
729 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
730 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
731 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
733 /* ./compiling//compiling_icode.nit:136 */
734 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
735 if (UNTAG_Bool(REGB0
)) {
737 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_icode
, 136);
739 /* ./compiling//compiling_icode.nit:137 */
740 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___register_escape_label(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
741 /* ./compiling//compiling_icode.nit:138 */
743 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
745 fra
.me
.REG
[3] = BOX_NativeString("closctx->has_broke = ");
747 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
748 once_value_3
= fra
.me
.REG
[3];
749 register_static_object(&once_value_3
);
750 } else fra
.me
.REG
[3] = once_value_3
;
751 fra
.me
.REG
[3] = fra
.me
.REG
[3];
752 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
753 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
754 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
756 fra
.me
.REG
[3] = BOX_NativeString(";");
758 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
759 once_value_4
= fra
.me
.REG
[3];
760 register_static_object(&once_value_4
);
761 } else fra
.me
.REG
[3] = once_value_4
;
762 fra
.me
.REG
[3] = fra
.me
.REG
[3];
763 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
764 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
765 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
766 /* ./compiling//compiling_icode.nit:139 */
768 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
770 fra
.me
.REG
[3] = BOX_NativeString("goto ");
772 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
773 once_value_5
= fra
.me
.REG
[3];
774 register_static_object(&once_value_5
);
775 } else fra
.me
.REG
[3] = once_value_5
;
776 fra
.me
.REG
[3] = fra
.me
.REG
[3];
777 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
778 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___return_label(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
779 REGB0
= TAG_Bool(fra
.me
.REG
[3]!=NIT_NULL
);
780 if (UNTAG_Bool(REGB0
)) {
782 nit_abort("Cast failed", NULL
, LOCATE_compiling___compiling_icode
, 139);
784 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___lab(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
785 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
787 fra
.me
.REG
[3] = BOX_NativeString(";");
789 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
790 once_value_6
= fra
.me
.REG
[3];
791 register_static_object(&once_value_6
);
792 } else fra
.me
.REG
[3] = once_value_6
;
793 fra
.me
.REG
[3] = fra
.me
.REG
[3];
794 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
795 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
796 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
798 stack_frame_head
= fra
.me
.prev
;
801 val_t
compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq(val_t p0
){
802 struct {struct stack_frame_t me
;} fra
;
805 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
806 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
808 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq
;
809 fra
.me
.has_broke
= 0;
811 fra
.me
.nitni_local_ref_head
= NULL
;
812 fra
.me
.REG
[0] = NIT_NULL
;
814 /* ./compiling//compiling_icode.nit:143 */
815 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____marks_to_seq(fra
.me
.REG
[0])!=NIT_NULL
);
816 if (UNTAG_Bool(REGB0
)) {
818 nit_abort("Uninitialized attribute %s", "_marks_to_seq", LOCATE_compiling___compiling_icode
, 143);
820 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____marks_to_seq(fra
.me
.REG
[0]);
821 stack_frame_head
= fra
.me
.prev
;
822 return fra
.me
.REG
[0];
824 val_t
compiling___compiling_icode___I2CCompilerVisitor___closure(val_t p0
){
825 struct {struct stack_frame_t me
;} fra
;
828 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
829 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
831 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___closure
;
832 fra
.me
.has_broke
= 0;
834 fra
.me
.nitni_local_ref_head
= NULL
;
835 fra
.me
.REG
[0] = NIT_NULL
;
837 /* ./compiling//compiling_icode.nit:146 */
838 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____closure(fra
.me
.REG
[0])!=NIT_NULL
);
839 if (UNTAG_Bool(REGB0
)) {
841 nit_abort("Uninitialized attribute %s", "_closure", LOCATE_compiling___compiling_icode
, 146);
843 REGB0
= ATTR_compiling___compiling_icode___I2CCompilerVisitor____closure(fra
.me
.REG
[0]);
844 stack_frame_head
= fra
.me
.prev
;
847 void compiling___compiling_icode___I2CCompilerVisitor___closure__eq(val_t p0
, val_t p1
){
848 struct {struct stack_frame_t me
;} fra
;
851 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
852 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
854 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___closure__eq
;
855 fra
.me
.has_broke
= 0;
857 fra
.me
.nitni_local_ref_head
= NULL
;
858 fra
.me
.REG
[0] = NIT_NULL
;
861 /* ./compiling//compiling_icode.nit:146 */
862 ATTR_compiling___compiling_icode___I2CCompilerVisitor____closure(fra
.me
.REG
[0]) = REGB0
;
863 stack_frame_head
= fra
.me
.prev
;
866 val_t
compiling___compiling_icode___I2CCompilerVisitor___visitor(val_t p0
){
867 struct {struct stack_frame_t me
;} fra
;
870 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
871 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
873 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___visitor
;
874 fra
.me
.has_broke
= 0;
876 fra
.me
.nitni_local_ref_head
= NULL
;
877 fra
.me
.REG
[0] = NIT_NULL
;
879 /* ./compiling//compiling_icode.nit:149 */
880 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____visitor(fra
.me
.REG
[0])!=NIT_NULL
);
881 if (UNTAG_Bool(REGB0
)) {
883 nit_abort("Uninitialized attribute %s", "_visitor", LOCATE_compiling___compiling_icode
, 149);
885 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____visitor(fra
.me
.REG
[0]);
886 stack_frame_head
= fra
.me
.prev
;
887 return fra
.me
.REG
[0];
889 val_t
compiling___compiling_icode___I2CCompilerVisitor___iroutine(val_t p0
){
890 struct {struct stack_frame_t me
;} fra
;
893 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
894 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
896 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___iroutine
;
897 fra
.me
.has_broke
= 0;
899 fra
.me
.nitni_local_ref_head
= NULL
;
900 fra
.me
.REG
[0] = NIT_NULL
;
902 /* ./compiling//compiling_icode.nit:152 */
903 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____iroutine(fra
.me
.REG
[0])!=NIT_NULL
);
904 if (UNTAG_Bool(REGB0
)) {
906 nit_abort("Uninitialized attribute %s", "_iroutine", LOCATE_compiling___compiling_icode
, 152);
908 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____iroutine(fra
.me
.REG
[0]);
909 stack_frame_head
= fra
.me
.prev
;
910 return fra
.me
.REG
[0];
912 val_t
compiling___compiling_icode___I2CCompilerVisitor___return_label(val_t p0
){
913 struct {struct stack_frame_t me
;} fra
;
915 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
916 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
918 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___return_label
;
919 fra
.me
.has_broke
= 0;
921 fra
.me
.nitni_local_ref_head
= NULL
;
922 fra
.me
.REG
[0] = NIT_NULL
;
924 /* ./compiling//compiling_icode.nit:155 */
925 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____return_label(fra
.me
.REG
[0]);
926 stack_frame_head
= fra
.me
.prev
;
927 return fra
.me
.REG
[0];
929 void compiling___compiling_icode___I2CCompilerVisitor___return_label__eq(val_t p0
, val_t p1
){
930 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
932 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
933 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
935 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___return_label__eq
;
936 fra
.me
.has_broke
= 0;
938 fra
.me
.nitni_local_ref_head
= NULL
;
939 fra
.me
.REG
[0] = NIT_NULL
;
940 fra
.me
.REG
[1] = NIT_NULL
;
943 /* ./compiling//compiling_icode.nit:155 */
944 ATTR_compiling___compiling_icode___I2CCompilerVisitor____return_label(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
945 stack_frame_head
= fra
.me
.prev
;
948 void compiling___compiling_icode___I2CCompilerVisitor___add_decl(val_t p0
, val_t p1
){
949 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
951 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
952 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
954 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_decl
;
955 fra
.me
.has_broke
= 0;
957 fra
.me
.nitni_local_ref_head
= NULL
;
958 fra
.me
.REG
[0] = NIT_NULL
;
959 fra
.me
.REG
[1] = NIT_NULL
;
962 /* ./compiling//compiling_icode.nit:160 */
963 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
964 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
965 stack_frame_head
= fra
.me
.prev
;
968 val_t
compiling___compiling_icode___I2CCompilerVisitor___new_instr(val_t p0
){
969 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
973 static val_t once_value_1
; /* Once value */
974 static val_t once_value_2
; /* Once value */
975 static val_t once_value_3
; /* Once value */
976 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
977 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
979 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___new_instr
;
980 fra
.me
.has_broke
= 0;
982 fra
.me
.nitni_local_ref_head
= NULL
;
983 fra
.me
.REG
[0] = NIT_NULL
;
984 fra
.me
.REG
[1] = NIT_NULL
;
985 fra
.me
.REG
[2] = NIT_NULL
;
986 fra
.me
.REG
[3] = NIT_NULL
;
988 /* ./compiling//compiling_icode.nit:167 */
989 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
990 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
991 /* ./compiling//compiling_icode.nit:168 */
992 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____next_location(fra
.me
.REG
[0]);
993 /* ./compiling//compiling_icode.nit:169 */
994 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
995 if (UNTAG_Bool(REGB0
)) {
997 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
998 if (UNTAG_Bool(REGB1
)) {
999 REGB1
= TAG_Bool(false);
1002 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1006 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1007 if (UNTAG_Bool(REGB0
)) {
1008 /* ./compiling//compiling_icode.nit:170 */
1009 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1010 CALL_compiling___compiling_base___CompilerVisitor___add_indent(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1011 /* ./compiling//compiling_icode.nit:171 */
1012 if (!once_value_1
) {
1013 fra
.me
.REG
[3] = BOX_NativeString("/* ");
1015 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1016 once_value_1
= fra
.me
.REG
[3];
1017 register_static_object(&once_value_1
);
1018 } else fra
.me
.REG
[3] = once_value_1
;
1019 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1020 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1021 /* ./compiling//compiling_icode.nit:172 */
1022 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1023 if (UNTAG_Bool(REGB0
)) {
1024 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 172);
1026 fra
.me
.REG
[3] = CALL_location___Location___file(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1027 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1028 if (UNTAG_Bool(REGB0
)) {
1029 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 172);
1031 fra
.me
.REG
[3] = CALL_location___SourceFile___filename(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1032 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1033 /* ./compiling//compiling_icode.nit:173 */
1034 if (!once_value_2
) {
1035 fra
.me
.REG
[3] = BOX_NativeString(":");
1037 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1038 once_value_2
= fra
.me
.REG
[3];
1039 register_static_object(&once_value_2
);
1040 } else fra
.me
.REG
[3] = once_value_2
;
1041 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1042 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1043 /* ./compiling//compiling_icode.nit:174 */
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
, 174);
1048 REGB0
= CALL_location___Location___line_start(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1049 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
1050 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1051 /* ./compiling//compiling_icode.nit:175 */
1052 if (!once_value_3
) {
1053 fra
.me
.REG
[2] = BOX_NativeString(" */\n");
1055 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1056 once_value_3
= fra
.me
.REG
[2];
1057 register_static_object(&once_value_3
);
1058 } else fra
.me
.REG
[2] = once_value_3
;
1059 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1060 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1061 /* ./compiling//compiling_icode.nit:176 */
1062 ATTR_compiling___compiling_icode___I2CCompilerVisitor____next_location(fra
.me
.REG
[0]) = NIT_NULL
;
1064 /* ./compiling//compiling_icode.nit:178 */
1065 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1066 CALL_compiling___compiling_base___CompilerVisitor___add_indent(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1067 /* ./compiling//compiling_icode.nit:179 */
1070 stack_frame_head
= fra
.me
.prev
;
1071 return fra
.me
.REG
[1];
1073 void compiling___compiling_icode___I2CCompilerVisitor___add_instr(val_t p0
, val_t p1
){
1074 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1077 static val_t once_value_1
; /* Once value */
1078 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1079 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1081 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_instr
;
1082 fra
.me
.has_broke
= 0;
1083 fra
.me
.REG_size
= 2;
1084 fra
.me
.nitni_local_ref_head
= NULL
;
1085 fra
.me
.REG
[0] = NIT_NULL
;
1086 fra
.me
.REG
[1] = NIT_NULL
;
1089 /* ./compiling//compiling_icode.nit:184 */
1090 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1091 fra
.me
.REG
[1] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1092 if (!once_value_1
) {
1093 fra
.me
.REG
[0] = BOX_NativeString("\n");
1095 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1096 once_value_1
= fra
.me
.REG
[0];
1097 register_static_object(&once_value_1
);
1098 } else fra
.me
.REG
[0] = once_value_1
;
1099 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1100 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1101 stack_frame_head
= fra
.me
.prev
;
1104 void compiling___compiling_icode___I2CCompilerVisitor___indent(val_t p0
){
1105 struct {struct stack_frame_t me
;} fra
;
1107 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1108 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1110 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___indent
;
1111 fra
.me
.has_broke
= 0;
1112 fra
.me
.REG_size
= 1;
1113 fra
.me
.nitni_local_ref_head
= NULL
;
1114 fra
.me
.REG
[0] = NIT_NULL
;
1116 /* ./compiling//compiling_icode.nit:189 */
1117 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1118 CALL_compiling___compiling_base___CompilerVisitor___indent(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1119 stack_frame_head
= fra
.me
.prev
;
1122 void compiling___compiling_icode___I2CCompilerVisitor___unindent(val_t p0
){
1123 struct {struct stack_frame_t me
;} fra
;
1125 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1126 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1128 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___unindent
;
1129 fra
.me
.has_broke
= 0;
1130 fra
.me
.REG_size
= 1;
1131 fra
.me
.nitni_local_ref_head
= NULL
;
1132 fra
.me
.REG
[0] = NIT_NULL
;
1134 /* ./compiling//compiling_icode.nit:194 */
1135 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1136 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1137 stack_frame_head
= fra
.me
.prev
;
1140 void compiling___compiling_icode___I2CCompilerVisitor___add_assignment(val_t p0
, val_t p1
, val_t p2
){
1141 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1143 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1144 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1146 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_assignment
;
1147 fra
.me
.has_broke
= 0;
1148 fra
.me
.REG_size
= 3;
1149 fra
.me
.nitni_local_ref_head
= NULL
;
1150 fra
.me
.REG
[0] = NIT_NULL
;
1151 fra
.me
.REG
[1] = NIT_NULL
;
1152 fra
.me
.REG
[2] = NIT_NULL
;
1156 /* ./compiling//compiling_icode.nit:199 */
1157 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1158 CALL_compiling___compiling_base___CompilerVisitor___add_assignment(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
1159 stack_frame_head
= fra
.me
.prev
;
1162 void compiling___compiling_icode___I2CCompilerVisitor___add_location(val_t p0
, val_t p1
){
1163 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1168 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1169 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1171 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_location
;
1172 fra
.me
.has_broke
= 0;
1173 fra
.me
.REG_size
= 5;
1174 fra
.me
.nitni_local_ref_head
= NULL
;
1175 fra
.me
.REG
[0] = NIT_NULL
;
1176 fra
.me
.REG
[1] = NIT_NULL
;
1177 fra
.me
.REG
[2] = NIT_NULL
;
1178 fra
.me
.REG
[3] = NIT_NULL
;
1179 fra
.me
.REG
[4] = NIT_NULL
;
1182 /* ./compiling//compiling_icode.nit:209 */
1183 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_location(fra
.me
.REG
[0]);
1184 /* ./compiling//compiling_icode.nit:210 */
1185 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1186 if (UNTAG_Bool(REGB0
)) {
1188 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1189 if (UNTAG_Bool(REGB1
)) {
1190 REGB1
= TAG_Bool(false);
1193 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1197 if (UNTAG_Bool(REGB0
)) {
1198 REGB0
= TAG_Bool(true);
1200 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1201 if (UNTAG_Bool(REGB1
)) {
1203 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1204 if (UNTAG_Bool(REGB2
)) {
1205 REGB2
= TAG_Bool(false);
1208 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1214 if (UNTAG_Bool(REGB0
)) {
1217 /* ./compiling//compiling_icode.nit:211 */
1218 ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_location(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1219 /* ./compiling//compiling_icode.nit:212 */
1220 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1221 if (UNTAG_Bool(REGB0
)) {
1223 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1224 if (UNTAG_Bool(REGB1
)) {
1225 REGB1
= TAG_Bool(false);
1228 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1232 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1233 if (UNTAG_Bool(REGB0
)) {
1234 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1235 if (UNTAG_Bool(REGB0
)) {
1236 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 212);
1238 fra
.me
.REG
[3] = CALL_location___Location___file(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1239 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1240 if (UNTAG_Bool(REGB0
)) {
1241 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 212);
1243 fra
.me
.REG
[4] = CALL_location___Location___file(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1244 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[3],fra
.me
.REG
[4]));
1245 if (UNTAG_Bool(REGB0
)) {
1247 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1248 if (UNTAG_Bool(REGB1
)) {
1249 REGB1
= TAG_Bool(false);
1252 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1257 REGB1
= TAG_Bool(false);
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 REGB0
= CALL_location___Location___line_start(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1266 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1267 if (UNTAG_Bool(REGB1
)) {
1268 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 212);
1270 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1271 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
1272 if (UNTAG_Bool(REGB2
)) {
1274 /* ./../lib/standard//kernel.nit:227 */
1275 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
1276 /* ./compiling//compiling_icode.nit:212 */
1280 REGB1
= TAG_Bool(false);
1283 if (UNTAG_Bool(REGB2
)) {
1284 /* ./compiling//compiling_icode.nit:213 */
1287 /* ./compiling//compiling_icode.nit:215 */
1288 ATTR_compiling___compiling_icode___I2CCompilerVisitor____next_location(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1291 stack_frame_head
= fra
.me
.prev
;
1294 val_t
compiling___compiling_icode___I2CCompilerVisitor___basecname(val_t p0
){
1295 struct {struct stack_frame_t me
;} fra
;
1298 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1299 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1301 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___basecname
;
1302 fra
.me
.has_broke
= 0;
1303 fra
.me
.REG_size
= 1;
1304 fra
.me
.nitni_local_ref_head
= NULL
;
1305 fra
.me
.REG
[0] = NIT_NULL
;
1307 /* ./compiling//compiling_icode.nit:219 */
1308 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____basecname(fra
.me
.REG
[0])!=NIT_NULL
);
1309 if (UNTAG_Bool(REGB0
)) {
1311 nit_abort("Uninitialized attribute %s", "_basecname", LOCATE_compiling___compiling_icode
, 219);
1313 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____basecname(fra
.me
.REG
[0]);
1314 stack_frame_head
= fra
.me
.prev
;
1315 return fra
.me
.REG
[0];
1317 void compiling___compiling_icode___I2CCompilerVisitor___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1318 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___compiling_icode___I2CCompilerVisitor
].i
;
1319 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1321 if (init_table
[itpos0
]) return;
1322 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1323 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1325 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___init
;
1326 fra
.me
.has_broke
= 0;
1327 fra
.me
.REG_size
= 4;
1328 fra
.me
.nitni_local_ref_head
= NULL
;
1329 fra
.me
.REG
[0] = NIT_NULL
;
1330 fra
.me
.REG
[1] = NIT_NULL
;
1331 fra
.me
.REG
[2] = NIT_NULL
;
1332 fra
.me
.REG
[3] = NIT_NULL
;
1337 /* ./compiling//compiling_icode.nit:224 */
1338 ATTR_compiling___compiling_icode___I2CCompilerVisitor____visitor(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1339 /* ./compiling//compiling_icode.nit:225 */
1340 ATTR_compiling___compiling_icode___I2CCompilerVisitor____iroutine(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
1341 /* ./compiling//compiling_icode.nit:226 */
1342 ATTR_compiling___compiling_icode___I2CCompilerVisitor____basecname(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
1343 stack_frame_head
= fra
.me
.prev
;
1344 init_table
[itpos0
] = 1;
1347 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
){
1348 struct {struct stack_frame_t me
; val_t MORE_REG
[11];} fra
;
1356 static val_t once_value_1
; /* Once value */
1357 static val_t once_value_2
; /* Once value */
1358 static val_t once_value_3
; /* Once value */
1359 static val_t once_value_4
; /* Once value */
1360 static val_t once_value_6
; /* Once value */
1361 static val_t once_value_7
; /* Once value */
1362 static val_t once_value_8
; /* Once value */
1363 static val_t once_value_9
; /* Once value */
1364 static val_t once_value_10
; /* Once value */
1365 static val_t once_value_11
; /* Once value */
1366 static val_t once_value_13
; /* Once value */
1367 static val_t once_value_14
; /* Once value */
1368 static val_t once_value_15
; /* Once value */
1369 static val_t once_value_16
; /* Once value */
1370 static val_t once_value_17
; /* Once value */
1371 static val_t once_value_18
; /* Once value */
1372 static val_t once_value_19
; /* Once value */
1373 static val_t once_value_20
; /* Once value */
1374 static val_t once_value_21
; /* Once value */
1375 static val_t once_value_22
; /* Once value */
1376 static val_t once_value_23
; /* Once value */
1377 static val_t once_value_25
; /* Once value */
1378 static val_t once_value_26
; /* Once value */
1379 static val_t once_value_27
; /* Once value */
1380 static val_t once_value_28
; /* Once value */
1381 static val_t once_value_29
; /* Once value */
1382 static val_t once_value_30
; /* Once value */
1383 static val_t once_value_31
; /* Once value */
1384 static val_t once_value_32
; /* Once value */
1385 static val_t once_value_33
; /* Once value */
1386 static val_t once_value_34
; /* Once value */
1387 static val_t once_value_35
; /* Once value */
1388 static val_t once_value_36
; /* Once value */
1389 static val_t once_value_37
; /* Once value */
1390 static val_t once_value_38
; /* Once value */
1391 static val_t once_value_39
; /* Once value */
1392 static val_t once_value_40
; /* Once value */
1393 static val_t once_value_41
; /* Once value */
1394 static val_t once_value_42
; /* Once value */
1395 static val_t once_value_43
; /* Once value */
1396 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1397 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1399 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IRoutine___compile_signature_to_c
;
1400 fra
.me
.has_broke
= 0;
1401 fra
.me
.REG_size
= 12;
1402 fra
.me
.nitni_local_ref_head
= NULL
;
1403 fra
.me
.REG
[0] = NIT_NULL
;
1404 fra
.me
.REG
[1] = NIT_NULL
;
1405 fra
.me
.REG
[2] = NIT_NULL
;
1406 fra
.me
.REG
[3] = NIT_NULL
;
1407 fra
.me
.REG
[4] = NIT_NULL
;
1408 fra
.me
.REG
[5] = NIT_NULL
;
1409 fra
.me
.REG
[6] = NIT_NULL
;
1410 fra
.me
.REG
[7] = NIT_NULL
;
1411 fra
.me
.REG
[8] = NIT_NULL
;
1412 fra
.me
.REG
[9] = NIT_NULL
;
1413 fra
.me
.REG
[10] = NIT_NULL
;
1414 fra
.me
.REG
[11] = NIT_NULL
;
1421 /* ./compiling//compiling_icode.nit:237 */
1422 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___init();
1423 /* ./compiling//compiling_icode.nit:238 */
1424 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___init();
1425 /* ./compiling//compiling_icode.nit:239 */
1426 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1427 if (UNTAG_Bool(REGB0
)) {
1429 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1430 if (UNTAG_Bool(REGB1
)) {
1431 REGB1
= TAG_Bool(false);
1434 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
1438 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1439 if (UNTAG_Bool(REGB0
)) {
1440 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4]);
1442 /* ./compiling//compiling_icode.nit:240 */
1444 fra
.me
.REG
[4] = CALL_icode___icode_base___IRoutine___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1445 REGB1
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1446 /* ./../lib/standard//kernel.nit:352 */
1448 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1449 if (UNTAG_Bool(REGB2
)) {
1451 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1453 /* ./../lib/standard//kernel.nit:232 */
1454 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1455 /* ./../lib/standard//kernel.nit:352 */
1456 if (UNTAG_Bool(REGB2
)) {
1457 /* ./compiling//compiling_icode.nit:240 */
1459 /* ./compiling//compiling_icode.nit:241 */
1461 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
1462 if (!once_value_1
) {
1463 fra
.me
.REG
[8] = BOX_NativeString("p");
1465 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1466 once_value_1
= fra
.me
.REG
[8];
1467 register_static_object(&once_value_1
);
1468 } else fra
.me
.REG
[8] = once_value_1
;
1469 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1470 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1471 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
1472 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1473 if (!once_value_2
) {
1474 fra
.me
.REG
[8] = BOX_NativeString("");
1476 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1477 once_value_2
= fra
.me
.REG
[8];
1478 register_static_object(&once_value_2
);
1479 } else fra
.me
.REG
[8] = once_value_2
;
1480 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1481 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1482 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1483 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
1484 /* ./compiling//compiling_icode.nit:242 */
1486 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
1487 if (!once_value_3
) {
1488 fra
.me
.REG
[8] = BOX_NativeString("val_t p");
1490 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1491 once_value_3
= fra
.me
.REG
[8];
1492 register_static_object(&once_value_3
);
1493 } else fra
.me
.REG
[8] = once_value_3
;
1494 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1495 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1496 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
1497 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1498 if (!once_value_4
) {
1499 fra
.me
.REG
[8] = BOX_NativeString("");
1501 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
1502 once_value_4
= fra
.me
.REG
[8];
1503 register_static_object(&once_value_4
);
1504 } else fra
.me
.REG
[8] = once_value_4
;
1505 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1506 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1507 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1508 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4]);
1509 /* ./../lib/standard//kernel.nit:354 */
1511 /* ./../lib/standard//kernel.nit:235 */
1512 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1513 /* ./../lib/standard//kernel.nit:354 */
1516 /* ./../lib/standard//kernel.nit:352 */
1521 /* ./compiling//compiling_icode.nit:244 */
1522 fra
.me
.REG
[4] = CALL_icode___icode_base___IRoutine___closure_decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1523 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1524 if (UNTAG_Bool(REGB0
)) {
1526 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1527 if (UNTAG_Bool(REGB1
)) {
1528 REGB1
= TAG_Bool(false);
1531 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
1535 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1536 if (UNTAG_Bool(REGB0
)) {
1537 /* ./compiling//compiling_icode.nit:245 */
1538 if (!once_value_6
) {
1539 fra
.me
.REG
[4] = BOX_NativeString("struct stack_frame_t *closctx_param");
1540 REGB0
= TAG_Int(35);
1541 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1542 once_value_6
= fra
.me
.REG
[4];
1543 register_static_object(&once_value_6
);
1544 } else fra
.me
.REG
[4] = once_value_6
;
1545 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1546 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4]);
1547 /* ./compiling//compiling_icode.nit:246 */
1549 fra
.me
.REG
[4] = CALL_icode___icode_base___IRoutine___closure_decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1550 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1551 if (UNTAG_Bool(REGB1
)) {
1552 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 246);
1554 REGB1
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1555 /* ./../lib/standard//kernel.nit:352 */
1557 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1558 if (UNTAG_Bool(REGB2
)) {
1560 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1562 /* ./../lib/standard//kernel.nit:232 */
1563 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1564 /* ./../lib/standard//kernel.nit:352 */
1565 if (UNTAG_Bool(REGB2
)) {
1566 /* ./compiling//compiling_icode.nit:246 */
1568 /* ./compiling//compiling_icode.nit:247 */
1570 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
1571 if (!once_value_7
) {
1572 fra
.me
.REG
[8] = BOX_NativeString("CLOS_");
1574 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1575 once_value_7
= fra
.me
.REG
[8];
1576 register_static_object(&once_value_7
);
1577 } else fra
.me
.REG
[8] = once_value_7
;
1578 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1579 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1580 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1581 if (!once_value_8
) {
1582 fra
.me
.REG
[8] = BOX_NativeString("_");
1584 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1585 once_value_8
= fra
.me
.REG
[8];
1586 register_static_object(&once_value_8
);
1587 } else fra
.me
.REG
[8] = once_value_8
;
1588 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1589 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1590 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
1591 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1592 if (!once_value_9
) {
1593 fra
.me
.REG
[8] = BOX_NativeString("");
1595 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1596 once_value_9
= fra
.me
.REG
[8];
1597 register_static_object(&once_value_9
);
1598 } else fra
.me
.REG
[8] = once_value_9
;
1599 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1600 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1601 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1602 /* ./compiling//compiling_icode.nit:248 */
1603 fra
.me
.REG
[8] = CALL_icode___icode_base___IRoutine___closure_decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1604 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1605 if (UNTAG_Bool(REGB3
)) {
1606 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 248);
1608 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB2
);
1609 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1610 if (UNTAG_Bool(REGB3
)) {
1611 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 248);
1613 fra
.me
.REG
[8] = CALL_icode___icode_base___IClosureDecl___closure(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1614 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMClosure___signature(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1615 /* ./compiling//compiling_icode.nit:249 */
1616 fra
.me
.REG
[9] = NEW_Array_standard___collection___array___Array___init();
1617 /* ./compiling//compiling_icode.nit:250 */
1618 if (!once_value_10
) {
1619 fra
.me
.REG
[10] = BOX_NativeString("struct stack_frame_t *");
1620 REGB3
= TAG_Int(22);
1621 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB3
);
1622 once_value_10
= fra
.me
.REG
[10];
1623 register_static_object(&once_value_10
);
1624 } else fra
.me
.REG
[10] = once_value_10
;
1625 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1626 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1627 /* ./compiling//compiling_icode.nit:251 */
1629 REGB4
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1630 /* ./../lib/standard//kernel.nit:352 */
1632 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1633 if (UNTAG_Bool(REGB5
)) {
1635 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1637 /* ./../lib/standard//kernel.nit:232 */
1638 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
1639 /* ./../lib/standard//kernel.nit:352 */
1640 if (UNTAG_Bool(REGB5
)) {
1641 /* ./compiling//compiling_icode.nit:252 */
1642 if (!once_value_11
) {
1643 fra
.me
.REG
[10] = BOX_NativeString("val_t");
1645 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB5
);
1646 once_value_11
= fra
.me
.REG
[10];
1647 register_static_object(&once_value_11
);
1648 } else fra
.me
.REG
[10] = once_value_11
;
1649 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1650 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1651 /* ./../lib/standard//kernel.nit:354 */
1653 /* ./../lib/standard//kernel.nit:235 */
1654 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB5
));
1655 /* ./../lib/standard//kernel.nit:354 */
1658 /* ./../lib/standard//kernel.nit:352 */
1663 /* ./compiling//compiling_icode.nit:254 */
1664 if (!once_value_13
) {
1665 fra
.me
.REG
[10] = BOX_NativeString("void");
1667 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB3
);
1668 once_value_13
= fra
.me
.REG
[10];
1669 register_static_object(&once_value_13
);
1670 } else fra
.me
.REG
[10] = once_value_13
;
1671 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1672 /* ./compiling//compiling_icode.nit:255 */
1673 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1674 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1675 if (UNTAG_Bool(REGB3
)) {
1677 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1678 if (UNTAG_Bool(REGB4
)) {
1679 REGB4
= TAG_Bool(false);
1682 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
1686 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
1687 if (UNTAG_Bool(REGB3
)) {
1688 if (!once_value_14
) {
1689 fra
.me
.REG
[8] = BOX_NativeString("val_t");
1691 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1692 once_value_14
= fra
.me
.REG
[8];
1693 register_static_object(&once_value_14
);
1694 } else fra
.me
.REG
[8] = once_value_14
;
1695 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1696 fra
.me
.REG
[10] = fra
.me
.REG
[8];
1698 /* ./compiling//compiling_icode.nit:256 */
1700 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
1701 if (!once_value_15
) {
1702 fra
.me
.REG
[11] = BOX_NativeString("typedef ");
1704 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB3
);
1705 once_value_15
= fra
.me
.REG
[11];
1706 register_static_object(&once_value_15
);
1707 } else fra
.me
.REG
[11] = once_value_15
;
1708 fra
.me
.REG
[11] = fra
.me
.REG
[11];
1709 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[11]);
1710 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
1711 if (!once_value_16
) {
1712 fra
.me
.REG
[10] = BOX_NativeString(" (*");
1714 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB3
);
1715 once_value_16
= fra
.me
.REG
[10];
1716 register_static_object(&once_value_16
);
1717 } else fra
.me
.REG
[10] = once_value_16
;
1718 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1719 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
1720 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1721 if (!once_value_17
) {
1722 fra
.me
.REG
[4] = BOX_NativeString(")(");
1724 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
1725 once_value_17
= fra
.me
.REG
[4];
1726 register_static_object(&once_value_17
);
1727 } else fra
.me
.REG
[4] = once_value_17
;
1728 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1729 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1730 if (!once_value_18
) {
1731 fra
.me
.REG
[4] = BOX_NativeString(", ");
1733 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
1734 once_value_18
= fra
.me
.REG
[4];
1735 register_static_object(&once_value_18
);
1736 } else fra
.me
.REG
[4] = once_value_18
;
1737 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1738 fra
.me
.REG
[4] = CALL_standard___string___Collection___join(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[4]);
1739 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1740 if (!once_value_19
) {
1741 fra
.me
.REG
[4] = BOX_NativeString(");");
1743 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
1744 once_value_19
= fra
.me
.REG
[4];
1745 register_static_object(&once_value_19
);
1746 } else fra
.me
.REG
[4] = once_value_19
;
1747 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1748 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1749 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1750 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
1751 /* ./compiling//compiling_icode.nit:257 */
1753 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
1754 if (!once_value_20
) {
1755 fra
.me
.REG
[4] = BOX_NativeString("clos_fun");
1757 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
1758 once_value_20
= fra
.me
.REG
[4];
1759 register_static_object(&once_value_20
);
1760 } else fra
.me
.REG
[4] = once_value_20
;
1761 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1762 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1763 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
1764 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1765 if (!once_value_21
) {
1766 fra
.me
.REG
[4] = BOX_NativeString("");
1768 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
1769 once_value_21
= fra
.me
.REG
[4];
1770 register_static_object(&once_value_21
);
1771 } else fra
.me
.REG
[4] = once_value_21
;
1772 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1773 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1774 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1775 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
1776 /* ./compiling//compiling_icode.nit:258 */
1778 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
1779 if (!once_value_22
) {
1780 fra
.me
.REG
[4] = BOX_NativeString("fun_t clos_fun");
1781 REGB3
= TAG_Int(14);
1782 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
1783 once_value_22
= fra
.me
.REG
[4];
1784 register_static_object(&once_value_22
);
1785 } else fra
.me
.REG
[4] = once_value_22
;
1786 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1787 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1788 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
1789 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1790 if (!once_value_23
) {
1791 fra
.me
.REG
[4] = BOX_NativeString("");
1793 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
1794 once_value_23
= fra
.me
.REG
[4];
1795 register_static_object(&once_value_23
);
1796 } else fra
.me
.REG
[4] = once_value_23
;
1797 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1798 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1799 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1800 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1801 /* ./../lib/standard//kernel.nit:354 */
1803 /* ./../lib/standard//kernel.nit:235 */
1804 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1805 /* ./../lib/standard//kernel.nit:354 */
1808 /* ./../lib/standard//kernel.nit:352 */
1814 /* ./compiling//compiling_icode.nit:261 */
1815 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1816 if (UNTAG_Bool(REGB0
)) {
1818 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1819 if (UNTAG_Bool(REGB1
)) {
1820 REGB1
= TAG_Bool(false);
1823 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
1827 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1828 if (UNTAG_Bool(REGB0
)) {
1829 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[5]);
1831 /* ./compiling//compiling_icode.nit:262 */
1832 if (!once_value_25
) {
1833 fra
.me
.REG
[5] = BOX_NativeString("void");
1835 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
1836 once_value_25
= fra
.me
.REG
[5];
1837 register_static_object(&once_value_25
);
1838 } else fra
.me
.REG
[5] = once_value_25
;
1839 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1840 /* ./compiling//compiling_icode.nit:263 */
1841 fra
.me
.REG
[0] = CALL_icode___icode_base___IRoutine___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1842 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1843 if (UNTAG_Bool(REGB0
)) {
1845 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1846 if (UNTAG_Bool(REGB1
)) {
1847 REGB1
= TAG_Bool(false);
1850 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
1854 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1855 if (UNTAG_Bool(REGB0
)) {
1856 if (!once_value_26
) {
1857 fra
.me
.REG
[0] = BOX_NativeString("val_t");
1859 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1860 once_value_26
= fra
.me
.REG
[0];
1861 register_static_object(&once_value_26
);
1862 } else fra
.me
.REG
[0] = once_value_26
;
1863 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1864 fra
.me
.REG
[5] = fra
.me
.REG
[0];
1866 /* ./compiling//compiling_icode.nit:265 */
1867 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1868 if (UNTAG_Bool(REGB0
)) {
1869 /* ./compiling//compiling_icode.nit:266 */
1870 if (!once_value_27
) {
1871 fra
.me
.REG
[0] = BOX_NativeString("void");
1873 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1874 once_value_27
= fra
.me
.REG
[0];
1875 register_static_object(&once_value_27
);
1876 } else fra
.me
.REG
[0] = once_value_27
;
1877 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1879 /* ./compiling//compiling_icode.nit:268 */
1880 if (!once_value_28
) {
1881 fra
.me
.REG
[8] = BOX_NativeString(", ");
1883 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
1884 once_value_28
= fra
.me
.REG
[8];
1885 register_static_object(&once_value_28
);
1886 } else fra
.me
.REG
[8] = once_value_28
;
1887 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1888 fra
.me
.REG
[8] = CALL_standard___string___Collection___join(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1889 fra
.me
.REG
[0] = fra
.me
.REG
[8];
1891 /* ./compiling//compiling_icode.nit:270 */
1892 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1893 if (UNTAG_Bool(REGB0
)) {
1895 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1896 if (UNTAG_Bool(REGB1
)) {
1897 REGB1
= TAG_Bool(false);
1900 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1904 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1905 if (UNTAG_Bool(REGB0
)) {
1907 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1908 if (!once_value_29
) {
1909 fra
.me
.REG
[7] = BOX_NativeString("static const char * const LOCATE_");
1910 REGB0
= TAG_Int(33);
1911 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
1912 once_value_29
= fra
.me
.REG
[7];
1913 register_static_object(&once_value_29
);
1914 } else fra
.me
.REG
[7] = once_value_29
;
1915 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1916 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1917 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
1918 if (!once_value_30
) {
1919 fra
.me
.REG
[7] = BOX_NativeString(" = \"");
1921 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
1922 once_value_30
= fra
.me
.REG
[7];
1923 register_static_object(&once_value_30
);
1924 } else fra
.me
.REG
[7] = once_value_30
;
1925 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1926 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1927 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1928 if (!once_value_31
) {
1929 fra
.me
.REG
[3] = BOX_NativeString("\";");
1931 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1932 once_value_31
= fra
.me
.REG
[3];
1933 register_static_object(&once_value_31
);
1934 } else fra
.me
.REG
[3] = once_value_31
;
1935 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1936 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1937 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1938 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
1940 /* ./compiling//compiling_icode.nit:271 */
1942 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1943 if (!once_value_32
) {
1944 fra
.me
.REG
[3] = BOX_NativeString("");
1946 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1947 once_value_32
= fra
.me
.REG
[3];
1948 register_static_object(&once_value_32
);
1949 } else fra
.me
.REG
[3] = once_value_32
;
1950 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1951 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1952 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
1953 if (!once_value_33
) {
1954 fra
.me
.REG
[3] = BOX_NativeString(" ");
1956 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1957 once_value_33
= fra
.me
.REG
[3];
1958 register_static_object(&once_value_33
);
1959 } else fra
.me
.REG
[3] = once_value_33
;
1960 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1961 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1962 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
1963 if (!once_value_34
) {
1964 fra
.me
.REG
[3] = BOX_NativeString("(");
1966 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1967 once_value_34
= fra
.me
.REG
[3];
1968 register_static_object(&once_value_34
);
1969 } else fra
.me
.REG
[3] = once_value_34
;
1970 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1971 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1972 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
1973 if (!once_value_35
) {
1974 fra
.me
.REG
[3] = BOX_NativeString(");");
1976 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1977 once_value_35
= fra
.me
.REG
[3];
1978 register_static_object(&once_value_35
);
1979 } else fra
.me
.REG
[3] = once_value_35
;
1980 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1981 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1982 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1983 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
1984 /* ./compiling//compiling_icode.nit:272 */
1986 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1987 if (!once_value_36
) {
1988 fra
.me
.REG
[3] = BOX_NativeString("typedef ");
1990 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1991 once_value_36
= fra
.me
.REG
[3];
1992 register_static_object(&once_value_36
);
1993 } else fra
.me
.REG
[3] = once_value_36
;
1994 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1995 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1996 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
1997 if (!once_value_37
) {
1998 fra
.me
.REG
[3] = BOX_NativeString(" (*");
2000 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2001 once_value_37
= fra
.me
.REG
[3];
2002 register_static_object(&once_value_37
);
2003 } else fra
.me
.REG
[3] = once_value_37
;
2004 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2005 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
2006 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
2007 if (!once_value_38
) {
2008 fra
.me
.REG
[3] = BOX_NativeString("_t)(");
2010 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2011 once_value_38
= fra
.me
.REG
[3];
2012 register_static_object(&once_value_38
);
2013 } else fra
.me
.REG
[3] = once_value_38
;
2014 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2015 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
2016 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
2017 if (!once_value_39
) {
2018 fra
.me
.REG
[3] = BOX_NativeString(");");
2020 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2021 once_value_39
= fra
.me
.REG
[3];
2022 register_static_object(&once_value_39
);
2023 } else fra
.me
.REG
[3] = once_value_39
;
2024 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2025 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
2026 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
2027 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
2028 /* ./compiling//compiling_icode.nit:273 */
2030 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2031 if (!once_value_40
) {
2032 fra
.me
.REG
[3] = BOX_NativeString("");
2034 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2035 once_value_40
= fra
.me
.REG
[3];
2036 register_static_object(&once_value_40
);
2037 } else fra
.me
.REG
[3] = once_value_40
;
2038 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2039 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
2040 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
2041 if (!once_value_41
) {
2042 fra
.me
.REG
[5] = BOX_NativeString(" ");
2044 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2045 once_value_41
= fra
.me
.REG
[5];
2046 register_static_object(&once_value_41
);
2047 } else fra
.me
.REG
[5] = once_value_41
;
2048 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2049 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
2050 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
2051 if (!once_value_42
) {
2052 fra
.me
.REG
[2] = BOX_NativeString("(");
2054 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2055 once_value_42
= fra
.me
.REG
[2];
2056 register_static_object(&once_value_42
);
2057 } else fra
.me
.REG
[2] = once_value_42
;
2058 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2059 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
2060 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
2061 if (!once_value_43
) {
2062 fra
.me
.REG
[0] = BOX_NativeString("){");
2064 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2065 once_value_43
= fra
.me
.REG
[0];
2066 register_static_object(&once_value_43
);
2067 } else fra
.me
.REG
[0] = once_value_43
;
2068 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2069 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
2070 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
2071 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
2072 /* ./compiling//compiling_icode.nit:274 */
2073 CALL_compiling___compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2074 /* ./compiling//compiling_icode.nit:275 */
2077 stack_frame_head
= fra
.me
.prev
;
2078 return fra
.me
.REG
[6];
2080 val_t
compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0
, val_t p1
, val_t p2
){
2081 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
2089 static val_t once_value_1
; /* Once value */
2090 static val_t once_value_2
; /* Once value */
2091 static val_t once_value_3
; /* Once value */
2092 static val_t once_value_4
; /* Once value */
2093 static val_t once_value_5
; /* Once value */
2094 static val_t once_value_6
; /* Once value */
2095 static val_t once_value_7
; /* Once value */
2096 static val_t once_value_8
; /* Once value */
2097 static val_t once_value_9
; /* Once value */
2098 static val_t once_value_10
; /* Once value */
2099 static val_t once_value_11
; /* Once value */
2100 static val_t once_value_12
; /* Once value */
2101 static val_t once_value_13
; /* Once value */
2102 static val_t once_value_14
; /* Once value */
2103 static val_t once_value_15
; /* Once value */
2104 static val_t once_value_16
; /* Once value */
2105 static val_t once_value_18
; /* Once value */
2106 static val_t once_value_19
; /* Once value */
2107 static val_t once_value_21
; /* Once value */
2108 static val_t once_value_22
; /* Once value */
2109 static val_t once_value_23
; /* Once value */
2110 static val_t once_value_24
; /* Once value */
2111 static val_t once_value_27
; /* Once value */
2112 static val_t once_value_28
; /* Once value */
2113 static val_t once_value_30
; /* Once value */
2114 static val_t once_value_31
; /* Once value */
2115 static val_t once_value_32
; /* Once value */
2116 static val_t once_value_34
; /* Once value */
2117 static val_t once_value_35
; /* Once value */
2118 static val_t once_value_36
; /* Once value */
2119 static val_t once_value_37
; /* Once value */
2120 static val_t once_value_38
; /* Once value */
2121 static val_t once_value_39
; /* Once value */
2122 static val_t once_value_41
; /* Once value */
2123 static val_t once_value_42
; /* Once value */
2124 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2125 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
2127 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IRoutine___compile_inside_to_c
;
2128 fra
.me
.has_broke
= 0;
2129 fra
.me
.REG_size
= 10;
2130 fra
.me
.nitni_local_ref_head
= NULL
;
2131 fra
.me
.REG
[0] = NIT_NULL
;
2132 fra
.me
.REG
[1] = NIT_NULL
;
2133 fra
.me
.REG
[2] = NIT_NULL
;
2134 fra
.me
.REG
[3] = NIT_NULL
;
2135 fra
.me
.REG
[4] = NIT_NULL
;
2136 fra
.me
.REG
[5] = NIT_NULL
;
2137 fra
.me
.REG
[6] = NIT_NULL
;
2138 fra
.me
.REG
[7] = NIT_NULL
;
2139 fra
.me
.REG
[8] = NIT_NULL
;
2140 fra
.me
.REG
[9] = NIT_NULL
;
2144 /* ./compiling//compiling_icode.nit:282 */
2146 /* ./compiling//compiling_icode.nit:283 */
2147 fra
.me
.REG
[3] = CALL_icode___icode_base___IRoutine___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2148 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2149 if (UNTAG_Bool(REGB1
)) {
2151 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2152 if (UNTAG_Bool(REGB2
)) {
2153 REGB2
= TAG_Bool(false);
2156 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
2160 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2161 if (UNTAG_Bool(REGB1
)) {
2162 /* ./compiling//compiling_icode.nit:284 */
2163 fra
.me
.REG
[3] = CALL_icode___icode_base___IRoutine___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2164 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2165 if (UNTAG_Bool(REGB1
)) {
2166 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 284);
2168 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2171 /* ./compiling//compiling_icode.nit:287 */
2172 REGB1
= CALL_analysis___allocate_iregister_slots___IRoutine___std_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2174 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
2175 if (UNTAG_Bool(REGB3
)) {
2177 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2179 /* ./../lib/standard//kernel.nit:234 */
2180 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
2181 /* ./compiling//compiling_icode.nit:287 */
2182 if (UNTAG_Bool(REGB2
)) {
2183 /* ./compiling//compiling_icode.nit:288 */
2185 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
2186 if (!once_value_1
) {
2187 fra
.me
.REG
[4] = BOX_NativeString("struct {struct stack_frame_t me; val_t MORE_REG[");
2188 REGB2
= TAG_Int(48);
2189 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
2190 once_value_1
= fra
.me
.REG
[4];
2191 register_static_object(&once_value_1
);
2192 } else fra
.me
.REG
[4] = once_value_1
;
2193 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2194 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2195 REGB2
= CALL_analysis___allocate_iregister_slots___IRoutine___std_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2197 /* ./../lib/standard//kernel.nit:237 */
2198 REGB1
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB1
));
2199 /* ./compiling//compiling_icode.nit:288 */
2200 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
2201 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2202 if (!once_value_2
) {
2203 fra
.me
.REG
[4] = BOX_NativeString("];} fra;");
2205 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2206 once_value_2
= fra
.me
.REG
[4];
2207 register_static_object(&once_value_2
);
2208 } else fra
.me
.REG
[4] = once_value_2
;
2209 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2210 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2211 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2212 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2214 /* ./compiling//compiling_icode.nit:290 */
2215 if (!once_value_3
) {
2216 fra
.me
.REG
[3] = BOX_NativeString("struct {struct stack_frame_t me;} fra;");
2217 REGB1
= TAG_Int(38);
2218 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
2219 once_value_3
= fra
.me
.REG
[3];
2220 register_static_object(&once_value_3
);
2221 } else fra
.me
.REG
[3] = once_value_3
;
2222 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2223 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2225 /* ./compiling//compiling_icode.nit:292 */
2226 if (!once_value_4
) {
2227 fra
.me
.REG
[3] = BOX_NativeString("fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;");
2228 REGB1
= TAG_Int(59);
2229 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
2230 once_value_4
= fra
.me
.REG
[3];
2231 register_static_object(&once_value_4
);
2232 } else fra
.me
.REG
[3] = once_value_4
;
2233 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2234 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2235 /* ./compiling//compiling_icode.nit:293 */
2237 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
2238 if (!once_value_5
) {
2239 fra
.me
.REG
[4] = BOX_NativeString("fra.me.file = LOCATE_");
2240 REGB1
= TAG_Int(21);
2241 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2242 once_value_5
= fra
.me
.REG
[4];
2243 register_static_object(&once_value_5
);
2244 } else fra
.me
.REG
[4] = once_value_5
;
2245 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2246 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2247 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2248 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CompilerVisitor___mmmodule(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2249 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2250 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2251 if (!once_value_6
) {
2252 fra
.me
.REG
[4] = BOX_NativeString(";");
2254 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2255 once_value_6
= fra
.me
.REG
[4];
2256 register_static_object(&once_value_6
);
2257 } else fra
.me
.REG
[4] = once_value_6
;
2258 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2259 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2260 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2261 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2262 /* ./compiling//compiling_icode.nit:294 */
2264 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
2265 if (!once_value_7
) {
2266 fra
.me
.REG
[4] = BOX_NativeString("fra.me.line = ");
2267 REGB1
= TAG_Int(14);
2268 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2269 once_value_7
= fra
.me
.REG
[4];
2270 register_static_object(&once_value_7
);
2271 } else fra
.me
.REG
[4] = once_value_7
;
2272 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2273 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2274 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2275 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2276 if (!once_value_8
) {
2277 fra
.me
.REG
[4] = BOX_NativeString(";");
2279 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2280 once_value_8
= fra
.me
.REG
[4];
2281 register_static_object(&once_value_8
);
2282 } else fra
.me
.REG
[4] = once_value_8
;
2283 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2284 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2285 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2286 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2287 /* ./compiling//compiling_icode.nit:295 */
2289 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2290 if (!once_value_9
) {
2291 fra
.me
.REG
[4] = BOX_NativeString("fra.me.meth = LOCATE_");
2292 REGB0
= TAG_Int(21);
2293 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2294 once_value_9
= fra
.me
.REG
[4];
2295 register_static_object(&once_value_9
);
2296 } else fra
.me
.REG
[4] = once_value_9
;
2297 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2298 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2299 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___basecname(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2300 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2301 if (!once_value_10
) {
2302 fra
.me
.REG
[4] = BOX_NativeString(";");
2304 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2305 once_value_10
= fra
.me
.REG
[4];
2306 register_static_object(&once_value_10
);
2307 } else fra
.me
.REG
[4] = once_value_10
;
2308 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2309 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2310 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2311 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2312 /* ./compiling//compiling_icode.nit:296 */
2313 if (!once_value_11
) {
2314 fra
.me
.REG
[3] = BOX_NativeString("fra.me.has_broke = 0;");
2315 REGB0
= TAG_Int(21);
2316 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2317 once_value_11
= fra
.me
.REG
[3];
2318 register_static_object(&once_value_11
);
2319 } else fra
.me
.REG
[3] = once_value_11
;
2320 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2321 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2322 /* ./compiling//compiling_icode.nit:297 */
2324 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2325 if (!once_value_12
) {
2326 fra
.me
.REG
[4] = BOX_NativeString("fra.me.REG_size = ");
2327 REGB0
= TAG_Int(18);
2328 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2329 once_value_12
= fra
.me
.REG
[4];
2330 register_static_object(&once_value_12
);
2331 } else fra
.me
.REG
[4] = once_value_12
;
2332 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2333 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2334 REGB0
= CALL_analysis___allocate_iregister_slots___IRoutine___std_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2335 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2336 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2337 if (!once_value_13
) {
2338 fra
.me
.REG
[4] = BOX_NativeString(";");
2340 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2341 once_value_13
= fra
.me
.REG
[4];
2342 register_static_object(&once_value_13
);
2343 } else fra
.me
.REG
[4] = once_value_13
;
2344 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2345 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2346 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2347 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2348 /* ./compiling//compiling_icode.nit:298 */
2349 if (!once_value_14
) {
2350 fra
.me
.REG
[3] = BOX_NativeString("fra.me.nitni_local_ref_head = NULL;");
2351 REGB0
= TAG_Int(35);
2352 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2353 once_value_14
= fra
.me
.REG
[3];
2354 register_static_object(&once_value_14
);
2355 } else fra
.me
.REG
[3] = once_value_14
;
2356 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2357 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2358 /* ./compiling//compiling_icode.nit:301 */
2360 REGB1
= CALL_analysis___allocate_iregister_slots___IRoutine___std_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2361 /* ./../lib/standard//kernel.nit:352 */
2363 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2364 if (UNTAG_Bool(REGB2
)) {
2366 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2368 /* ./../lib/standard//kernel.nit:232 */
2369 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2370 /* ./../lib/standard//kernel.nit:352 */
2371 if (UNTAG_Bool(REGB2
)) {
2372 /* ./compiling//compiling_icode.nit:301 */
2374 /* ./compiling//compiling_icode.nit:302 */
2376 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
2377 if (!once_value_15
) {
2378 fra
.me
.REG
[4] = BOX_NativeString("fra.me.REG[");
2379 REGB3
= TAG_Int(11);
2380 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
2381 once_value_15
= fra
.me
.REG
[4];
2382 register_static_object(&once_value_15
);
2383 } else fra
.me
.REG
[4] = once_value_15
;
2384 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2385 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2386 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
2387 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2388 if (!once_value_16
) {
2389 fra
.me
.REG
[4] = BOX_NativeString("] = NIT_NULL;");
2390 REGB2
= TAG_Int(13);
2391 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
2392 once_value_16
= fra
.me
.REG
[4];
2393 register_static_object(&once_value_16
);
2394 } else fra
.me
.REG
[4] = once_value_16
;
2395 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2396 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2397 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2398 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2399 /* ./../lib/standard//kernel.nit:354 */
2401 /* ./../lib/standard//kernel.nit:235 */
2402 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2403 /* ./../lib/standard//kernel.nit:354 */
2406 /* ./../lib/standard//kernel.nit:352 */
2411 /* ./compiling//compiling_icode.nit:304 */
2413 REGB1
= CALL_analysis___allocate_iregister_slots___IRoutine___tag_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2414 /* ./../lib/standard//kernel.nit:352 */
2416 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2417 if (UNTAG_Bool(REGB2
)) {
2419 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2421 /* ./../lib/standard//kernel.nit:232 */
2422 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2423 /* ./../lib/standard//kernel.nit:352 */
2424 if (UNTAG_Bool(REGB2
)) {
2425 /* ./compiling//compiling_icode.nit:304 */
2427 /* ./compiling//compiling_icode.nit:305 */
2429 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
2430 if (!once_value_18
) {
2431 fra
.me
.REG
[4] = BOX_NativeString("val_t REGB");
2432 REGB3
= TAG_Int(10);
2433 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
2434 once_value_18
= fra
.me
.REG
[4];
2435 register_static_object(&once_value_18
);
2436 } else fra
.me
.REG
[4] = once_value_18
;
2437 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2438 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2439 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
2440 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2441 if (!once_value_19
) {
2442 fra
.me
.REG
[4] = BOX_NativeString(";");
2444 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
2445 once_value_19
= fra
.me
.REG
[4];
2446 register_static_object(&once_value_19
);
2447 } else fra
.me
.REG
[4] = once_value_19
;
2448 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2449 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2450 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2451 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2452 /* ./../lib/standard//kernel.nit:354 */
2454 /* ./../lib/standard//kernel.nit:235 */
2455 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2456 /* ./../lib/standard//kernel.nit:354 */
2459 /* ./../lib/standard//kernel.nit:352 */
2464 /* ./compiling//compiling_icode.nit:307 */
2465 fra
.me
.REG
[3] = CALL_icode___icode_base___IRoutine___closure_decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2466 /* ./compiling//compiling_icode.nit:308 */
2467 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2468 if (UNTAG_Bool(REGB0
)) {
2470 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2471 if (UNTAG_Bool(REGB1
)) {
2472 REGB1
= TAG_Bool(false);
2475 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
2479 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2480 if (UNTAG_Bool(REGB0
)) {
2481 /* ./compiling//compiling_icode.nit:309 */
2483 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2484 if (!once_value_21
) {
2485 fra
.me
.REG
[5] = BOX_NativeString("fun_t CREG[");
2486 REGB0
= TAG_Int(11);
2487 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2488 once_value_21
= fra
.me
.REG
[5];
2489 register_static_object(&once_value_21
);
2490 } else fra
.me
.REG
[5] = once_value_21
;
2491 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2492 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2493 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2494 if (UNTAG_Bool(REGB0
)) {
2495 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 309);
2497 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2498 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2499 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2500 if (!once_value_22
) {
2501 fra
.me
.REG
[5] = BOX_NativeString("];");
2503 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2504 once_value_22
= fra
.me
.REG
[5];
2505 register_static_object(&once_value_22
);
2506 } else fra
.me
.REG
[5] = once_value_22
;
2507 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2508 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2509 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2510 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2511 /* ./compiling//compiling_icode.nit:310 */
2512 if (!once_value_23
) {
2513 fra
.me
.REG
[4] = BOX_NativeString("fra.me.closure_ctx = closctx_param;");
2514 REGB0
= TAG_Int(35);
2515 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2516 once_value_23
= fra
.me
.REG
[4];
2517 register_static_object(&once_value_23
);
2518 } else fra
.me
.REG
[4] = once_value_23
;
2519 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2520 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2521 /* ./compiling//compiling_icode.nit:311 */
2522 if (!once_value_24
) {
2523 fra
.me
.REG
[4] = BOX_NativeString("fra.me.closure_funs = CREG;");
2524 REGB0
= TAG_Int(27);
2525 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2526 once_value_24
= fra
.me
.REG
[4];
2527 register_static_object(&once_value_24
);
2528 } else fra
.me
.REG
[4] = once_value_24
;
2529 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2530 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2532 /* ./compiling//compiling_icode.nit:313 */
2534 fra
.me
.REG
[4] = REGB0
;
2535 /* ./compiling//compiling_icode.nit:314 */
2536 fra
.me
.REG
[5] = CALL_icode___icode_base___IRoutine___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2537 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
));
2538 /* ./compiling//compiling_icode.nit:318 */
2539 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2540 if (UNTAG_Bool(REGB0
)) {
2542 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2543 if (UNTAG_Bool(REGB1
)) {
2544 REGB1
= TAG_Bool(false);
2547 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
2551 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2552 if (UNTAG_Bool(REGB0
)) {
2553 /* ./compiling//compiling_icode.nit:319 */
2555 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2556 if (UNTAG_Bool(REGB1
)) {
2557 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 319);
2559 REGB1
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2560 /* ./../lib/standard//kernel.nit:352 */
2562 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2563 if (UNTAG_Bool(REGB2
)) {
2565 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2567 /* ./../lib/standard//kernel.nit:232 */
2568 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2569 /* ./../lib/standard//kernel.nit:352 */
2570 if (UNTAG_Bool(REGB2
)) {
2571 /* ./compiling//compiling_icode.nit:319 */
2573 /* ./compiling//compiling_icode.nit:320 */
2574 REGB3
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2575 if (UNTAG_Bool(REGB3
)) {
2576 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 320);
2578 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB2
);
2579 /* ./compiling//compiling_icode.nit:321 */
2581 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
2582 if (!once_value_27
) {
2583 fra
.me
.REG
[6] = BOX_NativeString("CREG[");
2585 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB3
);
2586 once_value_27
= fra
.me
.REG
[6];
2587 register_static_object(&once_value_27
);
2588 } else fra
.me
.REG
[6] = once_value_27
;
2589 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2590 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2591 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
2592 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2593 if (!once_value_28
) {
2594 fra
.me
.REG
[6] = BOX_NativeString("] = ");
2596 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB3
);
2597 once_value_28
= fra
.me
.REG
[6];
2598 register_static_object(&once_value_28
);
2599 } else fra
.me
.REG
[6] = once_value_28
;
2600 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2601 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2602 fra
.me
.REG
[6] = CALL_icode___icode_base___IRoutine___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2603 REGB3
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2604 /* ./../lib/standard//kernel.nit:235 */
2605 REGB3
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB2
));
2606 /* ./../lib/standard//collection//array.nit:278 */
2607 fra
.me
.REG
[6] = fra
.me
.REG
[2];
2608 /* ./../lib/standard//collection//array.nit:280 */
2610 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
2611 if (UNTAG_Bool(REGB5
)) {
2613 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2615 /* ./../lib/standard//kernel.nit:233 */
2616 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
2617 /* ./../lib/standard//collection//array.nit:280 */
2618 if (UNTAG_Bool(REGB4
)) {
2619 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
2620 if (UNTAG_Bool(REGB4
)) {
2622 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
2624 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6]);
2625 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
2626 if (UNTAG_Bool(REGB5
)) {
2628 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2630 /* ./../lib/standard//kernel.nit:232 */
2631 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
2633 /* ./../lib/standard//collection//array.nit:280 */
2634 REGB5
= TAG_Bool(false);
2637 if (UNTAG_Bool(REGB4
)) {
2639 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
2641 /* ./../lib/standard//collection//array.nit:281 */
2642 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[6]);
2643 REGB4
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
2644 if (UNTAG_Bool(REGB4
)) {
2645 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
2647 /* ./../lib/standard//collection//array.nit:718 */
2648 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB3
)];
2649 /* ./../lib/standard//collection//array.nit:281 */
2652 /* ./compiling//compiling_icode.nit:321 */
2653 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2654 if (!once_value_30
) {
2655 fra
.me
.REG
[6] = BOX_NativeString(";");
2657 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB3
);
2658 once_value_30
= fra
.me
.REG
[6];
2659 register_static_object(&once_value_30
);
2660 } else fra
.me
.REG
[6] = once_value_30
;
2661 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2662 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2663 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2664 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
2665 /* ./compiling//compiling_icode.nit:322 */
2666 fra
.me
.REG
[5] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2667 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
2668 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4], fra
.me
.REG
[6]);
2669 /* ./compiling//compiling_icode.nit:323 */
2670 fra
.me
.REG
[6] = CALL_icode___icode_base___IClosureDecl___closure(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2671 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMClosure___signature(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2672 /* ./compiling//compiling_icode.nit:324 */
2673 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___init();
2674 /* ./compiling//compiling_icode.nit:325 */
2675 if (!once_value_31
) {
2676 fra
.me
.REG
[7] = BOX_NativeString("struct stack_frame_t *");
2677 REGB2
= TAG_Int(22);
2678 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
2679 once_value_31
= fra
.me
.REG
[7];
2680 register_static_object(&once_value_31
);
2681 } else fra
.me
.REG
[7] = once_value_31
;
2682 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2683 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
2684 /* ./compiling//compiling_icode.nit:326 */
2686 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2687 /* ./../lib/standard//kernel.nit:352 */
2689 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
2690 if (UNTAG_Bool(REGB4
)) {
2692 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2694 /* ./../lib/standard//kernel.nit:232 */
2695 REGB4
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
2696 /* ./../lib/standard//kernel.nit:352 */
2697 if (UNTAG_Bool(REGB4
)) {
2698 /* ./compiling//compiling_icode.nit:327 */
2699 if (!once_value_32
) {
2700 fra
.me
.REG
[7] = BOX_NativeString("val_t");
2702 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB4
);
2703 once_value_32
= fra
.me
.REG
[7];
2704 register_static_object(&once_value_32
);
2705 } else fra
.me
.REG
[7] = once_value_32
;
2706 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2707 /* ./compiling//compiling_icode.nit:328 */
2708 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
2709 /* ./../lib/standard//kernel.nit:354 */
2711 /* ./../lib/standard//kernel.nit:235 */
2712 REGB4
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB4
));
2713 /* ./../lib/standard//kernel.nit:354 */
2716 /* ./../lib/standard//kernel.nit:352 */
2721 /* ./compiling//compiling_icode.nit:330 */
2722 if (!once_value_34
) {
2723 fra
.me
.REG
[7] = BOX_NativeString("void");
2725 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
2726 once_value_34
= fra
.me
.REG
[7];
2727 register_static_object(&once_value_34
);
2728 } else fra
.me
.REG
[7] = once_value_34
;
2729 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2730 /* ./compiling//compiling_icode.nit:331 */
2731 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2732 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
2733 if (UNTAG_Bool(REGB2
)) {
2735 REGB3
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
2736 if (UNTAG_Bool(REGB3
)) {
2737 REGB3
= TAG_Bool(false);
2740 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
2744 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
2745 if (UNTAG_Bool(REGB2
)) {
2746 if (!once_value_35
) {
2747 fra
.me
.REG
[6] = BOX_NativeString("val_t");
2749 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
2750 once_value_35
= fra
.me
.REG
[6];
2751 register_static_object(&once_value_35
);
2752 } else fra
.me
.REG
[6] = once_value_35
;
2753 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2754 fra
.me
.REG
[7] = fra
.me
.REG
[6];
2756 /* ./compiling//compiling_icode.nit:332 */
2757 fra
.me
.REG
[6] = CALL_compiling___compiling_icode___I2CCompilerVisitor___clostypes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2759 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
2760 if (!once_value_36
) {
2761 fra
.me
.REG
[9] = BOX_NativeString("");
2763 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB2
);
2764 once_value_36
= fra
.me
.REG
[9];
2765 register_static_object(&once_value_36
);
2766 } else fra
.me
.REG
[9] = once_value_36
;
2767 fra
.me
.REG
[9] = fra
.me
.REG
[9];
2768 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
2769 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
2770 if (!once_value_37
) {
2771 fra
.me
.REG
[7] = BOX_NativeString(" (*)(");
2773 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
2774 once_value_37
= fra
.me
.REG
[7];
2775 register_static_object(&once_value_37
);
2776 } else fra
.me
.REG
[7] = once_value_37
;
2777 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2778 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
2779 if (!once_value_38
) {
2780 fra
.me
.REG
[7] = BOX_NativeString(", ");
2782 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
2783 once_value_38
= fra
.me
.REG
[7];
2784 register_static_object(&once_value_38
);
2785 } else fra
.me
.REG
[7] = once_value_38
;
2786 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2787 fra
.me
.REG
[7] = CALL_standard___string___Collection___join(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
2788 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
2789 if (!once_value_39
) {
2790 fra
.me
.REG
[7] = BOX_NativeString(")");
2792 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
2793 once_value_39
= fra
.me
.REG
[7];
2794 register_static_object(&once_value_39
);
2795 } else fra
.me
.REG
[7] = once_value_39
;
2796 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2797 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
2798 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
2799 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4], fra
.me
.REG
[8]);
2800 /* ./../lib/standard//kernel.nit:354 */
2802 /* ./../lib/standard//kernel.nit:235 */
2803 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2804 /* ./../lib/standard//kernel.nit:354 */
2807 /* ./../lib/standard//kernel.nit:352 */
2813 /* ./compiling//compiling_icode.nit:335 */
2814 if (!once_value_41
) {
2815 fra
.me
.REG
[2] = BOX_NativeString("val_t tmp;");
2816 REGB0
= TAG_Int(10);
2817 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2818 once_value_41
= fra
.me
.REG
[2];
2819 register_static_object(&once_value_41
);
2820 } else fra
.me
.REG
[2] = once_value_41
;
2821 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2822 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2823 /* ./compiling//compiling_icode.nit:338 */
2824 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___return_label(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2825 /* ./compiling//compiling_icode.nit:339 */
2826 fra
.me
.REG
[3] = CALL_icode___icode_base___IRoutine___body(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2827 CALL_compiling___compiling_icode___I2CCompilerVisitor___return_label__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2828 /* ./compiling//compiling_icode.nit:342 */
2829 fra
.me
.REG
[3] = CALL_icode___icode_base___IRoutine___body(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2830 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
2831 /* ./compiling//compiling_icode.nit:344 */
2832 if (!once_value_42
) {
2833 fra
.me
.REG
[3] = BOX_NativeString("stack_frame_head = fra.me.prev;");
2834 REGB0
= TAG_Int(31);
2835 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2836 once_value_42
= fra
.me
.REG
[3];
2837 register_static_object(&once_value_42
);
2838 } else fra
.me
.REG
[3] = once_value_42
;
2839 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2840 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2841 /* ./compiling//compiling_icode.nit:345 */
2842 CALL_compiling___compiling_icode___I2CCompilerVisitor___return_label__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2843 /* ./compiling//compiling_icode.nit:346 */
2844 fra
.me
.REG
[0] = CALL_icode___icode_base___IRoutine___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2845 /* ./compiling//compiling_icode.nit:347 */
2846 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2847 if (UNTAG_Bool(REGB0
)) {
2849 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2850 if (UNTAG_Bool(REGB1
)) {
2851 REGB1
= TAG_Bool(false);
2854 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
2858 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2859 if (UNTAG_Bool(REGB0
)) {
2860 /* ./compiling//compiling_icode.nit:348 */
2861 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2864 /* ./compiling//compiling_icode.nit:350 */
2865 fra
.me
.REG
[0] = NIT_NULL
;
2869 stack_frame_head
= fra
.me
.prev
;
2870 return fra
.me
.REG
[0];
2872 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
){
2873 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2879 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2880 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
2882 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IRoutine___compile_inside_to_c
;
2883 fra
.me
.has_broke
= 0;
2884 fra
.me
.REG_size
= 2;
2885 fra
.me
.nitni_local_ref_head
= NULL
;
2886 fra
.me
.REG
[0] = NIT_NULL
;
2887 fra
.me
.REG
[1] = NIT_NULL
;
2888 fra
.me
.closure_ctx
= closctx_param
;
2889 fra
.me
.closure_funs
= CREG
;
2891 CREG
[0] = clos_fun0
;
2892 /* ./compiling//compiling_icode.nit:315 */
2893 fra
.me
.REG
[1] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2894 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2895 if (UNTAG_Bool(REGB0
)) {
2897 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2898 if (UNTAG_Bool(REGB1
)) {
2899 REGB1
= TAG_Bool(false);
2902 /* ./../lib/standard//kernel.nit:227 */
2903 REGB1
= TAG_Bool((fra
.me
.REG
[1])==(NIT_NULL
));
2904 /* ./compiling//compiling_icode.nit:315 */
2908 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2909 if (UNTAG_Bool(REGB0
)) {
2910 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0]);
2911 /* ./../lib/standard//collection//array.nit:278 */
2912 fra
.me
.REG
[1] = closctx
->REG
[2];
2913 REGB0
= closctx
->REG
[4];
2914 /* ./../lib/standard//collection//array.nit:280 */
2916 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2917 if (UNTAG_Bool(REGB2
)) {
2919 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2921 /* ./../lib/standard//kernel.nit:233 */
2922 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
2923 /* ./../lib/standard//collection//array.nit:280 */
2924 if (UNTAG_Bool(REGB1
)) {
2925 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
2926 if (UNTAG_Bool(REGB1
)) {
2928 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
2930 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
2931 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2932 if (UNTAG_Bool(REGB2
)) {
2934 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2936 /* ./../lib/standard//kernel.nit:232 */
2937 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2939 /* ./../lib/standard//collection//array.nit:280 */
2940 REGB2
= TAG_Bool(false);
2943 if (UNTAG_Bool(REGB1
)) {
2945 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
2947 /* ./../lib/standard//collection//array.nit:281 */
2948 fra
.me
.REG
[1] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
2949 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2950 if (UNTAG_Bool(REGB1
)) {
2951 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
2953 /* ./../lib/standard//collection//array.nit:718 */
2954 fra
.me
.REG
[1] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB0
)];
2955 /* ./../lib/standard//collection//array.nit:281 */
2958 /* ./compiling//compiling_icode.nit:315 */
2959 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_assignment(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[1]);
2961 /* ./compiling//compiling_icode.nit:316 */
2963 /* ./../lib/standard//kernel.nit:235 */
2964 REGB0
= TAG_Int(UNTAG_Int(closctx
->REG
[4])+UNTAG_Int(REGB0
));
2965 /* ./compiling//compiling_icode.nit:316 */
2966 closctx
->REG
[4] = REGB0
;
2967 stack_frame_head
= fra
.me
.prev
;
2970 val_t
compiling___compiling_icode___IRoutine___compile_to_c(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
2971 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2973 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2974 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
2976 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IRoutine___compile_to_c
;
2977 fra
.me
.has_broke
= 0;
2978 fra
.me
.REG_size
= 4;
2979 fra
.me
.nitni_local_ref_head
= NULL
;
2980 fra
.me
.REG
[0] = NIT_NULL
;
2981 fra
.me
.REG
[1] = NIT_NULL
;
2982 fra
.me
.REG
[2] = NIT_NULL
;
2983 fra
.me
.REG
[3] = NIT_NULL
;
2988 /* ./compiling//compiling_icode.nit:358 */
2989 fra
.me
.REG
[2] = NEW_I2CCompilerVisitor_compiling___compiling_icode___I2CCompilerVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
2990 /* ./compiling//compiling_icode.nit:359 */
2991 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]);
2994 stack_frame_head
= fra
.me
.prev
;
2995 return fra
.me
.REG
[3];
2997 void compiling___compiling_icode___ICode___compile_to_c(val_t p0
, val_t p1
){
2998 struct {struct stack_frame_t me
;} fra
;
3000 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3001 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3003 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICode___compile_to_c
;
3004 fra
.me
.has_broke
= 0;
3005 fra
.me
.REG_size
= 0;
3006 fra
.me
.nitni_local_ref_head
= NULL
;
3007 /* ./compiling//compiling_icode.nit:364 */
3008 nit_abort("Deferred method called", NULL
, LOCATE_compiling___compiling_icode
, 364);
3009 stack_frame_head
= fra
.me
.prev
;
3012 val_t
compiling___compiling_icode___ICode___need_result(val_t p0
){
3013 struct {struct stack_frame_t me
;} fra
;
3017 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3018 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3020 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICode___need_result
;
3021 fra
.me
.has_broke
= 0;
3022 fra
.me
.REG_size
= 1;
3023 fra
.me
.nitni_local_ref_head
= NULL
;
3024 fra
.me
.REG
[0] = NIT_NULL
;
3026 /* ./compiling//compiling_icode.nit:370 */
3027 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3028 /* ./compiling//compiling_icode.nit:371 */
3029 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3030 if (UNTAG_Bool(REGB0
)) {
3032 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3033 if (UNTAG_Bool(REGB1
)) {
3034 REGB1
= TAG_Bool(false);
3037 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
3041 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3042 if (UNTAG_Bool(REGB0
)) {
3043 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3044 if (UNTAG_Bool(REGB0
)) {
3045 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 371);
3047 fra
.me
.REG
[0] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3048 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3049 if (UNTAG_Bool(REGB0
)) {
3051 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3052 if (UNTAG_Bool(REGB1
)) {
3053 REGB1
= TAG_Bool(false);
3056 /* ./../lib/standard//kernel.nit:227 */
3057 REGB1
= TAG_Bool((fra
.me
.REG
[0])==(NIT_NULL
));
3058 /* ./compiling//compiling_icode.nit:371 */
3062 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3064 REGB1
= TAG_Bool(false);
3069 stack_frame_head
= fra
.me
.prev
;
3072 void compiling___compiling_icode___ICode___store_result(val_t p0
, val_t p1
, val_t p2
){
3073 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
3077 static val_t once_value_1
; /* Once value */
3078 static val_t once_value_2
; /* Once value */
3079 static val_t once_value_3
; /* Once value */
3080 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3081 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3083 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICode___store_result
;
3084 fra
.me
.has_broke
= 0;
3085 fra
.me
.REG_size
= 5;
3086 fra
.me
.nitni_local_ref_head
= NULL
;
3087 fra
.me
.REG
[0] = NIT_NULL
;
3088 fra
.me
.REG
[1] = NIT_NULL
;
3089 fra
.me
.REG
[2] = NIT_NULL
;
3090 fra
.me
.REG
[3] = NIT_NULL
;
3091 fra
.me
.REG
[4] = NIT_NULL
;
3095 /* ./compiling//compiling_icode.nit:377 */
3096 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3097 /* ./compiling//compiling_icode.nit:378 */
3098 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3099 if (UNTAG_Bool(REGB0
)) {
3101 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3102 if (UNTAG_Bool(REGB1
)) {
3103 REGB1
= TAG_Bool(false);
3106 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3110 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3111 if (UNTAG_Bool(REGB0
)) {
3112 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3113 if (UNTAG_Bool(REGB0
)) {
3114 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 378);
3116 fra
.me
.REG
[4] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3117 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3118 if (UNTAG_Bool(REGB0
)) {
3120 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3121 if (UNTAG_Bool(REGB1
)) {
3122 REGB1
= TAG_Bool(false);
3125 /* ./../lib/standard//kernel.nit:227 */
3126 REGB1
= TAG_Bool((fra
.me
.REG
[4])==(NIT_NULL
));
3127 /* ./compiling//compiling_icode.nit:378 */
3131 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3133 REGB1
= TAG_Bool(false);
3136 if (UNTAG_Bool(REGB0
)) {
3137 /* ./compiling//compiling_icode.nit:379 */
3138 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3139 if (UNTAG_Bool(REGB0
)) {
3141 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3142 if (UNTAG_Bool(REGB1
)) {
3143 REGB1
= TAG_Bool(false);
3146 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3150 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3151 if (UNTAG_Bool(REGB0
)) {
3153 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_icode
, 379);
3155 /* ./compiling//compiling_icode.nit:380 */
3156 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3157 /* ./compiling//compiling_icode.nit:381 */
3158 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3159 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3160 /* ./compiling//compiling_icode.nit:382 */
3161 if (!once_value_1
) {
3162 fra
.me
.REG
[3] = BOX_NativeString(" = ");
3164 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3165 once_value_1
= fra
.me
.REG
[3];
3166 register_static_object(&once_value_1
);
3167 } else fra
.me
.REG
[3] = once_value_1
;
3168 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3169 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3170 /* ./compiling//compiling_icode.nit:383 */
3171 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3172 /* ./compiling//compiling_icode.nit:384 */
3173 if (!once_value_2
) {
3174 fra
.me
.REG
[3] = BOX_NativeString(";\n");
3176 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3177 once_value_2
= fra
.me
.REG
[3];
3178 register_static_object(&once_value_2
);
3179 } else fra
.me
.REG
[3] = once_value_2
;
3180 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3181 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3183 /* ./compiling//compiling_icode.nit:385 */
3184 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3185 if (UNTAG_Bool(REGB0
)) {
3187 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3188 if (UNTAG_Bool(REGB1
)) {
3189 REGB1
= TAG_Bool(false);
3192 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3196 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3197 if (UNTAG_Bool(REGB0
)) {
3198 REGB0
= CALL_icode___icode_base___ICode___is_pure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3199 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3201 REGB1
= TAG_Bool(false);
3204 if (UNTAG_Bool(REGB0
)) {
3205 /* ./compiling//compiling_icode.nit:388 */
3206 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3207 /* ./compiling//compiling_icode.nit:389 */
3208 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3209 /* ./compiling//compiling_icode.nit:390 */
3210 if (!once_value_3
) {
3211 fra
.me
.REG
[2] = BOX_NativeString(";\n");
3213 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3214 once_value_3
= fra
.me
.REG
[2];
3215 register_static_object(&once_value_3
);
3216 } else fra
.me
.REG
[2] = once_value_3
;
3217 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3218 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3221 stack_frame_head
= fra
.me
.prev
;
3224 val_t
compiling___compiling_icode___ICode___new_result(val_t p0
, val_t p1
){
3225 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3229 static val_t once_value_1
; /* Once value */
3230 static val_t once_value_2
; /* Once value */
3231 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3232 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3234 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICode___new_result
;
3235 fra
.me
.has_broke
= 0;
3236 fra
.me
.REG_size
= 4;
3237 fra
.me
.nitni_local_ref_head
= NULL
;
3238 fra
.me
.REG
[0] = NIT_NULL
;
3239 fra
.me
.REG
[1] = NIT_NULL
;
3240 fra
.me
.REG
[2] = NIT_NULL
;
3241 fra
.me
.REG
[3] = NIT_NULL
;
3244 /* ./compiling//compiling_icode.nit:398 */
3245 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3246 if (UNTAG_Bool(REGB0
)) {
3247 REGB0
= TAG_Bool(true);
3249 REGB1
= CALL_icode___icode_base___ICode___is_pure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3250 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3253 if (UNTAG_Bool(REGB0
)) {
3255 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_icode
, 398);
3257 /* ./compiling//compiling_icode.nit:399 */
3258 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3259 /* ./compiling//compiling_icode.nit:400 */
3260 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3261 /* ./compiling//compiling_icode.nit:401 */
3262 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3263 if (UNTAG_Bool(REGB0
)) {
3265 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3266 if (UNTAG_Bool(REGB1
)) {
3267 REGB1
= TAG_Bool(false);
3270 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
3274 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3275 if (UNTAG_Bool(REGB0
)) {
3276 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3277 if (UNTAG_Bool(REGB0
)) {
3278 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 401);
3280 fra
.me
.REG
[3] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3281 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3282 if (UNTAG_Bool(REGB0
)) {
3284 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3285 if (UNTAG_Bool(REGB1
)) {
3286 REGB1
= TAG_Bool(false);
3289 /* ./../lib/standard//kernel.nit:227 */
3290 REGB1
= TAG_Bool((fra
.me
.REG
[3])==(NIT_NULL
));
3291 /* ./compiling//compiling_icode.nit:401 */
3295 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3297 REGB1
= TAG_Bool(false);
3300 if (UNTAG_Bool(REGB0
)) {
3301 /* ./compiling//compiling_icode.nit:402 */
3302 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3303 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3304 /* ./compiling//compiling_icode.nit:403 */
3305 if (!once_value_1
) {
3306 fra
.me
.REG
[0] = BOX_NativeString(" = ");
3308 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3309 once_value_1
= fra
.me
.REG
[0];
3310 register_static_object(&once_value_1
);
3311 } else fra
.me
.REG
[0] = once_value_1
;
3312 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3313 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3315 /* ./compiling//compiling_icode.nit:405 */
3316 fra
.me
.REG
[0] = CALL_compiling___compiling_writer___Writer___sub(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3317 /* ./compiling//compiling_icode.nit:406 */
3318 if (!once_value_2
) {
3319 fra
.me
.REG
[1] = BOX_NativeString(";\n");
3321 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
3322 once_value_2
= fra
.me
.REG
[1];
3323 register_static_object(&once_value_2
);
3324 } else fra
.me
.REG
[1] = once_value_2
;
3325 fra
.me
.REG
[1] = fra
.me
.REG
[1];
3326 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
3327 /* ./compiling//compiling_icode.nit:407 */
3330 stack_frame_head
= fra
.me
.prev
;
3331 return fra
.me
.REG
[0];
3333 void compiling___compiling_icode___ISeq___compile_to_c(val_t p0
, val_t p1
){
3334 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3338 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3339 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3341 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ISeq___compile_to_c
;
3342 fra
.me
.has_broke
= 0;
3343 fra
.me
.REG_size
= 4;
3344 fra
.me
.nitni_local_ref_head
= NULL
;
3345 fra
.me
.REG
[0] = NIT_NULL
;
3346 fra
.me
.REG
[1] = NIT_NULL
;
3347 fra
.me
.REG
[2] = NIT_NULL
;
3348 fra
.me
.REG
[3] = NIT_NULL
;
3351 /* ./compiling//compiling_icode.nit:414 */
3352 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3353 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3354 /* ./compiling//compiling_icode.nit:415 */
3355 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3356 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3357 /* ./compiling//compiling_icode.nit:416 */
3358 fra
.me
.REG
[2] = CALL_icode___icode_base___ISeq___iescape_mark(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3359 /* ./compiling//compiling_icode.nit:417 */
3360 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3361 if (UNTAG_Bool(REGB0
)) {
3363 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3364 if (UNTAG_Bool(REGB1
)) {
3365 REGB1
= TAG_Bool(false);
3368 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3372 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3373 if (UNTAG_Bool(REGB0
)) {
3374 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3375 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
3377 /* ./compiling//compiling_icode.nit:418 */
3378 fra
.me
.REG
[2] = CALL_icode___icode_base___ISeq___icodes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3379 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
));
3380 /* ./compiling//compiling_icode.nit:421 */
3381 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_label(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3382 stack_frame_head
= fra
.me
.prev
;
3385 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
){
3386 struct {struct stack_frame_t me
;} fra
;
3389 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3390 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3392 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ISeq___compile_to_c
;
3393 fra
.me
.has_broke
= 0;
3394 fra
.me
.REG_size
= 1;
3395 fra
.me
.nitni_local_ref_head
= NULL
;
3396 fra
.me
.REG
[0] = NIT_NULL
;
3397 fra
.me
.closure_ctx
= closctx_param
;
3398 fra
.me
.closure_funs
= CREG
;
3400 CREG
[0] = clos_fun0
;
3401 /* ./compiling//compiling_icode.nit:419 */
3402 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
3403 stack_frame_head
= fra
.me
.prev
;
3406 void compiling___compiling_icode___IIf___compile_to_c(val_t p0
, val_t p1
){
3407 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3410 static val_t once_value_1
; /* Once value */
3411 static val_t once_value_2
; /* Once value */
3412 static val_t once_value_3
; /* Once value */
3413 static val_t once_value_4
; /* Once value */
3414 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3415 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3417 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IIf___compile_to_c
;
3418 fra
.me
.has_broke
= 0;
3419 fra
.me
.REG_size
= 4;
3420 fra
.me
.nitni_local_ref_head
= NULL
;
3421 fra
.me
.REG
[0] = NIT_NULL
;
3422 fra
.me
.REG
[1] = NIT_NULL
;
3423 fra
.me
.REG
[2] = NIT_NULL
;
3424 fra
.me
.REG
[3] = NIT_NULL
;
3427 /* ./compiling//compiling_icode.nit:428 */
3428 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3429 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3430 /* ./compiling//compiling_icode.nit:429 */
3431 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3432 /* ./compiling//compiling_icode.nit:430 */
3433 if (!once_value_1
) {
3434 fra
.me
.REG
[3] = BOX_NativeString("if (UNTAG_Bool(");
3435 REGB0
= TAG_Int(15);
3436 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3437 once_value_1
= fra
.me
.REG
[3];
3438 register_static_object(&once_value_1
);
3439 } else fra
.me
.REG
[3] = once_value_1
;
3440 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3441 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3442 /* ./compiling//compiling_icode.nit:431 */
3443 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3444 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3445 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3446 /* ./compiling//compiling_icode.nit:432 */
3447 if (!once_value_2
) {
3448 fra
.me
.REG
[3] = BOX_NativeString(")) {\n");
3450 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3451 once_value_2
= fra
.me
.REG
[3];
3452 register_static_object(&once_value_2
);
3453 } else fra
.me
.REG
[3] = once_value_2
;
3454 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3455 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3456 /* ./compiling//compiling_icode.nit:433 */
3457 fra
.me
.REG
[3] = CALL_icode___icode_base___IIf___then_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3458 fra
.me
.REG
[3] = CALL_icode___icode_base___ISeq___icodes(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3459 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3460 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3461 if (UNTAG_Bool(REGB0
)) {
3462 /* ./compiling//compiling_icode.nit:434 */
3463 CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3464 /* ./compiling//compiling_icode.nit:435 */
3465 fra
.me
.REG
[3] = CALL_icode___icode_base___IIf___then_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3466 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
3467 /* ./compiling//compiling_icode.nit:436 */
3468 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3470 /* ./compiling//compiling_icode.nit:438 */
3471 fra
.me
.REG
[3] = CALL_icode___icode_base___IIf___else_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3472 fra
.me
.REG
[3] = CALL_icode___icode_base___ISeq___icodes(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3473 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3474 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3475 if (UNTAG_Bool(REGB0
)) {
3476 /* ./compiling//compiling_icode.nit:439 */
3477 if (!once_value_3
) {
3478 fra
.me
.REG
[3] = BOX_NativeString("} else {");
3480 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3481 once_value_3
= fra
.me
.REG
[3];
3482 register_static_object(&once_value_3
);
3483 } else fra
.me
.REG
[3] = once_value_3
;
3484 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3485 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3486 /* ./compiling//compiling_icode.nit:440 */
3487 CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3488 /* ./compiling//compiling_icode.nit:441 */
3489 fra
.me
.REG
[0] = CALL_icode___icode_base___IIf___else_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3490 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3491 /* ./compiling//compiling_icode.nit:442 */
3492 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3494 /* ./compiling//compiling_icode.nit:444 */
3495 if (!once_value_4
) {
3496 fra
.me
.REG
[0] = BOX_NativeString("}");
3498 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3499 once_value_4
= fra
.me
.REG
[0];
3500 register_static_object(&once_value_4
);
3501 } else fra
.me
.REG
[0] = once_value_4
;
3502 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3503 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3504 stack_frame_head
= fra
.me
.prev
;
3507 void compiling___compiling_icode___ILoop___compile_to_c(val_t p0
, val_t p1
){
3508 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3512 static val_t once_value_1
; /* Once value */
3513 static val_t once_value_3
; /* Once value */
3514 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3515 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3517 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ILoop___compile_to_c
;
3518 fra
.me
.has_broke
= 0;
3519 fra
.me
.REG_size
= 4;
3520 fra
.me
.nitni_local_ref_head
= NULL
;
3521 fra
.me
.REG
[0] = NIT_NULL
;
3522 fra
.me
.REG
[1] = NIT_NULL
;
3523 fra
.me
.REG
[2] = NIT_NULL
;
3524 fra
.me
.REG
[3] = NIT_NULL
;
3527 /* ./compiling//compiling_icode.nit:451 */
3528 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3529 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3530 /* ./compiling//compiling_icode.nit:452 */
3531 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3532 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3533 /* ./compiling//compiling_icode.nit:453 */
3534 fra
.me
.REG
[2] = CALL_icode___icode_base___ISeq___iescape_mark(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3535 /* ./compiling//compiling_icode.nit:454 */
3536 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3537 if (UNTAG_Bool(REGB0
)) {
3539 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3540 if (UNTAG_Bool(REGB1
)) {
3541 REGB1
= TAG_Bool(false);
3544 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3548 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3549 if (UNTAG_Bool(REGB0
)) {
3550 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3551 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
3553 /* ./compiling//compiling_icode.nit:455 */
3554 if (!once_value_1
) {
3555 fra
.me
.REG
[2] = BOX_NativeString("while(1) {");
3556 REGB0
= TAG_Int(10);
3557 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3558 once_value_1
= fra
.me
.REG
[2];
3559 register_static_object(&once_value_1
);
3560 } else fra
.me
.REG
[2] = once_value_1
;
3561 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3562 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3563 /* ./compiling//compiling_icode.nit:456 */
3564 CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3565 /* ./compiling//compiling_icode.nit:457 */
3566 fra
.me
.REG
[2] = CALL_icode___icode_base___ISeq___icodes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3567 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
));
3568 /* ./compiling//compiling_icode.nit:460 */
3569 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3570 /* ./compiling//compiling_icode.nit:461 */
3571 if (!once_value_3
) {
3572 fra
.me
.REG
[2] = BOX_NativeString("}");
3574 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3575 once_value_3
= fra
.me
.REG
[2];
3576 register_static_object(&once_value_3
);
3577 } else fra
.me
.REG
[2] = once_value_3
;
3578 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3579 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3580 /* ./compiling//compiling_icode.nit:462 */
3581 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_label(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3582 stack_frame_head
= fra
.me
.prev
;
3585 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
){
3586 struct {struct stack_frame_t me
;} fra
;
3589 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3590 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3592 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ILoop___compile_to_c
;
3593 fra
.me
.has_broke
= 0;
3594 fra
.me
.REG_size
= 1;
3595 fra
.me
.nitni_local_ref_head
= NULL
;
3596 fra
.me
.REG
[0] = NIT_NULL
;
3597 fra
.me
.closure_ctx
= closctx_param
;
3598 fra
.me
.closure_funs
= CREG
;
3600 CREG
[0] = clos_fun0
;
3601 /* ./compiling//compiling_icode.nit:458 */
3602 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
3603 stack_frame_head
= fra
.me
.prev
;
3606 void compiling___compiling_icode___IEscape___compile_to_c(val_t p0
, val_t p1
){
3607 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
3609 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3610 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3612 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IEscape___compile_to_c
;
3613 fra
.me
.has_broke
= 0;
3614 fra
.me
.REG_size
= 3;
3615 fra
.me
.nitni_local_ref_head
= NULL
;
3616 fra
.me
.REG
[0] = NIT_NULL
;
3617 fra
.me
.REG
[1] = NIT_NULL
;
3618 fra
.me
.REG
[2] = NIT_NULL
;
3621 /* ./compiling//compiling_icode.nit:469 */
3622 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3623 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3624 /* ./compiling//compiling_icode.nit:470 */
3625 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3626 fra
.me
.REG
[0] = CALL_icode___icode_base___IEscape___iescape_mark(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3627 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3628 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_goto(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3629 stack_frame_head
= fra
.me
.prev
;
3632 void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0
, val_t p1
){
3633 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
3637 static val_t once_value_1
; /* Once value */
3638 static val_t once_value_2
; /* Once value */
3639 static val_t once_value_5
; /* Once value */
3640 static val_t once_value_6
; /* Once value */
3641 static val_t once_value_7
; /* Once value */
3642 static val_t once_value_8
; /* Once value */
3643 static val_t once_value_9
; /* Once value */
3644 static val_t once_value_10
; /* Once value */
3645 static val_t once_value_11
; /* Once value */
3646 static val_t once_value_12
; /* Once value */
3647 static val_t once_value_13
; /* Once value */
3648 static val_t once_value_14
; /* Once value */
3649 static val_t once_value_15
; /* Once value */
3650 static val_t once_value_16
; /* Once value */
3651 static val_t once_value_18
; /* Once value */
3652 static val_t once_value_19
; /* Once value */
3653 static val_t once_value_20
; /* Once value */
3654 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3655 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3657 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAbsCall___compile_to_c
;
3658 fra
.me
.has_broke
= 0;
3659 fra
.me
.REG_size
= 10;
3660 fra
.me
.nitni_local_ref_head
= NULL
;
3661 fra
.me
.REG
[0] = NIT_NULL
;
3662 fra
.me
.REG
[1] = NIT_NULL
;
3663 fra
.me
.REG
[2] = NIT_NULL
;
3664 fra
.me
.REG
[3] = NIT_NULL
;
3665 fra
.me
.REG
[4] = NIT_NULL
;
3666 fra
.me
.REG
[5] = NIT_NULL
;
3667 fra
.me
.REG
[6] = NIT_NULL
;
3668 fra
.me
.REG
[7] = NIT_NULL
;
3669 fra
.me
.REG
[8] = NIT_NULL
;
3670 fra
.me
.REG
[9] = NIT_NULL
;
3673 /* ./compiling//compiling_icode.nit:475 */
3674 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3675 /* ./compiling//compiling_icode.nit:477 */
3676 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3677 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3678 /* ./compiling//compiling_icode.nit:478 */
3679 fra
.me
.REG
[3] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3680 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___registers(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3681 /* ./compiling//compiling_icode.nit:481 */
3682 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3683 /* ./compiling//compiling_icode.nit:482 */
3684 fra
.me
.REG
[5] = CALL_icode___icode_base___ICodeN___closure_defs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3685 /* ./compiling//compiling_icode.nit:483 */
3686 fra
.me
.REG
[6] = NIT_NULL
;
3687 /* ./compiling//compiling_icode.nit:484 */
3688 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3689 if (UNTAG_Bool(REGB0
)) {
3691 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3692 if (UNTAG_Bool(REGB1
)) {
3693 REGB1
= TAG_Bool(false);
3696 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
3700 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3701 if (UNTAG_Bool(REGB0
)) {
3702 /* ./compiling//compiling_icode.nit:486 */
3703 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3704 if (UNTAG_Bool(REGB0
)) {
3705 /* ./compiling//compiling_icode.nit:487 */
3706 if (!once_value_1
) {
3707 fra
.me
.REG
[7] = BOX_NativeString("closctx");
3709 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
3710 once_value_1
= fra
.me
.REG
[7];
3711 register_static_object(&once_value_1
);
3712 } else fra
.me
.REG
[7] = once_value_1
;
3713 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3714 fra
.me
.REG
[6] = fra
.me
.REG
[7];
3716 /* ./compiling//compiling_icode.nit:489 */
3717 if (!once_value_2
) {
3718 fra
.me
.REG
[7] = BOX_NativeString("(&(fra.me))");
3719 REGB0
= TAG_Int(11);
3720 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
3721 once_value_2
= fra
.me
.REG
[7];
3722 register_static_object(&once_value_2
);
3723 } else fra
.me
.REG
[7] = once_value_2
;
3724 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3725 fra
.me
.REG
[6] = fra
.me
.REG
[7];
3727 /* ./compiling//compiling_icode.nit:493 */
3728 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3729 /* ./compiling//compiling_icode.nit:496 */
3730 fra
.me
.REG
[7] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
3731 CALL_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
3732 /* ./compiling//compiling_icode.nit:499 */
3733 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3734 if (UNTAG_Bool(REGB0
)) {
3735 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 499);
3737 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
));
3739 /* ./compiling//compiling_icode.nit:510 */
3740 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]);
3741 /* ./compiling//compiling_icode.nit:511 */
3742 fra
.me
.REG
[5] = fra
.me
.REG
[3];
3743 /* ./compiling//compiling_icode.nit:514 */
3744 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3745 if (UNTAG_Bool(REGB0
)) {
3747 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3748 if (UNTAG_Bool(REGB1
)) {
3749 REGB1
= TAG_Bool(false);
3752 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
3756 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3757 if (UNTAG_Bool(REGB0
)) {
3758 /* ./compiling//compiling_icode.nit:515 */
3759 fra
.me
.REG
[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3760 /* ./compiling//compiling_icode.nit:516 */
3761 CALL_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3762 /* ./compiling//compiling_icode.nit:518 */
3763 REGB0
= CALL_standard___collection___abstract_collection___MapRead___is_empty(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3764 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3765 if (UNTAG_Bool(REGB0
)) {
3766 /* ./compiling//compiling_icode.nit:520 */
3767 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3768 /* ./compiling//compiling_icode.nit:521 */
3769 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3770 if (UNTAG_Bool(REGB0
)) {
3771 /* ./compiling//compiling_icode.nit:522 */
3772 if (!once_value_5
) {
3773 fra
.me
.REG
[8] = BOX_NativeString("tmp");
3775 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3776 once_value_5
= fra
.me
.REG
[8];
3777 register_static_object(&once_value_5
);
3778 } else fra
.me
.REG
[8] = once_value_5
;
3779 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3780 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
3781 /* ./compiling//compiling_icode.nit:523 */
3782 if (!once_value_6
) {
3783 fra
.me
.REG
[8] = BOX_NativeString(" = ");
3785 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3786 once_value_6
= fra
.me
.REG
[8];
3787 register_static_object(&once_value_6
);
3788 } else fra
.me
.REG
[8] = once_value_6
;
3789 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3790 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
3791 /* ./compiling//compiling_icode.nit:524 */
3792 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3793 /* ./compiling//compiling_icode.nit:525 */
3794 if (!once_value_7
) {
3795 fra
.me
.REG
[8] = BOX_NativeString(";\n");
3797 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3798 once_value_7
= fra
.me
.REG
[8];
3799 register_static_object(&once_value_7
);
3800 } else fra
.me
.REG
[8] = once_value_7
;
3801 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3802 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
3803 /* ./compiling//compiling_icode.nit:526 */
3804 fra
.me
.REG
[8] = NEW_Writer_compiling___compiling_writer___Writer___init();
3805 fra
.me
.REG
[5] = fra
.me
.REG
[8];
3806 /* ./compiling//compiling_icode.nit:527 */
3807 if (!once_value_8
) {
3808 fra
.me
.REG
[8] = BOX_NativeString("tmp");
3810 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3811 once_value_8
= fra
.me
.REG
[8];
3812 register_static_object(&once_value_8
);
3813 } else fra
.me
.REG
[8] = once_value_8
;
3814 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3815 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3816 if (UNTAG_Bool(REGB0
)) {
3817 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 527);
3819 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
3821 /* ./compiling//compiling_icode.nit:529 */
3822 fra
.me
.REG
[5] = NIT_NULL
;
3823 /* ./compiling//compiling_icode.nit:530 */
3824 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3825 /* ./compiling//compiling_icode.nit:531 */
3826 if (!once_value_9
) {
3827 fra
.me
.REG
[3] = BOX_NativeString(";\n");
3829 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3830 once_value_9
= fra
.me
.REG
[3];
3831 register_static_object(&once_value_9
);
3832 } else fra
.me
.REG
[3] = once_value_9
;
3833 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3834 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3836 /* ./compiling//compiling_icode.nit:534 */
3837 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3838 if (!once_value_10
) {
3839 fra
.me
.REG
[4] = BOX_NativeString("switch (");
3841 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3842 once_value_10
= fra
.me
.REG
[4];
3843 register_static_object(&once_value_10
);
3844 } else fra
.me
.REG
[4] = once_value_10
;
3845 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3846 fra
.me
.REG
[4] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3847 fra
.me
.REG
[4] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3848 if (!once_value_11
) {
3849 fra
.me
.REG
[3] = BOX_NativeString("->has_broke) {\n");
3850 REGB0
= TAG_Int(15);
3851 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3852 once_value_11
= fra
.me
.REG
[3];
3853 register_static_object(&once_value_11
);
3854 } else fra
.me
.REG
[3] = once_value_11
;
3855 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3856 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3857 /* ./compiling//compiling_icode.nit:535 */
3858 CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3859 /* ./compiling//compiling_icode.nit:537 */
3860 if (!once_value_12
) {
3861 fra
.me
.REG
[3] = BOX_NativeString("case 0: break;");
3862 REGB0
= TAG_Int(14);
3863 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3864 once_value_12
= fra
.me
.REG
[3];
3865 register_static_object(&once_value_12
);
3866 } else fra
.me
.REG
[3] = once_value_12
;
3867 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3868 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3869 /* ./compiling//compiling_icode.nit:538 */
3870 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3871 /* ./compiling//compiling_icode.nit:539 */
3872 fra
.me
.REG
[7] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3873 /* ./compiling//compiling_icode.nit:540 */
3874 REGB0
= TAG_Bool(false);
3875 /* ./compiling//compiling_icode.nit:541 */
3877 REGB1
= CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3878 if (UNTAG_Bool(REGB1
)) {
3879 /* ./compiling//compiling_icode.nit:542 */
3880 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapIterator___key(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3881 /* ./compiling//compiling_icode.nit:543 */
3882 REGB1
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3883 if (UNTAG_Bool(REGB1
)) {
3884 /* ./compiling//compiling_icode.nit:546 */
3885 fra
.me
.REG
[8] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3886 if (!once_value_13
) {
3887 fra
.me
.REG
[9] = BOX_NativeString("case ");
3889 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
3890 once_value_13
= fra
.me
.REG
[9];
3891 register_static_object(&once_value_13
);
3892 } else fra
.me
.REG
[9] = once_value_13
;
3893 fra
.me
.REG
[9] = fra
.me
.REG
[9];
3894 fra
.me
.REG
[9] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
3895 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___MapIterator___item(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3896 REGB1
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
3897 if (UNTAG_Bool(REGB1
)) {
3898 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 546);
3900 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3901 fra
.me
.REG
[8] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
3902 if (!once_value_14
) {
3903 fra
.me
.REG
[9] = BOX_NativeString(": ");
3905 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
3906 once_value_14
= fra
.me
.REG
[9];
3907 register_static_object(&once_value_14
);
3908 } else fra
.me
.REG
[9] = once_value_14
;
3909 fra
.me
.REG
[9] = fra
.me
.REG
[9];
3910 fra
.me
.REG
[9] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
3911 fra
.me
.REG
[9] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[6]);
3912 if (!once_value_15
) {
3913 fra
.me
.REG
[8] = BOX_NativeString("->has_broke = 0; goto ");
3914 REGB1
= TAG_Int(22);
3915 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3916 once_value_15
= fra
.me
.REG
[8];
3917 register_static_object(&once_value_15
);
3918 } else fra
.me
.REG
[8] = once_value_15
;
3919 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3920 fra
.me
.REG
[8] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
3921 fra
.me
.REG
[9] = CALL_compiling___compiling_icode___I2CCompilerVisitor___lab(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3922 fra
.me
.REG
[9] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
3923 if (!once_value_16
) {
3924 fra
.me
.REG
[8] = BOX_NativeString(";\n");
3926 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3927 once_value_16
= fra
.me
.REG
[8];
3928 register_static_object(&once_value_16
);
3929 } else fra
.me
.REG
[8] = once_value_16
;
3930 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3931 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
3933 /* ./compiling//compiling_icode.nit:549 */
3934 REGB1
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3935 if (UNTAG_Bool(REGB1
)) {
3937 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_icode
, 549);
3939 /* ./compiling//compiling_icode.nit:550 */
3940 CALL_compiling___compiling_icode___I2CCompilerVisitor___register_escape_label(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3941 /* ./compiling//compiling_icode.nit:551 */
3942 REGB1
= TAG_Bool(true);
3945 /* ./compiling//compiling_icode.nit:553 */
3946 CALL_standard___collection___abstract_collection___MapIterator___next(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3948 /* ./compiling//compiling_icode.nit:541 */
3953 /* ./compiling//compiling_icode.nit:556 */
3954 if (UNTAG_Bool(REGB0
)) {
3955 /* ./compiling//compiling_icode.nit:559 */
3956 fra
.me
.REG
[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3957 if (!once_value_18
) {
3958 fra
.me
.REG
[6] = BOX_NativeString("default: goto ");
3959 REGB0
= TAG_Int(14);
3960 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3961 once_value_18
= fra
.me
.REG
[6];
3962 register_static_object(&once_value_18
);
3963 } else fra
.me
.REG
[6] = once_value_18
;
3964 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3965 fra
.me
.REG
[6] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
3966 fra
.me
.REG
[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___return_label(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3967 REGB0
= TAG_Bool(fra
.me
.REG
[7]!=NIT_NULL
);
3968 if (UNTAG_Bool(REGB0
)) {
3970 nit_abort("Cast failed", NULL
, LOCATE_compiling___compiling_icode
, 559);
3972 fra
.me
.REG
[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___lab(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
3973 fra
.me
.REG
[7] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3974 if (!once_value_19
) {
3975 fra
.me
.REG
[6] = BOX_NativeString(";\n");
3977 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3978 once_value_19
= fra
.me
.REG
[6];
3979 register_static_object(&once_value_19
);
3980 } else fra
.me
.REG
[6] = once_value_19
;
3981 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3982 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
3984 /* ./compiling//compiling_icode.nit:561 */
3985 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3986 /* ./compiling//compiling_icode.nit:562 */
3987 if (!once_value_20
) {
3988 fra
.me
.REG
[6] = BOX_NativeString("}");
3990 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3991 once_value_20
= fra
.me
.REG
[6];
3992 register_static_object(&once_value_20
);
3993 } else fra
.me
.REG
[6] = once_value_20
;
3994 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3995 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3998 /* ./compiling//compiling_icode.nit:566 */
3999 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4000 if (UNTAG_Bool(REGB0
)) {
4002 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4003 if (UNTAG_Bool(REGB1
)) {
4004 REGB1
= TAG_Bool(false);
4007 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
4011 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4012 if (UNTAG_Bool(REGB0
)) {
4013 /* ./compiling//compiling_icode.nit:567 */
4014 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
4015 /* ./compiling//compiling_icode.nit:568 */
4016 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
4018 stack_frame_head
= fra
.me
.prev
;
4021 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
){
4022 struct {struct stack_frame_t me
;} fra
;
4027 static val_t once_value_4
; /* Once value */
4028 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4029 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4031 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAbsCall___compile_to_c
;
4032 fra
.me
.has_broke
= 0;
4033 fra
.me
.REG_size
= 1;
4034 fra
.me
.nitni_local_ref_head
= NULL
;
4035 fra
.me
.REG
[0] = NIT_NULL
;
4036 fra
.me
.closure_ctx
= closctx_param
;
4037 fra
.me
.closure_funs
= CREG
;
4039 CREG
[0] = clos_fun0
;
4040 /* ./compiling//compiling_icode.nit:500 */
4041 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4042 if (UNTAG_Bool(REGB0
)) {
4044 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4045 if (UNTAG_Bool(REGB1
)) {
4046 REGB1
= TAG_Bool(false);
4049 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
4053 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4054 if (UNTAG_Bool(REGB0
)) {
4055 /* ./compiling//compiling_icode.nit:501 */
4056 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4057 if (UNTAG_Bool(REGB0
)) {
4058 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 501);
4060 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___IClosureDef___compile_closure(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
4061 /* ./compiling//compiling_icode.nit:502 */
4062 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[0]);
4064 /* ./compiling//compiling_icode.nit:504 */
4065 if (!once_value_4
) {
4066 fra
.me
.REG
[0] = BOX_NativeString("NULL");
4068 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4069 once_value_4
= fra
.me
.REG
[0];
4070 register_static_object(&once_value_4
);
4071 } else fra
.me
.REG
[0] = once_value_4
;
4072 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4073 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[0]);
4075 stack_frame_head
= fra
.me
.prev
;
4078 val_t
compiling___compiling_icode___IAbsCall___compile_call_to_c(val_t p0
, val_t p1
, val_t p2
){
4079 struct {struct stack_frame_t me
;} fra
;
4081 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4082 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4084 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAbsCall___compile_call_to_c
;
4085 fra
.me
.has_broke
= 0;
4086 fra
.me
.REG_size
= 0;
4087 fra
.me
.nitni_local_ref_head
= NULL
;
4088 /* ./compiling//compiling_icode.nit:572 */
4089 nit_abort("Deferred method called", NULL
, LOCATE_compiling___compiling_icode
, 572);
4090 stack_frame_head
= fra
.me
.prev
;
4093 val_t
compiling___compiling_icode___ICall___compile_call_to_c(val_t p0
, val_t p1
, val_t p2
){
4094 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
4097 static val_t once_value_2
; /* Once value */
4098 static val_t once_value_3
; /* Once value */
4099 static val_t once_value_4
; /* Once value */
4100 static val_t once_value_5
; /* Once value */
4101 static val_t once_value_6
; /* Once value */
4102 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4103 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4105 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICall___compile_call_to_c
;
4106 fra
.me
.has_broke
= 0;
4107 fra
.me
.REG_size
= 5;
4108 fra
.me
.nitni_local_ref_head
= NULL
;
4109 fra
.me
.REG
[0] = NIT_NULL
;
4110 fra
.me
.REG
[1] = NIT_NULL
;
4111 fra
.me
.REG
[2] = NIT_NULL
;
4112 fra
.me
.REG
[3] = NIT_NULL
;
4113 fra
.me
.REG
[4] = NIT_NULL
;
4117 /* ./compiling//compiling_icode.nit:579 */
4118 fra
.me
.REG
[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
4119 /* ./compiling//compiling_icode.nit:583 */
4120 REGB0
= CALL_icode___icode_base___IAbsCall___is_explicit_from_extern(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4121 if (UNTAG_Bool(REGB0
)) {
4122 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4125 /* ./compiling//compiling_icode.nit:585 */
4126 fra
.me
.REG
[0] = CALL_icode___icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4127 /* ./compiling//compiling_icode.nit:586 */
4128 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4129 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4130 if (UNTAG_Bool(REGB0
)) {
4131 if (!once_value_2
) {
4132 fra
.me
.REG
[4] = BOX_NativeString("init_table");
4133 REGB0
= TAG_Int(10);
4134 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4135 once_value_2
= fra
.me
.REG
[4];
4136 register_static_object(&once_value_2
);
4137 } else fra
.me
.REG
[4] = once_value_2
;
4138 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4139 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4141 /* ./compiling//compiling_icode.nit:587 */
4142 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4143 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalProperty___meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4144 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4145 /* ./compiling//compiling_icode.nit:588 */
4146 if (!once_value_3
) {
4147 fra
.me
.REG
[0] = BOX_NativeString("(");
4149 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4150 once_value_3
= fra
.me
.REG
[0];
4151 register_static_object(&once_value_3
);
4152 } else fra
.me
.REG
[0] = once_value_3
;
4153 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4154 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4155 /* ./compiling//compiling_icode.nit:589 */
4156 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4157 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4158 /* ./compiling//compiling_icode.nit:590 */
4159 if (!once_value_4
) {
4160 fra
.me
.REG
[0] = BOX_NativeString(")(");
4162 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4163 once_value_4
= fra
.me
.REG
[0];
4164 register_static_object(&once_value_4
);
4165 } else fra
.me
.REG
[0] = once_value_4
;
4166 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4167 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4168 /* ./compiling//compiling_icode.nit:591 */
4169 if (!once_value_5
) {
4170 fra
.me
.REG
[0] = BOX_NativeString(", ");
4172 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4173 once_value_5
= fra
.me
.REG
[0];
4174 register_static_object(&once_value_5
);
4175 } else fra
.me
.REG
[0] = once_value_5
;
4176 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4177 CALL_compiling___compiling_writer___Writer___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4178 /* ./compiling//compiling_icode.nit:592 */
4179 if (!once_value_6
) {
4180 fra
.me
.REG
[0] = BOX_NativeString(")");
4182 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4183 once_value_6
= fra
.me
.REG
[0];
4184 register_static_object(&once_value_6
);
4185 } else fra
.me
.REG
[0] = once_value_6
;
4186 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4187 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4188 /* ./compiling//compiling_icode.nit:593 */
4189 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4192 stack_frame_head
= fra
.me
.prev
;
4193 return fra
.me
.REG
[3];
4195 val_t
compiling___compiling_icode___ISuper___compile_call_to_c(val_t p0
, val_t p1
, val_t p2
){
4196 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4199 static val_t once_value_2
; /* Once value */
4200 static val_t once_value_3
; /* Once value */
4201 static val_t once_value_4
; /* Once value */
4202 static val_t once_value_5
; /* Once value */
4203 static val_t once_value_6
; /* Once value */
4204 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4205 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4207 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ISuper___compile_call_to_c
;
4208 fra
.me
.has_broke
= 0;
4209 fra
.me
.REG_size
= 4;
4210 fra
.me
.nitni_local_ref_head
= NULL
;
4211 fra
.me
.REG
[0] = NIT_NULL
;
4212 fra
.me
.REG
[1] = NIT_NULL
;
4213 fra
.me
.REG
[2] = NIT_NULL
;
4214 fra
.me
.REG
[3] = NIT_NULL
;
4218 /* ./compiling//compiling_icode.nit:602 */
4219 REGB0
= CALL_icode___icode_base___IAbsCall___is_explicit_from_extern(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4220 if (UNTAG_Bool(REGB0
)) {
4221 fra
.me
.REG
[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
4224 /* ./compiling//compiling_icode.nit:604 */
4225 fra
.me
.REG
[0] = CALL_icode___icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4226 /* ./compiling//compiling_icode.nit:605 */
4227 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4228 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4229 if (UNTAG_Bool(REGB0
)) {
4230 if (!once_value_2
) {
4231 fra
.me
.REG
[3] = BOX_NativeString("init_table");
4232 REGB0
= TAG_Int(10);
4233 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4234 once_value_2
= fra
.me
.REG
[3];
4235 register_static_object(&once_value_2
);
4236 } else fra
.me
.REG
[3] = once_value_2
;
4237 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4238 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4240 /* ./compiling//compiling_icode.nit:606 */
4241 fra
.me
.REG
[3] = NEW_Writer_compiling___compiling_writer___Writer___init();
4242 /* ./compiling//compiling_icode.nit:607 */
4243 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalProperty___super_meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4244 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4245 /* ./compiling//compiling_icode.nit:608 */
4246 if (!once_value_3
) {
4247 fra
.me
.REG
[0] = BOX_NativeString("(");
4249 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4250 once_value_3
= fra
.me
.REG
[0];
4251 register_static_object(&once_value_3
);
4252 } else fra
.me
.REG
[0] = once_value_3
;
4253 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4254 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4255 /* ./compiling//compiling_icode.nit:609 */
4256 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4257 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4258 /* ./compiling//compiling_icode.nit:610 */
4259 if (!once_value_4
) {
4260 fra
.me
.REG
[0] = BOX_NativeString(")(");
4262 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4263 once_value_4
= fra
.me
.REG
[0];
4264 register_static_object(&once_value_4
);
4265 } else fra
.me
.REG
[0] = once_value_4
;
4266 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4267 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4268 /* ./compiling//compiling_icode.nit:611 */
4269 if (!once_value_5
) {
4270 fra
.me
.REG
[0] = BOX_NativeString(", ");
4272 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4273 once_value_5
= fra
.me
.REG
[0];
4274 register_static_object(&once_value_5
);
4275 } else fra
.me
.REG
[0] = once_value_5
;
4276 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4277 CALL_compiling___compiling_writer___Writer___add_all(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4278 /* ./compiling//compiling_icode.nit:612 */
4279 if (!once_value_6
) {
4280 fra
.me
.REG
[0] = BOX_NativeString(")");
4282 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4283 once_value_6
= fra
.me
.REG
[0];
4284 register_static_object(&once_value_6
);
4285 } else fra
.me
.REG
[0] = once_value_6
;
4286 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4287 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4288 /* ./compiling//compiling_icode.nit:613 */
4289 fra
.me
.REG
[1] = fra
.me
.REG
[3];
4292 stack_frame_head
= fra
.me
.prev
;
4293 return fra
.me
.REG
[1];
4295 val_t
compiling___compiling_icode___INew___compile_call_to_c(val_t p0
, val_t p1
, val_t p2
){
4296 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
4299 static val_t once_value_2
; /* Once value */
4300 static val_t once_value_3
; /* Once value */
4301 static val_t once_value_4
; /* Once value */
4302 static val_t once_value_5
; /* Once value */
4303 static val_t once_value_6
; /* Once value */
4304 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4305 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4307 fra
.me
.meth
= LOCATE_compiling___compiling_icode___INew___compile_call_to_c
;
4308 fra
.me
.has_broke
= 0;
4309 fra
.me
.REG_size
= 5;
4310 fra
.me
.nitni_local_ref_head
= NULL
;
4311 fra
.me
.REG
[0] = NIT_NULL
;
4312 fra
.me
.REG
[1] = NIT_NULL
;
4313 fra
.me
.REG
[2] = NIT_NULL
;
4314 fra
.me
.REG
[3] = NIT_NULL
;
4315 fra
.me
.REG
[4] = NIT_NULL
;
4319 /* ./compiling//compiling_icode.nit:620 */
4320 fra
.me
.REG
[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
4321 /* ./compiling//compiling_icode.nit:624 */
4322 REGB0
= CALL_icode___icode_base___IAbsCall___is_explicit_from_extern(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4323 if (UNTAG_Bool(REGB0
)) {
4324 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4327 /* ./compiling//compiling_icode.nit:626 */
4328 if (!once_value_2
) {
4329 fra
.me
.REG
[4] = BOX_NativeString("NEW_");
4331 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4332 once_value_2
= fra
.me
.REG
[4];
4333 register_static_object(&once_value_2
);
4334 } else fra
.me
.REG
[4] = once_value_2
;
4335 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4336 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4337 /* ./compiling//compiling_icode.nit:627 */
4338 fra
.me
.REG
[4] = CALL_icode___icode_base___INew___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4339 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4340 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4341 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4342 /* ./compiling//compiling_icode.nit:628 */
4343 if (!once_value_3
) {
4344 fra
.me
.REG
[4] = BOX_NativeString("_");
4346 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4347 once_value_3
= fra
.me
.REG
[4];
4348 register_static_object(&once_value_3
);
4349 } else fra
.me
.REG
[4] = once_value_3
;
4350 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4351 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4352 /* ./compiling//compiling_icode.nit:629 */
4353 fra
.me
.REG
[0] = CALL_icode___icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4354 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4355 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4356 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4357 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4358 /* ./compiling//compiling_icode.nit:630 */
4359 if (!once_value_4
) {
4360 fra
.me
.REG
[0] = BOX_NativeString("(");
4362 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4363 once_value_4
= fra
.me
.REG
[0];
4364 register_static_object(&once_value_4
);
4365 } else fra
.me
.REG
[0] = once_value_4
;
4366 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4367 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4368 /* ./compiling//compiling_icode.nit:631 */
4369 if (!once_value_5
) {
4370 fra
.me
.REG
[0] = BOX_NativeString(", ");
4372 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4373 once_value_5
= fra
.me
.REG
[0];
4374 register_static_object(&once_value_5
);
4375 } else fra
.me
.REG
[0] = once_value_5
;
4376 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4377 CALL_compiling___compiling_writer___Writer___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4378 /* ./compiling//compiling_icode.nit:632 */
4379 if (!once_value_6
) {
4380 fra
.me
.REG
[0] = BOX_NativeString(")");
4382 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4383 once_value_6
= fra
.me
.REG
[0];
4384 register_static_object(&once_value_6
);
4385 } else fra
.me
.REG
[0] = once_value_6
;
4386 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4387 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4388 /* ./compiling//compiling_icode.nit:633 */
4389 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4392 stack_frame_head
= fra
.me
.prev
;
4393 return fra
.me
.REG
[3];
4395 void compiling___compiling_icode___IAllocateInstance___compile_to_c(val_t p0
, val_t p1
){
4396 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
4399 static val_t once_value_1
; /* Once value */
4400 static val_t once_value_2
; /* Once value */
4401 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4402 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4404 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAllocateInstance___compile_to_c
;
4405 fra
.me
.has_broke
= 0;
4406 fra
.me
.REG_size
= 3;
4407 fra
.me
.nitni_local_ref_head
= NULL
;
4408 fra
.me
.REG
[0] = NIT_NULL
;
4409 fra
.me
.REG
[1] = NIT_NULL
;
4410 fra
.me
.REG
[2] = NIT_NULL
;
4413 /* ./compiling//compiling_icode.nit:640 */
4414 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4415 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4416 /* ./compiling//compiling_icode.nit:641 */
4417 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4418 /* ./compiling//compiling_icode.nit:642 */
4419 if (!once_value_1
) {
4420 fra
.me
.REG
[2] = BOX_NativeString("NEW_");
4422 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
4423 once_value_1
= fra
.me
.REG
[2];
4424 register_static_object(&once_value_1
);
4425 } else fra
.me
.REG
[2] = once_value_1
;
4426 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4427 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4428 /* ./compiling//compiling_icode.nit:643 */
4429 fra
.me
.REG
[0] = CALL_icode___icode_base___IAllocateInstance___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4430 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4431 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4432 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4433 /* ./compiling//compiling_icode.nit:644 */
4434 if (!once_value_2
) {
4435 fra
.me
.REG
[0] = BOX_NativeString("()");
4437 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4438 once_value_2
= fra
.me
.REG
[0];
4439 register_static_object(&once_value_2
);
4440 } else fra
.me
.REG
[0] = once_value_2
;
4441 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4442 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4443 stack_frame_head
= fra
.me
.prev
;
4446 void compiling___compiling_icode___ICheckInstance___compile_to_c(val_t p0
, val_t p1
){
4447 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4450 static val_t once_value_1
; /* Once value */
4451 static val_t once_value_2
; /* Once value */
4452 static val_t once_value_3
; /* Once value */
4453 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4454 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4456 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICheckInstance___compile_to_c
;
4457 fra
.me
.has_broke
= 0;
4458 fra
.me
.REG_size
= 4;
4459 fra
.me
.nitni_local_ref_head
= NULL
;
4460 fra
.me
.REG
[0] = NIT_NULL
;
4461 fra
.me
.REG
[1] = NIT_NULL
;
4462 fra
.me
.REG
[2] = NIT_NULL
;
4463 fra
.me
.REG
[3] = NIT_NULL
;
4466 /* ./compiling//compiling_icode.nit:651 */
4467 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4468 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4469 /* ./compiling//compiling_icode.nit:652 */
4470 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4471 /* ./compiling//compiling_icode.nit:653 */
4472 if (!once_value_1
) {
4473 fra
.me
.REG
[3] = BOX_NativeString("CHECKNEW_");
4475 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4476 once_value_1
= fra
.me
.REG
[3];
4477 register_static_object(&once_value_1
);
4478 } else fra
.me
.REG
[3] = once_value_1
;
4479 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4480 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4481 /* ./compiling//compiling_icode.nit:654 */
4482 fra
.me
.REG
[3] = CALL_icode___icode_base___ICheckInstance___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4483 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4484 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4485 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4486 /* ./compiling//compiling_icode.nit:655 */
4487 if (!once_value_2
) {
4488 fra
.me
.REG
[3] = BOX_NativeString("(");
4490 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4491 once_value_2
= fra
.me
.REG
[3];
4492 register_static_object(&once_value_2
);
4493 } else fra
.me
.REG
[3] = once_value_2
;
4494 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4495 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4496 /* ./compiling//compiling_icode.nit:656 */
4497 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4498 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4499 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
4500 /* ./compiling//compiling_icode.nit:657 */
4501 if (!once_value_3
) {
4502 fra
.me
.REG
[0] = BOX_NativeString(")");
4504 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4505 once_value_3
= fra
.me
.REG
[0];
4506 register_static_object(&once_value_3
);
4507 } else fra
.me
.REG
[0] = once_value_3
;
4508 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4509 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
4510 stack_frame_head
= fra
.me
.prev
;
4513 void compiling___compiling_icode___IInitAttributes___compile_to_c(val_t p0
, val_t p1
){
4514 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4517 static val_t once_value_1
; /* Once value */
4518 static val_t once_value_2
; /* Once value */
4519 static val_t once_value_3
; /* Once value */
4520 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4521 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4523 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IInitAttributes___compile_to_c
;
4524 fra
.me
.has_broke
= 0;
4525 fra
.me
.REG_size
= 4;
4526 fra
.me
.nitni_local_ref_head
= NULL
;
4527 fra
.me
.REG
[0] = NIT_NULL
;
4528 fra
.me
.REG
[1] = NIT_NULL
;
4529 fra
.me
.REG
[2] = NIT_NULL
;
4530 fra
.me
.REG
[3] = NIT_NULL
;
4533 /* ./compiling//compiling_icode.nit:664 */
4534 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4535 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4536 /* ./compiling//compiling_icode.nit:665 */
4537 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4538 /* ./compiling//compiling_icode.nit:666 */
4539 if (!once_value_1
) {
4540 fra
.me
.REG
[3] = BOX_NativeString("INIT_ATTRIBUTES__");
4541 REGB0
= TAG_Int(17);
4542 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4543 once_value_1
= fra
.me
.REG
[3];
4544 register_static_object(&once_value_1
);
4545 } else fra
.me
.REG
[3] = once_value_1
;
4546 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4547 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4548 /* ./compiling//compiling_icode.nit:667 */
4549 fra
.me
.REG
[3] = CALL_icode___icode_base___IInitAttributes___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4550 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4551 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4552 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4553 /* ./compiling//compiling_icode.nit:668 */
4554 if (!once_value_2
) {
4555 fra
.me
.REG
[3] = BOX_NativeString("(");
4557 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4558 once_value_2
= fra
.me
.REG
[3];
4559 register_static_object(&once_value_2
);
4560 } else fra
.me
.REG
[3] = once_value_2
;
4561 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4562 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4563 /* ./compiling//compiling_icode.nit:669 */
4564 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4565 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4566 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
4567 /* ./compiling//compiling_icode.nit:670 */
4568 if (!once_value_3
) {
4569 fra
.me
.REG
[0] = BOX_NativeString(");\n");
4571 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4572 once_value_3
= fra
.me
.REG
[0];
4573 register_static_object(&once_value_3
);
4574 } else fra
.me
.REG
[0] = once_value_3
;
4575 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4576 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
4577 stack_frame_head
= fra
.me
.prev
;
4580 val_t
compiling___compiling_icode___IStaticCall___compile_call_to_c(val_t p0
, val_t p1
, val_t p2
){
4581 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
4584 static val_t once_value_1
; /* Once value */
4585 static val_t once_value_2
; /* Once value */
4586 static val_t once_value_3
; /* Once value */
4587 static val_t once_value_4
; /* Once value */
4588 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4589 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4591 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IStaticCall___compile_call_to_c
;
4592 fra
.me
.has_broke
= 0;
4593 fra
.me
.REG_size
= 3;
4594 fra
.me
.nitni_local_ref_head
= NULL
;
4595 fra
.me
.REG
[0] = NIT_NULL
;
4596 fra
.me
.REG
[1] = NIT_NULL
;
4597 fra
.me
.REG
[2] = NIT_NULL
;
4601 /* ./compiling//compiling_icode.nit:677 */
4602 fra
.me
.REG
[1] = CALL_icode___icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4603 /* ./compiling//compiling_icode.nit:678 */
4604 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4605 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4606 if (UNTAG_Bool(REGB0
)) {
4607 if (!once_value_1
) {
4608 fra
.me
.REG
[1] = BOX_NativeString("init_table");
4609 REGB0
= TAG_Int(10);
4610 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
4611 once_value_1
= fra
.me
.REG
[1];
4612 register_static_object(&once_value_1
);
4613 } else fra
.me
.REG
[1] = once_value_1
;
4614 fra
.me
.REG
[1] = fra
.me
.REG
[1];
4615 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
4617 /* ./compiling//compiling_icode.nit:679 */
4618 fra
.me
.REG
[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
4619 /* ./compiling//compiling_icode.nit:680 */
4620 fra
.me
.REG
[0] = CALL_icode___icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4621 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4622 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4623 /* ./compiling//compiling_icode.nit:681 */
4624 if (!once_value_2
) {
4625 fra
.me
.REG
[0] = BOX_NativeString("(");
4627 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4628 once_value_2
= fra
.me
.REG
[0];
4629 register_static_object(&once_value_2
);
4630 } else fra
.me
.REG
[0] = once_value_2
;
4631 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4632 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4633 /* ./compiling//compiling_icode.nit:682 */
4634 if (!once_value_3
) {
4635 fra
.me
.REG
[0] = BOX_NativeString(", ");
4637 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4638 once_value_3
= fra
.me
.REG
[0];
4639 register_static_object(&once_value_3
);
4640 } else fra
.me
.REG
[0] = once_value_3
;
4641 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4642 CALL_compiling___compiling_writer___Writer___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4643 /* ./compiling//compiling_icode.nit:683 */
4644 if (!once_value_4
) {
4645 fra
.me
.REG
[0] = BOX_NativeString(")");
4647 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4648 once_value_4
= fra
.me
.REG
[0];
4649 register_static_object(&once_value_4
);
4650 } else fra
.me
.REG
[0] = once_value_4
;
4651 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4652 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4653 /* ./compiling//compiling_icode.nit:684 */
4656 stack_frame_head
= fra
.me
.prev
;
4657 return fra
.me
.REG
[1];
4659 void compiling___compiling_icode___INative___compile_to_c(val_t p0
, val_t p1
){
4660 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
4663 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4664 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4666 fra
.me
.meth
= LOCATE_compiling___compiling_icode___INative___compile_to_c
;
4667 fra
.me
.has_broke
= 0;
4668 fra
.me
.REG_size
= 3;
4669 fra
.me
.nitni_local_ref_head
= NULL
;
4670 fra
.me
.REG
[0] = NIT_NULL
;
4671 fra
.me
.REG
[1] = NIT_NULL
;
4672 fra
.me
.REG
[2] = NIT_NULL
;
4675 /* ./compiling//compiling_icode.nit:691 */
4676 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4677 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4678 /* ./compiling//compiling_icode.nit:692 */
4679 fra
.me
.REG
[2] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4680 REGB0
= CALL_metamodel___abstractmetamodel___MMMethod___is_intern(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4681 if (UNTAG_Bool(REGB0
)) {
4682 /* ./compiling//compiling_icode.nit:693 */
4683 CALL_compiling___compiling_icode___INative___compile_intern_method_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4685 /* ./compiling//compiling_icode.nit:694 */
4686 fra
.me
.REG
[2] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4687 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4688 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4689 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4690 if (UNTAG_Bool(REGB0
)) {
4691 /* ./compiling//compiling_icode.nit:695 */
4692 CALL_compiling___compiling_icode___INative___compile_extern_method_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4695 stack_frame_head
= fra
.me
.prev
;
4698 void compiling___compiling_icode___INative___compile_extern_method_to_c(val_t p0
, val_t p1
){
4699 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
4706 static val_t once_value_1
; /* Once value */
4707 static val_t once_value_2
; /* Once value */
4708 static val_t once_value_6
; /* Once value */
4709 static val_t once_value_7
; /* Once value */
4710 static val_t once_value_8
; /* Once value */
4711 static val_t once_value_9
; /* Once value */
4712 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4713 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4715 fra
.me
.meth
= LOCATE_compiling___compiling_icode___INative___compile_extern_method_to_c
;
4716 fra
.me
.has_broke
= 0;
4717 fra
.me
.REG_size
= 7;
4718 fra
.me
.nitni_local_ref_head
= NULL
;
4719 fra
.me
.REG
[0] = NIT_NULL
;
4720 fra
.me
.REG
[1] = NIT_NULL
;
4721 fra
.me
.REG
[2] = NIT_NULL
;
4722 fra
.me
.REG
[3] = NIT_NULL
;
4723 fra
.me
.REG
[4] = NIT_NULL
;
4724 fra
.me
.REG
[5] = NIT_NULL
;
4725 fra
.me
.REG
[6] = NIT_NULL
;
4728 /* ./compiling//compiling_icode.nit:701 */
4730 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4731 if (!once_value_1
) {
4732 fra
.me
.REG
[3] = BOX_NativeString("");
4734 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4735 once_value_1
= fra
.me
.REG
[3];
4736 register_static_object(&once_value_1
);
4737 } else fra
.me
.REG
[3] = once_value_1
;
4738 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4739 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4740 fra
.me
.REG
[3] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4741 fra
.me
.REG
[4] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4742 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4743 fra
.me
.REG
[4] = CALL_primitive_info___MMMethod___friendly_extern_name(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4744 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4745 if (!once_value_2
) {
4746 fra
.me
.REG
[4] = BOX_NativeString("___out");
4748 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4749 once_value_2
= fra
.me
.REG
[4];
4750 register_static_object(&once_value_2
);
4751 } else fra
.me
.REG
[4] = once_value_2
;
4752 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4753 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4754 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4755 /* ./compiling//compiling_icode.nit:703 */
4756 fra
.me
.REG
[4] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4757 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4758 /* ./compiling//compiling_icode.nit:704 */
4759 fra
.me
.REG
[3] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4760 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4761 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4762 if (UNTAG_Bool(REGB1
)) {
4763 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 704);
4765 REGB1
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4767 /* ./../lib/standard//kernel.nit:235 */
4768 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
4769 /* ./compiling//compiling_icode.nit:704 */
4770 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB2
));
4771 if (UNTAG_Bool(REGB1
)) {
4773 /* ./../lib/standard//kernel.nit:227 */
4774 REGB2
= TAG_Bool((REGB0
)==(REGB2
));
4775 /* ./compiling//compiling_icode.nit:704 */
4778 if (UNTAG_Bool(REGB1
)) {
4780 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_icode
, 704);
4782 /* ./compiling//compiling_icode.nit:706 */
4783 fra
.me
.REG
[3] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4784 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___registers(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
4785 /* ./compiling//compiling_icode.nit:708 */
4786 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___init();
4787 /* ./compiling//compiling_icode.nit:709 */
4789 /* ./../lib/standard//collection//array.nit:278 */
4790 fra
.me
.REG
[6] = fra
.me
.REG
[3];
4791 /* ./../lib/standard//collection//array.nit:280 */
4793 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
4794 if (UNTAG_Bool(REGB0
)) {
4796 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4798 /* ./../lib/standard//kernel.nit:233 */
4799 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
4800 /* ./../lib/standard//collection//array.nit:280 */
4801 if (UNTAG_Bool(REGB2
)) {
4802 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
4803 if (UNTAG_Bool(REGB2
)) {
4805 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
4807 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6]);
4808 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
4809 if (UNTAG_Bool(REGB0
)) {
4811 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4813 /* ./../lib/standard//kernel.nit:232 */
4814 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
4816 /* ./../lib/standard//collection//array.nit:280 */
4817 REGB0
= TAG_Bool(false);
4820 if (UNTAG_Bool(REGB2
)) {
4822 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
4824 /* ./../lib/standard//collection//array.nit:281 */
4825 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[6]);
4826 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
4827 if (UNTAG_Bool(REGB2
)) {
4828 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
4830 /* ./../lib/standard//collection//array.nit:718 */
4831 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB1
)];
4832 /* ./../lib/standard//collection//array.nit:281 */
4835 /* ./compiling//compiling_icode.nit:709 */
4836 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4837 /* ./compiling//compiling_icode.nit:710 */
4839 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4840 if (UNTAG_Bool(REGB2
)) {
4841 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 710);
4843 REGB2
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4844 /* ./../lib/standard//kernel.nit:352 */
4846 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
4847 if (UNTAG_Bool(REGB0
)) {
4849 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4851 /* ./../lib/standard//kernel.nit:232 */
4852 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
4853 /* ./../lib/standard//kernel.nit:352 */
4854 if (UNTAG_Bool(REGB0
)) {
4855 /* ./compiling//compiling_icode.nit:710 */
4857 /* ./compiling//compiling_icode.nit:711 */
4859 /* ./../lib/standard//kernel.nit:235 */
4860 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
4861 /* ./../lib/standard//collection//array.nit:278 */
4862 fra
.me
.REG
[4] = fra
.me
.REG
[3];
4863 /* ./../lib/standard//collection//array.nit:280 */
4865 REGB4
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
4866 if (UNTAG_Bool(REGB4
)) {
4868 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4870 /* ./../lib/standard//kernel.nit:233 */
4871 REGB0
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB0
));
4872 /* ./../lib/standard//collection//array.nit:280 */
4873 if (UNTAG_Bool(REGB0
)) {
4874 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
4875 if (UNTAG_Bool(REGB0
)) {
4877 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
4879 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
4880 REGB4
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
4881 if (UNTAG_Bool(REGB4
)) {
4883 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4885 /* ./../lib/standard//kernel.nit:232 */
4886 REGB0
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB0
));
4888 /* ./../lib/standard//collection//array.nit:280 */
4889 REGB4
= TAG_Bool(false);
4892 if (UNTAG_Bool(REGB0
)) {
4894 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
4896 /* ./../lib/standard//collection//array.nit:281 */
4897 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
4898 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4899 if (UNTAG_Bool(REGB0
)) {
4900 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
4902 /* ./../lib/standard//collection//array.nit:718 */
4903 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB3
)];
4904 /* ./../lib/standard//collection//array.nit:281 */
4907 /* ./compiling//compiling_icode.nit:711 */
4908 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
4909 /* ./../lib/standard//kernel.nit:354 */
4911 /* ./../lib/standard//kernel.nit:235 */
4912 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
4913 /* ./../lib/standard//kernel.nit:354 */
4916 /* ./../lib/standard//kernel.nit:352 */
4921 /* ./compiling//compiling_icode.nit:713 */
4923 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4924 if (!once_value_6
) {
4925 fra
.me
.REG
[4] = BOX_NativeString("");
4927 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
4928 once_value_6
= fra
.me
.REG
[4];
4929 register_static_object(&once_value_6
);
4930 } else fra
.me
.REG
[4] = once_value_6
;
4931 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4932 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4933 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4934 if (!once_value_7
) {
4935 fra
.me
.REG
[2] = BOX_NativeString("(");
4937 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
4938 once_value_7
= fra
.me
.REG
[2];
4939 register_static_object(&once_value_7
);
4940 } else fra
.me
.REG
[2] = once_value_7
;
4941 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4942 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4943 if (!once_value_8
) {
4944 fra
.me
.REG
[2] = BOX_NativeString(", ");
4946 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
4947 once_value_8
= fra
.me
.REG
[2];
4948 register_static_object(&once_value_8
);
4949 } else fra
.me
.REG
[2] = once_value_8
;
4950 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4951 fra
.me
.REG
[2] = CALL_standard___string___Collection___join(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
4952 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4953 if (!once_value_9
) {
4954 fra
.me
.REG
[2] = BOX_NativeString(")");
4956 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
4957 once_value_9
= fra
.me
.REG
[2];
4958 register_static_object(&once_value_9
);
4959 } else fra
.me
.REG
[2] = once_value_9
;
4960 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4961 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4962 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4963 /* ./compiling//compiling_icode.nit:715 */
4964 REGB1
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4965 if (UNTAG_Bool(REGB1
)) {
4967 /* ./compiling//compiling_icode.nit:716 */
4968 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4969 /* ./compiling//compiling_icode.nit:717 */
4970 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
4971 stack_frame_head
= fra
.me
.prev
;
4974 void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
, val_t p1
){
4975 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
4980 static val_t once_value_1
; /* Once value */
4981 static val_t once_value_2
; /* Once value */
4982 static val_t once_value_3
; /* Once value */
4983 static val_t once_value_4
; /* Once value */
4984 static val_t once_value_6
; /* Once value */
4985 static val_t once_value_7
; /* Once value */
4986 static val_t once_value_8
; /* Once value */
4987 static val_t once_value_10
; /* Once value */
4988 static val_t once_value_11
; /* Once value */
4989 static val_t once_value_12
; /* Once value */
4990 static val_t once_value_13
; /* Once value */
4991 static val_t once_value_15
; /* Once value */
4992 static val_t once_value_16
; /* Once value */
4993 static val_t once_value_17
; /* Once value */
4994 static val_t once_value_18
; /* Once value */
4995 static val_t once_value_20
; /* Once value */
4996 static val_t once_value_21
; /* Once value */
4997 static val_t once_value_22
; /* Once value */
4998 static val_t once_value_23
; /* Once value */
4999 static val_t once_value_25
; /* Once value */
5000 static val_t once_value_26
; /* Once value */
5001 static val_t once_value_27
; /* Once value */
5002 static val_t once_value_28
; /* Once value */
5003 static val_t once_value_30
; /* Once value */
5004 static val_t once_value_31
; /* Once value */
5005 static val_t once_value_32
; /* Once value */
5006 static val_t once_value_33
; /* Once value */
5007 static val_t once_value_35
; /* Once value */
5008 static val_t once_value_36
; /* Once value */
5009 static val_t once_value_37
; /* Once value */
5010 static val_t once_value_38
; /* Once value */
5011 static val_t once_value_40
; /* Once value */
5012 static val_t once_value_42
; /* Once value */
5013 static val_t once_value_43
; /* Once value */
5014 static val_t once_value_44
; /* Once value */
5015 static val_t once_value_45
; /* Once value */
5016 static val_t once_value_47
; /* Once value */
5017 static val_t once_value_49
; /* Once value */
5018 static val_t once_value_50
; /* Once value */
5019 static val_t once_value_51
; /* Once value */
5020 static val_t once_value_52
; /* Once value */
5021 static val_t once_value_54
; /* Once value */
5022 static val_t once_value_56
; /* Once value */
5023 static val_t once_value_57
; /* Once value */
5024 static val_t once_value_58
; /* Once value */
5025 static val_t once_value_59
; /* Once value */
5026 static val_t once_value_61
; /* Once value */
5027 static val_t once_value_63
; /* Once value */
5028 static val_t once_value_64
; /* Once value */
5029 static val_t once_value_65
; /* Once value */
5030 static val_t once_value_66
; /* Once value */
5031 static val_t once_value_68
; /* Once value */
5032 static val_t once_value_70
; /* Once value */
5033 static val_t once_value_71
; /* Once value */
5034 static val_t once_value_72
; /* Once value */
5035 static val_t once_value_73
; /* Once value */
5036 static val_t once_value_75
; /* Once value */
5037 static val_t once_value_77
; /* Once value */
5038 static val_t once_value_78
; /* Once value */
5039 static val_t once_value_79
; /* Once value */
5040 static val_t once_value_80
; /* Once value */
5041 static val_t once_value_82
; /* Once value */
5042 static val_t once_value_84
; /* Once value */
5043 static val_t once_value_85
; /* Once value */
5044 static val_t once_value_86
; /* Once value */
5045 static val_t once_value_87
; /* Once value */
5046 static val_t once_value_89
; /* Once value */
5047 static val_t once_value_91
; /* Once value */
5048 static val_t once_value_92
; /* Once value */
5049 static val_t once_value_93
; /* Once value */
5050 static val_t once_value_94
; /* Once value */
5051 static val_t once_value_96
; /* Once value */
5052 static val_t once_value_98
; /* Once value */
5053 static val_t once_value_99
; /* Once value */
5054 static val_t once_value_100
; /* Once value */
5055 static val_t once_value_101
; /* Once value */
5056 static val_t once_value_103
; /* Once value */
5057 static val_t once_value_105
; /* Once value */
5058 static val_t once_value_106
; /* Once value */
5059 static val_t once_value_107
; /* Once value */
5060 static val_t once_value_108
; /* Once value */
5061 static val_t once_value_110
; /* Once value */
5062 static val_t once_value_112
; /* Once value */
5063 static val_t once_value_113
; /* Once value */
5064 static val_t once_value_114
; /* Once value */
5065 static val_t once_value_115
; /* Once value */
5066 static val_t once_value_117
; /* Once value */
5067 static val_t once_value_119
; /* Once value */
5068 static val_t once_value_120
; /* Once value */
5069 static val_t once_value_121
; /* Once value */
5070 static val_t once_value_122
; /* Once value */
5071 static val_t once_value_124
; /* Once value */
5072 static val_t once_value_126
; /* Once value */
5073 static val_t once_value_127
; /* Once value */
5074 static val_t once_value_128
; /* Once value */
5075 static val_t once_value_129
; /* Once value */
5076 static val_t once_value_130
; /* Once value */
5077 static val_t once_value_131
; /* Once value */
5078 static val_t once_value_133
; /* Once value */
5079 static val_t once_value_134
; /* Once value */
5080 static val_t once_value_135
; /* Once value */
5081 static val_t once_value_136
; /* Once value */
5082 static val_t once_value_138
; /* Once value */
5083 static val_t once_value_139
; /* Once value */
5084 static val_t once_value_140
; /* Once value */
5085 static val_t once_value_141
; /* Once value */
5086 static val_t once_value_143
; /* Once value */
5087 static val_t once_value_144
; /* Once value */
5088 static val_t once_value_145
; /* Once value */
5089 static val_t once_value_146
; /* Once value */
5090 static val_t once_value_148
; /* Once value */
5091 static val_t once_value_149
; /* Once value */
5092 static val_t once_value_150
; /* Once value */
5093 static val_t once_value_151
; /* Once value */
5094 static val_t once_value_153
; /* Once value */
5095 static val_t once_value_155
; /* Once value */
5096 static val_t once_value_156
; /* Once value */
5097 static val_t once_value_157
; /* Once value */
5098 static val_t once_value_158
; /* Once value */
5099 static val_t once_value_160
; /* Once value */
5100 static val_t once_value_162
; /* Once value */
5101 static val_t once_value_163
; /* Once value */
5102 static val_t once_value_164
; /* Once value */
5103 static val_t once_value_165
; /* Once value */
5104 static val_t once_value_167
; /* Once value */
5105 static val_t once_value_169
; /* Once value */
5106 static val_t once_value_170
; /* Once value */
5107 static val_t once_value_171
; /* Once value */
5108 static val_t once_value_172
; /* Once value */
5109 static val_t once_value_174
; /* Once value */
5110 static val_t once_value_176
; /* Once value */
5111 static val_t once_value_177
; /* Once value */
5112 static val_t once_value_178
; /* Once value */
5113 static val_t once_value_179
; /* Once value */
5114 static val_t once_value_181
; /* Once value */
5115 static val_t once_value_183
; /* Once value */
5116 static val_t once_value_184
; /* Once value */
5117 static val_t once_value_185
; /* Once value */
5118 static val_t once_value_186
; /* Once value */
5119 static val_t once_value_188
; /* Once value */
5120 static val_t once_value_190
; /* Once value */
5121 static val_t once_value_191
; /* Once value */
5122 static val_t once_value_192
; /* Once value */
5123 static val_t once_value_193
; /* Once value */
5124 static val_t once_value_195
; /* Once value */
5125 static val_t once_value_197
; /* Once value */
5126 static val_t once_value_198
; /* Once value */
5127 static val_t once_value_199
; /* Once value */
5128 static val_t once_value_200
; /* Once value */
5129 static val_t once_value_202
; /* Once value */
5130 static val_t once_value_204
; /* Once value */
5131 static val_t once_value_205
; /* Once value */
5132 static val_t once_value_206
; /* Once value */
5133 static val_t once_value_207
; /* Once value */
5134 static val_t once_value_208
; /* Once value */
5135 static val_t once_value_209
; /* Once value */
5136 static val_t once_value_211
; /* Once value */
5137 static val_t once_value_212
; /* Once value */
5138 static val_t once_value_213
; /* Once value */
5139 static val_t once_value_214
; /* Once value */
5140 static val_t once_value_216
; /* Once value */
5141 static val_t once_value_217
; /* Once value */
5142 static val_t once_value_218
; /* Once value */
5143 static val_t once_value_219
; /* Once value */
5144 static val_t once_value_221
; /* Once value */
5145 static val_t once_value_222
; /* Once value */
5146 static val_t once_value_223
; /* Once value */
5147 static val_t once_value_224
; /* Once value */
5148 static val_t once_value_226
; /* Once value */
5149 static val_t once_value_227
; /* Once value */
5150 static val_t once_value_228
; /* Once value */
5151 static val_t once_value_229
; /* Once value */
5152 static val_t once_value_231
; /* Once value */
5153 static val_t once_value_232
; /* Once value */
5154 static val_t once_value_233
; /* Once value */
5155 static val_t once_value_234
; /* Once value */
5156 static val_t once_value_236
; /* Once value */
5157 static val_t once_value_237
; /* Once value */
5158 static val_t once_value_238
; /* Once value */
5159 static val_t once_value_239
; /* Once value */
5160 static val_t once_value_241
; /* Once value */
5161 static val_t once_value_242
; /* Once value */
5162 static val_t once_value_243
; /* Once value */
5163 static val_t once_value_244
; /* Once value */
5164 static val_t once_value_246
; /* Once value */
5165 static val_t once_value_248
; /* Once value */
5166 static val_t once_value_249
; /* Once value */
5167 static val_t once_value_250
; /* Once value */
5168 static val_t once_value_251
; /* Once value */
5169 static val_t once_value_253
; /* Once value */
5170 static val_t once_value_255
; /* Once value */
5171 static val_t once_value_256
; /* Once value */
5172 static val_t once_value_257
; /* Once value */
5173 static val_t once_value_258
; /* Once value */
5174 static val_t once_value_260
; /* Once value */
5175 static val_t once_value_262
; /* Once value */
5176 static val_t once_value_263
; /* Once value */
5177 static val_t once_value_264
; /* Once value */
5178 static val_t once_value_265
; /* Once value */
5179 static val_t once_value_267
; /* Once value */
5180 static val_t once_value_269
; /* Once value */
5181 static val_t once_value_270
; /* Once value */
5182 static val_t once_value_271
; /* Once value */
5183 static val_t once_value_272
; /* Once value */
5184 static val_t once_value_274
; /* Once value */
5185 static val_t once_value_276
; /* Once value */
5186 static val_t once_value_277
; /* Once value */
5187 static val_t once_value_278
; /* Once value */
5188 static val_t once_value_279
; /* Once value */
5189 static val_t once_value_281
; /* Once value */
5190 static val_t once_value_283
; /* Once value */
5191 static val_t once_value_284
; /* Once value */
5192 static val_t once_value_285
; /* Once value */
5193 static val_t once_value_286
; /* Once value */
5194 static val_t once_value_288
; /* Once value */
5195 static val_t once_value_290
; /* Once value */
5196 static val_t once_value_291
; /* Once value */
5197 static val_t once_value_292
; /* Once value */
5198 static val_t once_value_293
; /* Once value */
5199 static val_t once_value_295
; /* Once value */
5200 static val_t once_value_297
; /* Once value */
5201 static val_t once_value_298
; /* Once value */
5202 static val_t once_value_299
; /* Once value */
5203 static val_t once_value_300
; /* Once value */
5204 static val_t once_value_302
; /* Once value */
5205 static val_t once_value_304
; /* Once value */
5206 static val_t once_value_305
; /* Once value */
5207 static val_t once_value_306
; /* Once value */
5208 static val_t once_value_307
; /* Once value */
5209 static val_t once_value_309
; /* Once value */
5210 static val_t once_value_311
; /* Once value */
5211 static val_t once_value_312
; /* Once value */
5212 static val_t once_value_313
; /* Once value */
5213 static val_t once_value_314
; /* Once value */
5214 static val_t once_value_316
; /* Once value */
5215 static val_t once_value_318
; /* Once value */
5216 static val_t once_value_319
; /* Once value */
5217 static val_t once_value_320
; /* Once value */
5218 static val_t once_value_321
; /* Once value */
5219 static val_t once_value_322
; /* Once value */
5220 static val_t once_value_323
; /* Once value */
5221 static val_t once_value_325
; /* Once value */
5222 static val_t once_value_326
; /* Once value */
5223 static val_t once_value_327
; /* Once value */
5224 static val_t once_value_328
; /* Once value */
5225 static val_t once_value_330
; /* Once value */
5226 static val_t once_value_331
; /* Once value */
5227 static val_t once_value_332
; /* Once value */
5228 static val_t once_value_333
; /* Once value */
5229 static val_t once_value_335
; /* Once value */
5230 static val_t once_value_336
; /* Once value */
5231 static val_t once_value_337
; /* Once value */
5232 static val_t once_value_338
; /* Once value */
5233 static val_t once_value_340
; /* Once value */
5234 static val_t once_value_341
; /* Once value */
5235 static val_t once_value_342
; /* Once value */
5236 static val_t once_value_343
; /* Once value */
5237 static val_t once_value_345
; /* Once value */
5238 static val_t once_value_346
; /* Once value */
5239 static val_t once_value_347
; /* Once value */
5240 static val_t once_value_348
; /* Once value */
5241 static val_t once_value_350
; /* Once value */
5242 static val_t once_value_352
; /* Once value */
5243 static val_t once_value_353
; /* Once value */
5244 static val_t once_value_354
; /* Once value */
5245 static val_t once_value_355
; /* Once value */
5246 static val_t once_value_357
; /* Once value */
5247 static val_t once_value_359
; /* Once value */
5248 static val_t once_value_360
; /* Once value */
5249 static val_t once_value_361
; /* Once value */
5250 static val_t once_value_362
; /* Once value */
5251 static val_t once_value_363
; /* Once value */
5252 static val_t once_value_364
; /* Once value */
5253 static val_t once_value_366
; /* Once value */
5254 static val_t once_value_367
; /* Once value */
5255 static val_t once_value_368
; /* Once value */
5256 static val_t once_value_369
; /* Once value */
5257 static val_t once_value_371
; /* Once value */
5258 static val_t once_value_373
; /* Once value */
5259 static val_t once_value_374
; /* Once value */
5260 static val_t once_value_375
; /* Once value */
5261 static val_t once_value_376
; /* Once value */
5262 static val_t once_value_378
; /* Once value */
5263 static val_t once_value_380
; /* Once value */
5264 static val_t once_value_382
; /* Once value */
5265 static val_t once_value_383
; /* Once value */
5266 static val_t once_value_384
; /* Once value */
5267 static val_t once_value_385
; /* Once value */
5268 static val_t once_value_387
; /* Once value */
5269 static val_t once_value_389
; /* Once value */
5270 static val_t once_value_391
; /* Once value */
5271 static val_t once_value_392
; /* Once value */
5272 static val_t once_value_393
; /* Once value */
5273 static val_t once_value_394
; /* Once value */
5274 static val_t once_value_395
; /* Once value */
5275 static val_t once_value_396
; /* Once value */
5276 static val_t once_value_398
; /* Once value */
5277 static val_t once_value_399
; /* Once value */
5278 static val_t once_value_400
; /* Once value */
5279 static val_t once_value_401
; /* Once value */
5280 static val_t once_value_403
; /* Once value */
5281 static val_t once_value_404
; /* Once value */
5282 static val_t once_value_405
; /* Once value */
5283 static val_t once_value_406
; /* Once value */
5284 static val_t once_value_408
; /* Once value */
5285 static val_t once_value_410
; /* Once value */
5286 static val_t once_value_411
; /* Once value */
5287 static val_t once_value_412
; /* Once value */
5288 static val_t once_value_413
; /* Once value */
5289 static val_t once_value_415
; /* Once value */
5290 static val_t once_value_417
; /* Once value */
5291 static val_t once_value_419
; /* Once value */
5292 static val_t once_value_420
; /* Once value */
5293 static val_t once_value_421
; /* Once value */
5294 static val_t once_value_422
; /* Once value */
5295 static val_t once_value_424
; /* Once value */
5296 static val_t once_value_426
; /* Once value */
5297 static val_t once_value_428
; /* Once value */
5298 static val_t once_value_430
; /* Once value */
5299 static val_t once_value_432
; /* Once value */
5300 static val_t once_value_433
; /* Once value */
5301 static val_t once_value_434
; /* Once value */
5302 static val_t once_value_435
; /* Once value */
5303 static val_t once_value_436
; /* Once value */
5304 static val_t once_value_437
; /* Once value */
5305 static val_t once_value_438
; /* Once value */
5306 static val_t once_value_439
; /* Once value */
5307 static val_t once_value_440
; /* Once value */
5308 static val_t once_value_442
; /* Once value */
5309 static val_t once_value_443
; /* Once value */
5310 static val_t once_value_444
; /* Once value */
5311 static val_t once_value_445
; /* Once value */
5312 static val_t once_value_446
; /* Once value */
5313 static val_t once_value_447
; /* Once value */
5314 static val_t once_value_448
; /* Once value */
5315 static val_t once_value_450
; /* Once value */
5316 static val_t once_value_452
; /* Once value */
5317 static val_t once_value_453
; /* Once value */
5318 static val_t once_value_454
; /* Once value */
5319 static val_t once_value_455
; /* Once value */
5320 static val_t once_value_457
; /* Once value */
5321 static val_t once_value_458
; /* Once value */
5322 static val_t once_value_459
; /* Once value */
5323 static val_t once_value_460
; /* Once value */
5324 static val_t once_value_462
; /* Once value */
5325 static val_t once_value_463
; /* Once value */
5326 static val_t once_value_464
; /* Once value */
5327 static val_t once_value_465
; /* Once value */
5328 static val_t once_value_467
; /* Once value */
5329 static val_t once_value_468
; /* Once value */
5330 static val_t once_value_469
; /* Once value */
5331 static val_t once_value_470
; /* Once value */
5332 static val_t once_value_472
; /* Once value */
5333 static val_t once_value_473
; /* Once value */
5334 static val_t once_value_474
; /* Once value */
5335 static val_t once_value_475
; /* Once value */
5336 static val_t once_value_477
; /* Once value */
5337 static val_t once_value_478
; /* Once value */
5338 static val_t once_value_479
; /* Once value */
5339 static val_t once_value_480
; /* Once value */
5340 static val_t once_value_481
; /* Once value */
5341 static val_t once_value_482
; /* Once value */
5342 static val_t once_value_483
; /* Once value */
5343 static val_t once_value_484
; /* Once value */
5344 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5345 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
5347 fra
.me
.meth
= LOCATE_compiling___compiling_icode___INative___compile_intern_method_to_c
;
5348 fra
.me
.has_broke
= 0;
5349 fra
.me
.REG_size
= 8;
5350 fra
.me
.nitni_local_ref_head
= NULL
;
5351 fra
.me
.REG
[0] = NIT_NULL
;
5352 fra
.me
.REG
[1] = NIT_NULL
;
5353 fra
.me
.REG
[2] = NIT_NULL
;
5354 fra
.me
.REG
[3] = NIT_NULL
;
5355 fra
.me
.REG
[4] = NIT_NULL
;
5356 fra
.me
.REG
[5] = NIT_NULL
;
5357 fra
.me
.REG
[6] = NIT_NULL
;
5358 fra
.me
.REG
[7] = NIT_NULL
;
5361 /* ./compiling//compiling_icode.nit:722 */
5362 fra
.me
.REG
[2] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5363 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5364 /* ./compiling//compiling_icode.nit:723 */
5365 fra
.me
.REG
[3] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5366 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5367 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5368 if (UNTAG_Bool(REGB1
)) {
5369 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 723);
5371 REGB1
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5373 /* ./../lib/standard//kernel.nit:235 */
5374 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
5375 /* ./compiling//compiling_icode.nit:723 */
5376 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB2
));
5377 if (UNTAG_Bool(REGB1
)) {
5379 /* ./../lib/standard//kernel.nit:227 */
5380 REGB2
= TAG_Bool((REGB0
)==(REGB2
));
5381 /* ./compiling//compiling_icode.nit:723 */
5384 if (UNTAG_Bool(REGB1
)) {
5386 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_icode
, 723);
5388 /* ./compiling//compiling_icode.nit:724 */
5389 fra
.me
.REG
[2] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5390 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5391 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5392 /* ./compiling//compiling_icode.nit:725 */
5393 fra
.me
.REG
[3] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5394 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5395 /* ./compiling//compiling_icode.nit:726 */
5396 fra
.me
.REG
[4] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5397 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___registers(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
5398 /* ./compiling//compiling_icode.nit:727 */
5399 fra
.me
.REG
[5] = NIT_NULL
;
5400 /* ./compiling//compiling_icode.nit:728 */
5401 if (!once_value_1
) {
5402 if (!once_value_2
) {
5403 fra
.me
.REG
[6] = BOX_NativeString("Int");
5405 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5406 once_value_2
= fra
.me
.REG
[6];
5407 register_static_object(&once_value_2
);
5408 } else fra
.me
.REG
[6] = once_value_2
;
5409 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5410 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5411 once_value_1
= fra
.me
.REG
[6];
5412 register_static_object(&once_value_1
);
5413 } else fra
.me
.REG
[6] = once_value_1
;
5414 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5415 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
5416 if (UNTAG_Bool(REGB1
)) {
5418 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
5421 if (UNTAG_Bool(REGB1
)) {
5422 /* ./compiling//compiling_icode.nit:729 */
5423 if (!once_value_3
) {
5424 if (!once_value_4
) {
5425 fra
.me
.REG
[6] = BOX_NativeString("object_id");
5427 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5428 once_value_4
= fra
.me
.REG
[6];
5429 register_static_object(&once_value_4
);
5430 } else fra
.me
.REG
[6] = once_value_4
;
5431 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5432 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5433 once_value_3
= fra
.me
.REG
[6];
5434 register_static_object(&once_value_3
);
5435 } else fra
.me
.REG
[6] = once_value_3
;
5436 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5437 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5438 if (UNTAG_Bool(REGB1
)) {
5440 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5443 if (UNTAG_Bool(REGB1
)) {
5444 /* ./compiling//compiling_icode.nit:730 */
5446 /* ./../lib/standard//collection//array.nit:278 */
5447 fra
.me
.REG
[6] = fra
.me
.REG
[4];
5448 /* ./../lib/standard//collection//array.nit:280 */
5450 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5451 if (UNTAG_Bool(REGB0
)) {
5453 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5455 /* ./../lib/standard//kernel.nit:233 */
5456 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5457 /* ./../lib/standard//collection//array.nit:280 */
5458 if (UNTAG_Bool(REGB2
)) {
5459 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
5460 if (UNTAG_Bool(REGB2
)) {
5462 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5464 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6]);
5465 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5466 if (UNTAG_Bool(REGB0
)) {
5468 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5470 /* ./../lib/standard//kernel.nit:232 */
5471 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5473 /* ./../lib/standard//collection//array.nit:280 */
5474 REGB0
= TAG_Bool(false);
5477 if (UNTAG_Bool(REGB2
)) {
5479 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
5481 /* ./../lib/standard//collection//array.nit:281 */
5482 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[6]);
5483 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
5484 if (UNTAG_Bool(REGB2
)) {
5485 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
5487 /* ./../lib/standard//collection//array.nit:718 */
5488 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB1
)];
5489 /* ./../lib/standard//collection//array.nit:281 */
5492 /* ./compiling//compiling_icode.nit:730 */
5493 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5495 /* ./compiling//compiling_icode.nit:731 */
5496 if (!once_value_6
) {
5497 if (!once_value_7
) {
5498 fra
.me
.REG
[6] = BOX_NativeString("unary -");
5500 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5501 once_value_7
= fra
.me
.REG
[6];
5502 register_static_object(&once_value_7
);
5503 } else fra
.me
.REG
[6] = once_value_7
;
5504 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5505 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5506 once_value_6
= fra
.me
.REG
[6];
5507 register_static_object(&once_value_6
);
5508 } else fra
.me
.REG
[6] = once_value_6
;
5509 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5510 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5511 if (UNTAG_Bool(REGB1
)) {
5513 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5516 if (UNTAG_Bool(REGB1
)) {
5517 /* ./compiling//compiling_icode.nit:732 */
5519 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5520 if (!once_value_8
) {
5521 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(-UNTAG_Int(");
5522 REGB1
= TAG_Int(19);
5523 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5524 once_value_8
= fra
.me
.REG
[7];
5525 register_static_object(&once_value_8
);
5526 } else fra
.me
.REG
[7] = once_value_8
;
5527 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5528 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5530 /* ./../lib/standard//collection//array.nit:278 */
5531 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5532 /* ./../lib/standard//collection//array.nit:280 */
5534 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5535 if (UNTAG_Bool(REGB0
)) {
5537 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5539 /* ./../lib/standard//kernel.nit:233 */
5540 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5541 /* ./../lib/standard//collection//array.nit:280 */
5542 if (UNTAG_Bool(REGB2
)) {
5543 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5544 if (UNTAG_Bool(REGB2
)) {
5546 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5548 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5549 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5550 if (UNTAG_Bool(REGB0
)) {
5552 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5554 /* ./../lib/standard//kernel.nit:232 */
5555 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5557 /* ./../lib/standard//collection//array.nit:280 */
5558 REGB0
= TAG_Bool(false);
5561 if (UNTAG_Bool(REGB2
)) {
5563 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
5565 /* ./../lib/standard//collection//array.nit:281 */
5566 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
5567 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5568 if (UNTAG_Bool(REGB2
)) {
5569 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
5571 /* ./../lib/standard//collection//array.nit:718 */
5572 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5573 /* ./../lib/standard//collection//array.nit:281 */
5576 /* ./compiling//compiling_icode.nit:732 */
5577 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5578 if (!once_value_10
) {
5579 fra
.me
.REG
[7] = BOX_NativeString("))");
5581 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5582 once_value_10
= fra
.me
.REG
[7];
5583 register_static_object(&once_value_10
);
5584 } else fra
.me
.REG
[7] = once_value_10
;
5585 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5586 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5587 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5588 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5590 /* ./compiling//compiling_icode.nit:733 */
5591 if (!once_value_11
) {
5592 if (!once_value_12
) {
5593 fra
.me
.REG
[6] = BOX_NativeString("output");
5595 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5596 once_value_12
= fra
.me
.REG
[6];
5597 register_static_object(&once_value_12
);
5598 } else fra
.me
.REG
[6] = once_value_12
;
5599 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5600 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5601 once_value_11
= fra
.me
.REG
[6];
5602 register_static_object(&once_value_11
);
5603 } else fra
.me
.REG
[6] = once_value_11
;
5604 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5605 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5606 if (UNTAG_Bool(REGB1
)) {
5608 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5611 if (UNTAG_Bool(REGB1
)) {
5612 /* ./compiling//compiling_icode.nit:734 */
5614 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5615 if (!once_value_13
) {
5616 fra
.me
.REG
[7] = BOX_NativeString("printf(\"%ld\\n\", UNTAG_Int(");
5617 REGB1
= TAG_Int(26);
5618 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5619 once_value_13
= fra
.me
.REG
[7];
5620 register_static_object(&once_value_13
);
5621 } else fra
.me
.REG
[7] = once_value_13
;
5622 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5623 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5625 /* ./../lib/standard//collection//array.nit:278 */
5626 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5627 /* ./../lib/standard//collection//array.nit:280 */
5629 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5630 if (UNTAG_Bool(REGB0
)) {
5632 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5634 /* ./../lib/standard//kernel.nit:233 */
5635 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5636 /* ./../lib/standard//collection//array.nit:280 */
5637 if (UNTAG_Bool(REGB2
)) {
5638 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5639 if (UNTAG_Bool(REGB2
)) {
5641 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5643 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5644 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5645 if (UNTAG_Bool(REGB0
)) {
5647 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5649 /* ./../lib/standard//kernel.nit:232 */
5650 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5652 /* ./../lib/standard//collection//array.nit:280 */
5653 REGB0
= TAG_Bool(false);
5656 if (UNTAG_Bool(REGB2
)) {
5658 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
5660 /* ./../lib/standard//collection//array.nit:281 */
5661 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
5662 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5663 if (UNTAG_Bool(REGB2
)) {
5664 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
5666 /* ./../lib/standard//collection//array.nit:718 */
5667 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5668 /* ./../lib/standard//collection//array.nit:281 */
5671 /* ./compiling//compiling_icode.nit:734 */
5672 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5673 if (!once_value_15
) {
5674 fra
.me
.REG
[7] = BOX_NativeString("));");
5676 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5677 once_value_15
= fra
.me
.REG
[7];
5678 register_static_object(&once_value_15
);
5679 } else fra
.me
.REG
[7] = once_value_15
;
5680 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5681 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5682 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5683 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5685 /* ./compiling//compiling_icode.nit:735 */
5686 if (!once_value_16
) {
5687 if (!once_value_17
) {
5688 fra
.me
.REG
[6] = BOX_NativeString("ascii");
5690 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5691 once_value_17
= fra
.me
.REG
[6];
5692 register_static_object(&once_value_17
);
5693 } else fra
.me
.REG
[6] = once_value_17
;
5694 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5695 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5696 once_value_16
= fra
.me
.REG
[6];
5697 register_static_object(&once_value_16
);
5698 } else fra
.me
.REG
[6] = once_value_16
;
5699 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5700 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5701 if (UNTAG_Bool(REGB1
)) {
5703 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5706 if (UNTAG_Bool(REGB1
)) {
5707 /* ./compiling//compiling_icode.nit:736 */
5709 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5710 if (!once_value_18
) {
5711 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Int(");
5712 REGB1
= TAG_Int(19);
5713 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5714 once_value_18
= fra
.me
.REG
[7];
5715 register_static_object(&once_value_18
);
5716 } else fra
.me
.REG
[7] = once_value_18
;
5717 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5718 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5720 /* ./../lib/standard//collection//array.nit:278 */
5721 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5722 /* ./../lib/standard//collection//array.nit:280 */
5724 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5725 if (UNTAG_Bool(REGB0
)) {
5727 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5729 /* ./../lib/standard//kernel.nit:233 */
5730 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5731 /* ./../lib/standard//collection//array.nit:280 */
5732 if (UNTAG_Bool(REGB2
)) {
5733 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5734 if (UNTAG_Bool(REGB2
)) {
5736 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5738 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5739 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5740 if (UNTAG_Bool(REGB0
)) {
5742 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5744 /* ./../lib/standard//kernel.nit:232 */
5745 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5747 /* ./../lib/standard//collection//array.nit:280 */
5748 REGB0
= TAG_Bool(false);
5751 if (UNTAG_Bool(REGB2
)) {
5753 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
5755 /* ./../lib/standard//collection//array.nit:281 */
5756 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
5757 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5758 if (UNTAG_Bool(REGB2
)) {
5759 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
5761 /* ./../lib/standard//collection//array.nit:718 */
5762 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5763 /* ./../lib/standard//collection//array.nit:281 */
5766 /* ./compiling//compiling_icode.nit:736 */
5767 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5768 if (!once_value_20
) {
5769 fra
.me
.REG
[7] = BOX_NativeString("))");
5771 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5772 once_value_20
= fra
.me
.REG
[7];
5773 register_static_object(&once_value_20
);
5774 } else fra
.me
.REG
[7] = once_value_20
;
5775 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5776 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5777 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5778 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5780 /* ./compiling//compiling_icode.nit:737 */
5781 if (!once_value_21
) {
5782 if (!once_value_22
) {
5783 fra
.me
.REG
[6] = BOX_NativeString("succ");
5785 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5786 once_value_22
= fra
.me
.REG
[6];
5787 register_static_object(&once_value_22
);
5788 } else fra
.me
.REG
[6] = once_value_22
;
5789 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5790 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5791 once_value_21
= fra
.me
.REG
[6];
5792 register_static_object(&once_value_21
);
5793 } else fra
.me
.REG
[6] = once_value_21
;
5794 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5795 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5796 if (UNTAG_Bool(REGB1
)) {
5798 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5801 if (UNTAG_Bool(REGB1
)) {
5802 /* ./compiling//compiling_icode.nit:738 */
5804 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5805 if (!once_value_23
) {
5806 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
5807 REGB1
= TAG_Int(18);
5808 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5809 once_value_23
= fra
.me
.REG
[7];
5810 register_static_object(&once_value_23
);
5811 } else fra
.me
.REG
[7] = once_value_23
;
5812 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5813 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5815 /* ./../lib/standard//collection//array.nit:278 */
5816 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5817 /* ./../lib/standard//collection//array.nit:280 */
5819 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5820 if (UNTAG_Bool(REGB0
)) {
5822 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5824 /* ./../lib/standard//kernel.nit:233 */
5825 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5826 /* ./../lib/standard//collection//array.nit:280 */
5827 if (UNTAG_Bool(REGB2
)) {
5828 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5829 if (UNTAG_Bool(REGB2
)) {
5831 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5833 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5834 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5835 if (UNTAG_Bool(REGB0
)) {
5837 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5839 /* ./../lib/standard//kernel.nit:232 */
5840 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5842 /* ./../lib/standard//collection//array.nit:280 */
5843 REGB0
= TAG_Bool(false);
5846 if (UNTAG_Bool(REGB2
)) {
5848 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
5850 /* ./../lib/standard//collection//array.nit:281 */
5851 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
5852 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5853 if (UNTAG_Bool(REGB2
)) {
5854 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
5856 /* ./../lib/standard//collection//array.nit:718 */
5857 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5858 /* ./../lib/standard//collection//array.nit:281 */
5861 /* ./compiling//compiling_icode.nit:738 */
5862 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5863 if (!once_value_25
) {
5864 fra
.me
.REG
[7] = BOX_NativeString(")+1)");
5866 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5867 once_value_25
= fra
.me
.REG
[7];
5868 register_static_object(&once_value_25
);
5869 } else fra
.me
.REG
[7] = once_value_25
;
5870 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5871 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5872 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5873 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5875 /* ./compiling//compiling_icode.nit:739 */
5876 if (!once_value_26
) {
5877 if (!once_value_27
) {
5878 fra
.me
.REG
[6] = BOX_NativeString("prec");
5880 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5881 once_value_27
= fra
.me
.REG
[6];
5882 register_static_object(&once_value_27
);
5883 } else fra
.me
.REG
[6] = once_value_27
;
5884 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5885 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5886 once_value_26
= fra
.me
.REG
[6];
5887 register_static_object(&once_value_26
);
5888 } else fra
.me
.REG
[6] = once_value_26
;
5889 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5890 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5891 if (UNTAG_Bool(REGB1
)) {
5893 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5896 if (UNTAG_Bool(REGB1
)) {
5897 /* ./compiling//compiling_icode.nit:740 */
5899 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5900 if (!once_value_28
) {
5901 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
5902 REGB1
= TAG_Int(18);
5903 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5904 once_value_28
= fra
.me
.REG
[7];
5905 register_static_object(&once_value_28
);
5906 } else fra
.me
.REG
[7] = once_value_28
;
5907 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5908 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5910 /* ./../lib/standard//collection//array.nit:278 */
5911 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5912 /* ./../lib/standard//collection//array.nit:280 */
5914 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5915 if (UNTAG_Bool(REGB0
)) {
5917 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5919 /* ./../lib/standard//kernel.nit:233 */
5920 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5921 /* ./../lib/standard//collection//array.nit:280 */
5922 if (UNTAG_Bool(REGB2
)) {
5923 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5924 if (UNTAG_Bool(REGB2
)) {
5926 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5928 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5929 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5930 if (UNTAG_Bool(REGB0
)) {
5932 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5934 /* ./../lib/standard//kernel.nit:232 */
5935 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5937 /* ./../lib/standard//collection//array.nit:280 */
5938 REGB0
= TAG_Bool(false);
5941 if (UNTAG_Bool(REGB2
)) {
5943 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
5945 /* ./../lib/standard//collection//array.nit:281 */
5946 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
5947 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5948 if (UNTAG_Bool(REGB2
)) {
5949 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
5951 /* ./../lib/standard//collection//array.nit:718 */
5952 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5953 /* ./../lib/standard//collection//array.nit:281 */
5956 /* ./compiling//compiling_icode.nit:740 */
5957 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5958 if (!once_value_30
) {
5959 fra
.me
.REG
[7] = BOX_NativeString(")-1)");
5961 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5962 once_value_30
= fra
.me
.REG
[7];
5963 register_static_object(&once_value_30
);
5964 } else fra
.me
.REG
[7] = once_value_30
;
5965 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5966 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5967 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5968 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5970 /* ./compiling//compiling_icode.nit:741 */
5971 if (!once_value_31
) {
5972 if (!once_value_32
) {
5973 fra
.me
.REG
[6] = BOX_NativeString("to_f");
5975 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5976 once_value_32
= fra
.me
.REG
[6];
5977 register_static_object(&once_value_32
);
5978 } else fra
.me
.REG
[6] = once_value_32
;
5979 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5980 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5981 once_value_31
= fra
.me
.REG
[6];
5982 register_static_object(&once_value_31
);
5983 } else fra
.me
.REG
[6] = once_value_31
;
5984 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5985 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5986 if (UNTAG_Bool(REGB1
)) {
5988 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5991 if (UNTAG_Bool(REGB1
)) {
5992 /* ./compiling//compiling_icode.nit:742 */
5994 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5995 if (!once_value_33
) {
5996 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float((float)UNTAG_Int(");
5997 REGB1
= TAG_Int(27);
5998 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5999 once_value_33
= fra
.me
.REG
[7];
6000 register_static_object(&once_value_33
);
6001 } else fra
.me
.REG
[7] = once_value_33
;
6002 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6003 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6005 /* ./../lib/standard//collection//array.nit:278 */
6006 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6007 /* ./../lib/standard//collection//array.nit:280 */
6009 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6010 if (UNTAG_Bool(REGB0
)) {
6012 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6014 /* ./../lib/standard//kernel.nit:233 */
6015 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6016 /* ./../lib/standard//collection//array.nit:280 */
6017 if (UNTAG_Bool(REGB2
)) {
6018 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6019 if (UNTAG_Bool(REGB2
)) {
6021 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6023 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6024 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6025 if (UNTAG_Bool(REGB0
)) {
6027 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6029 /* ./../lib/standard//kernel.nit:232 */
6030 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6032 /* ./../lib/standard//collection//array.nit:280 */
6033 REGB0
= TAG_Bool(false);
6036 if (UNTAG_Bool(REGB2
)) {
6038 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6040 /* ./../lib/standard//collection//array.nit:281 */
6041 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6042 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6043 if (UNTAG_Bool(REGB2
)) {
6044 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6046 /* ./../lib/standard//collection//array.nit:718 */
6047 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6048 /* ./../lib/standard//collection//array.nit:281 */
6051 /* ./compiling//compiling_icode.nit:742 */
6052 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6053 if (!once_value_35
) {
6054 fra
.me
.REG
[7] = BOX_NativeString("))");
6056 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6057 once_value_35
= fra
.me
.REG
[7];
6058 register_static_object(&once_value_35
);
6059 } else fra
.me
.REG
[7] = once_value_35
;
6060 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6061 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6062 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6063 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6065 /* ./compiling//compiling_icode.nit:743 */
6066 if (!once_value_36
) {
6067 if (!once_value_37
) {
6068 fra
.me
.REG
[6] = BOX_NativeString("+");
6070 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
6071 once_value_37
= fra
.me
.REG
[6];
6072 register_static_object(&once_value_37
);
6073 } else fra
.me
.REG
[6] = once_value_37
;
6074 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6075 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6076 once_value_36
= fra
.me
.REG
[6];
6077 register_static_object(&once_value_36
);
6078 } else fra
.me
.REG
[6] = once_value_36
;
6079 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6080 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6081 if (UNTAG_Bool(REGB1
)) {
6083 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6086 if (UNTAG_Bool(REGB1
)) {
6087 /* ./compiling//compiling_icode.nit:744 */
6089 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6090 if (!once_value_38
) {
6091 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6092 REGB1
= TAG_Int(18);
6093 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6094 once_value_38
= fra
.me
.REG
[7];
6095 register_static_object(&once_value_38
);
6096 } else fra
.me
.REG
[7] = once_value_38
;
6097 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6098 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6100 /* ./../lib/standard//collection//array.nit:278 */
6101 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6102 /* ./../lib/standard//collection//array.nit:280 */
6104 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6105 if (UNTAG_Bool(REGB0
)) {
6107 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6109 /* ./../lib/standard//kernel.nit:233 */
6110 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6111 /* ./../lib/standard//collection//array.nit:280 */
6112 if (UNTAG_Bool(REGB2
)) {
6113 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6114 if (UNTAG_Bool(REGB2
)) {
6116 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6118 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6119 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6120 if (UNTAG_Bool(REGB0
)) {
6122 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6124 /* ./../lib/standard//kernel.nit:232 */
6125 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6127 /* ./../lib/standard//collection//array.nit:280 */
6128 REGB0
= TAG_Bool(false);
6131 if (UNTAG_Bool(REGB2
)) {
6133 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6135 /* ./../lib/standard//collection//array.nit:281 */
6136 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6137 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6138 if (UNTAG_Bool(REGB2
)) {
6139 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6141 /* ./../lib/standard//collection//array.nit:718 */
6142 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6143 /* ./../lib/standard//collection//array.nit:281 */
6146 /* ./compiling//compiling_icode.nit:744 */
6147 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6148 if (!once_value_40
) {
6149 fra
.me
.REG
[7] = BOX_NativeString(")+UNTAG_Int(");
6150 REGB1
= TAG_Int(12);
6151 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6152 once_value_40
= fra
.me
.REG
[7];
6153 register_static_object(&once_value_40
);
6154 } else fra
.me
.REG
[7] = once_value_40
;
6155 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6156 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6158 /* ./../lib/standard//collection//array.nit:278 */
6159 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6160 /* ./../lib/standard//collection//array.nit:280 */
6162 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6163 if (UNTAG_Bool(REGB0
)) {
6165 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6167 /* ./../lib/standard//kernel.nit:233 */
6168 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6169 /* ./../lib/standard//collection//array.nit:280 */
6170 if (UNTAG_Bool(REGB2
)) {
6171 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6172 if (UNTAG_Bool(REGB2
)) {
6174 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6176 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6177 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6178 if (UNTAG_Bool(REGB0
)) {
6180 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6182 /* ./../lib/standard//kernel.nit:232 */
6183 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6185 /* ./../lib/standard//collection//array.nit:280 */
6186 REGB0
= TAG_Bool(false);
6189 if (UNTAG_Bool(REGB2
)) {
6191 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6193 /* ./../lib/standard//collection//array.nit:281 */
6194 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6195 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6196 if (UNTAG_Bool(REGB2
)) {
6197 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6199 /* ./../lib/standard//collection//array.nit:718 */
6200 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6201 /* ./../lib/standard//collection//array.nit:281 */
6204 /* ./compiling//compiling_icode.nit:744 */
6205 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6206 if (!once_value_42
) {
6207 fra
.me
.REG
[7] = BOX_NativeString("))");
6209 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6210 once_value_42
= fra
.me
.REG
[7];
6211 register_static_object(&once_value_42
);
6212 } else fra
.me
.REG
[7] = once_value_42
;
6213 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6214 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6215 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6216 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6218 /* ./compiling//compiling_icode.nit:745 */
6219 if (!once_value_43
) {
6220 if (!once_value_44
) {
6221 fra
.me
.REG
[6] = BOX_NativeString("-");
6223 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
6224 once_value_44
= fra
.me
.REG
[6];
6225 register_static_object(&once_value_44
);
6226 } else fra
.me
.REG
[6] = once_value_44
;
6227 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6228 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6229 once_value_43
= fra
.me
.REG
[6];
6230 register_static_object(&once_value_43
);
6231 } else fra
.me
.REG
[6] = once_value_43
;
6232 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6233 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6234 if (UNTAG_Bool(REGB1
)) {
6236 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6239 if (UNTAG_Bool(REGB1
)) {
6240 /* ./compiling//compiling_icode.nit:746 */
6242 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6243 if (!once_value_45
) {
6244 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6245 REGB1
= TAG_Int(18);
6246 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6247 once_value_45
= fra
.me
.REG
[7];
6248 register_static_object(&once_value_45
);
6249 } else fra
.me
.REG
[7] = once_value_45
;
6250 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6251 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6253 /* ./../lib/standard//collection//array.nit:278 */
6254 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6255 /* ./../lib/standard//collection//array.nit:280 */
6257 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6258 if (UNTAG_Bool(REGB0
)) {
6260 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6262 /* ./../lib/standard//kernel.nit:233 */
6263 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6264 /* ./../lib/standard//collection//array.nit:280 */
6265 if (UNTAG_Bool(REGB2
)) {
6266 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6267 if (UNTAG_Bool(REGB2
)) {
6269 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6271 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6272 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6273 if (UNTAG_Bool(REGB0
)) {
6275 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6277 /* ./../lib/standard//kernel.nit:232 */
6278 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6280 /* ./../lib/standard//collection//array.nit:280 */
6281 REGB0
= TAG_Bool(false);
6284 if (UNTAG_Bool(REGB2
)) {
6286 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6288 /* ./../lib/standard//collection//array.nit:281 */
6289 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6290 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6291 if (UNTAG_Bool(REGB2
)) {
6292 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6294 /* ./../lib/standard//collection//array.nit:718 */
6295 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6296 /* ./../lib/standard//collection//array.nit:281 */
6299 /* ./compiling//compiling_icode.nit:746 */
6300 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6301 if (!once_value_47
) {
6302 fra
.me
.REG
[7] = BOX_NativeString(")-UNTAG_Int(");
6303 REGB1
= TAG_Int(12);
6304 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6305 once_value_47
= fra
.me
.REG
[7];
6306 register_static_object(&once_value_47
);
6307 } else fra
.me
.REG
[7] = once_value_47
;
6308 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6309 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6311 /* ./../lib/standard//collection//array.nit:278 */
6312 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6313 /* ./../lib/standard//collection//array.nit:280 */
6315 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6316 if (UNTAG_Bool(REGB0
)) {
6318 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6320 /* ./../lib/standard//kernel.nit:233 */
6321 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6322 /* ./../lib/standard//collection//array.nit:280 */
6323 if (UNTAG_Bool(REGB2
)) {
6324 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6325 if (UNTAG_Bool(REGB2
)) {
6327 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6329 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6330 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6331 if (UNTAG_Bool(REGB0
)) {
6333 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6335 /* ./../lib/standard//kernel.nit:232 */
6336 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6338 /* ./../lib/standard//collection//array.nit:280 */
6339 REGB0
= TAG_Bool(false);
6342 if (UNTAG_Bool(REGB2
)) {
6344 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6346 /* ./../lib/standard//collection//array.nit:281 */
6347 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6348 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6349 if (UNTAG_Bool(REGB2
)) {
6350 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6352 /* ./../lib/standard//collection//array.nit:718 */
6353 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6354 /* ./../lib/standard//collection//array.nit:281 */
6357 /* ./compiling//compiling_icode.nit:746 */
6358 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6359 if (!once_value_49
) {
6360 fra
.me
.REG
[7] = BOX_NativeString("))");
6362 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6363 once_value_49
= fra
.me
.REG
[7];
6364 register_static_object(&once_value_49
);
6365 } else fra
.me
.REG
[7] = once_value_49
;
6366 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6367 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6368 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6369 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6371 /* ./compiling//compiling_icode.nit:747 */
6372 if (!once_value_50
) {
6373 if (!once_value_51
) {
6374 fra
.me
.REG
[6] = BOX_NativeString("*");
6376 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
6377 once_value_51
= fra
.me
.REG
[6];
6378 register_static_object(&once_value_51
);
6379 } else fra
.me
.REG
[6] = once_value_51
;
6380 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6381 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6382 once_value_50
= fra
.me
.REG
[6];
6383 register_static_object(&once_value_50
);
6384 } else fra
.me
.REG
[6] = once_value_50
;
6385 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6386 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6387 if (UNTAG_Bool(REGB1
)) {
6389 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6392 if (UNTAG_Bool(REGB1
)) {
6393 /* ./compiling//compiling_icode.nit:748 */
6395 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6396 if (!once_value_52
) {
6397 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6398 REGB1
= TAG_Int(18);
6399 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6400 once_value_52
= fra
.me
.REG
[7];
6401 register_static_object(&once_value_52
);
6402 } else fra
.me
.REG
[7] = once_value_52
;
6403 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6404 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6406 /* ./../lib/standard//collection//array.nit:278 */
6407 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6408 /* ./../lib/standard//collection//array.nit:280 */
6410 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6411 if (UNTAG_Bool(REGB0
)) {
6413 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6415 /* ./../lib/standard//kernel.nit:233 */
6416 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6417 /* ./../lib/standard//collection//array.nit:280 */
6418 if (UNTAG_Bool(REGB2
)) {
6419 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6420 if (UNTAG_Bool(REGB2
)) {
6422 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6424 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6425 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6426 if (UNTAG_Bool(REGB0
)) {
6428 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6430 /* ./../lib/standard//kernel.nit:232 */
6431 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6433 /* ./../lib/standard//collection//array.nit:280 */
6434 REGB0
= TAG_Bool(false);
6437 if (UNTAG_Bool(REGB2
)) {
6439 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6441 /* ./../lib/standard//collection//array.nit:281 */
6442 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6443 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6444 if (UNTAG_Bool(REGB2
)) {
6445 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6447 /* ./../lib/standard//collection//array.nit:718 */
6448 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6449 /* ./../lib/standard//collection//array.nit:281 */
6452 /* ./compiling//compiling_icode.nit:748 */
6453 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6454 if (!once_value_54
) {
6455 fra
.me
.REG
[7] = BOX_NativeString(")*UNTAG_Int(");
6456 REGB1
= TAG_Int(12);
6457 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6458 once_value_54
= fra
.me
.REG
[7];
6459 register_static_object(&once_value_54
);
6460 } else fra
.me
.REG
[7] = once_value_54
;
6461 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6462 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6464 /* ./../lib/standard//collection//array.nit:278 */
6465 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6466 /* ./../lib/standard//collection//array.nit:280 */
6468 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6469 if (UNTAG_Bool(REGB0
)) {
6471 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6473 /* ./../lib/standard//kernel.nit:233 */
6474 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6475 /* ./../lib/standard//collection//array.nit:280 */
6476 if (UNTAG_Bool(REGB2
)) {
6477 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6478 if (UNTAG_Bool(REGB2
)) {
6480 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6482 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6483 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6484 if (UNTAG_Bool(REGB0
)) {
6486 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6488 /* ./../lib/standard//kernel.nit:232 */
6489 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6491 /* ./../lib/standard//collection//array.nit:280 */
6492 REGB0
= TAG_Bool(false);
6495 if (UNTAG_Bool(REGB2
)) {
6497 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6499 /* ./../lib/standard//collection//array.nit:281 */
6500 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6501 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6502 if (UNTAG_Bool(REGB2
)) {
6503 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6505 /* ./../lib/standard//collection//array.nit:718 */
6506 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6507 /* ./../lib/standard//collection//array.nit:281 */
6510 /* ./compiling//compiling_icode.nit:748 */
6511 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6512 if (!once_value_56
) {
6513 fra
.me
.REG
[7] = BOX_NativeString("))");
6515 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6516 once_value_56
= fra
.me
.REG
[7];
6517 register_static_object(&once_value_56
);
6518 } else fra
.me
.REG
[7] = once_value_56
;
6519 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6520 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6521 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6522 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6524 /* ./compiling//compiling_icode.nit:749 */
6525 if (!once_value_57
) {
6526 if (!once_value_58
) {
6527 fra
.me
.REG
[6] = BOX_NativeString("/");
6529 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
6530 once_value_58
= fra
.me
.REG
[6];
6531 register_static_object(&once_value_58
);
6532 } else fra
.me
.REG
[6] = once_value_58
;
6533 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6534 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6535 once_value_57
= fra
.me
.REG
[6];
6536 register_static_object(&once_value_57
);
6537 } else fra
.me
.REG
[6] = once_value_57
;
6538 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6539 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6540 if (UNTAG_Bool(REGB1
)) {
6542 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6545 if (UNTAG_Bool(REGB1
)) {
6546 /* ./compiling//compiling_icode.nit:750 */
6548 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6549 if (!once_value_59
) {
6550 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6551 REGB1
= TAG_Int(18);
6552 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6553 once_value_59
= fra
.me
.REG
[7];
6554 register_static_object(&once_value_59
);
6555 } else fra
.me
.REG
[7] = once_value_59
;
6556 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6557 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6559 /* ./../lib/standard//collection//array.nit:278 */
6560 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6561 /* ./../lib/standard//collection//array.nit:280 */
6563 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6564 if (UNTAG_Bool(REGB0
)) {
6566 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6568 /* ./../lib/standard//kernel.nit:233 */
6569 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6570 /* ./../lib/standard//collection//array.nit:280 */
6571 if (UNTAG_Bool(REGB2
)) {
6572 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6573 if (UNTAG_Bool(REGB2
)) {
6575 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6577 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6578 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6579 if (UNTAG_Bool(REGB0
)) {
6581 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6583 /* ./../lib/standard//kernel.nit:232 */
6584 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6586 /* ./../lib/standard//collection//array.nit:280 */
6587 REGB0
= TAG_Bool(false);
6590 if (UNTAG_Bool(REGB2
)) {
6592 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6594 /* ./../lib/standard//collection//array.nit:281 */
6595 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6596 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6597 if (UNTAG_Bool(REGB2
)) {
6598 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6600 /* ./../lib/standard//collection//array.nit:718 */
6601 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6602 /* ./../lib/standard//collection//array.nit:281 */
6605 /* ./compiling//compiling_icode.nit:750 */
6606 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6607 if (!once_value_61
) {
6608 fra
.me
.REG
[7] = BOX_NativeString(")/UNTAG_Int(");
6609 REGB1
= TAG_Int(12);
6610 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6611 once_value_61
= fra
.me
.REG
[7];
6612 register_static_object(&once_value_61
);
6613 } else fra
.me
.REG
[7] = once_value_61
;
6614 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6615 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6617 /* ./../lib/standard//collection//array.nit:278 */
6618 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6619 /* ./../lib/standard//collection//array.nit:280 */
6621 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6622 if (UNTAG_Bool(REGB0
)) {
6624 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6626 /* ./../lib/standard//kernel.nit:233 */
6627 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6628 /* ./../lib/standard//collection//array.nit:280 */
6629 if (UNTAG_Bool(REGB2
)) {
6630 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6631 if (UNTAG_Bool(REGB2
)) {
6633 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6635 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6636 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6637 if (UNTAG_Bool(REGB0
)) {
6639 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6641 /* ./../lib/standard//kernel.nit:232 */
6642 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6644 /* ./../lib/standard//collection//array.nit:280 */
6645 REGB0
= TAG_Bool(false);
6648 if (UNTAG_Bool(REGB2
)) {
6650 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6652 /* ./../lib/standard//collection//array.nit:281 */
6653 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6654 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6655 if (UNTAG_Bool(REGB2
)) {
6656 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6658 /* ./../lib/standard//collection//array.nit:718 */
6659 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6660 /* ./../lib/standard//collection//array.nit:281 */
6663 /* ./compiling//compiling_icode.nit:750 */
6664 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6665 if (!once_value_63
) {
6666 fra
.me
.REG
[7] = BOX_NativeString("))");
6668 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6669 once_value_63
= fra
.me
.REG
[7];
6670 register_static_object(&once_value_63
);
6671 } else fra
.me
.REG
[7] = once_value_63
;
6672 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6673 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6674 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6675 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6677 /* ./compiling//compiling_icode.nit:751 */
6678 if (!once_value_64
) {
6679 if (!once_value_65
) {
6680 fra
.me
.REG
[6] = BOX_NativeString("%");
6682 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
6683 once_value_65
= fra
.me
.REG
[6];
6684 register_static_object(&once_value_65
);
6685 } else fra
.me
.REG
[6] = once_value_65
;
6686 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6687 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6688 once_value_64
= fra
.me
.REG
[6];
6689 register_static_object(&once_value_64
);
6690 } else fra
.me
.REG
[6] = once_value_64
;
6691 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6692 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6693 if (UNTAG_Bool(REGB1
)) {
6695 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6698 if (UNTAG_Bool(REGB1
)) {
6699 /* ./compiling//compiling_icode.nit:752 */
6701 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6702 if (!once_value_66
) {
6703 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6704 REGB1
= TAG_Int(18);
6705 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6706 once_value_66
= fra
.me
.REG
[7];
6707 register_static_object(&once_value_66
);
6708 } else fra
.me
.REG
[7] = once_value_66
;
6709 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6710 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6712 /* ./../lib/standard//collection//array.nit:278 */
6713 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6714 /* ./../lib/standard//collection//array.nit:280 */
6716 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6717 if (UNTAG_Bool(REGB0
)) {
6719 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6721 /* ./../lib/standard//kernel.nit:233 */
6722 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6723 /* ./../lib/standard//collection//array.nit:280 */
6724 if (UNTAG_Bool(REGB2
)) {
6725 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6726 if (UNTAG_Bool(REGB2
)) {
6728 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6730 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6731 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6732 if (UNTAG_Bool(REGB0
)) {
6734 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6736 /* ./../lib/standard//kernel.nit:232 */
6737 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6739 /* ./../lib/standard//collection//array.nit:280 */
6740 REGB0
= TAG_Bool(false);
6743 if (UNTAG_Bool(REGB2
)) {
6745 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6747 /* ./../lib/standard//collection//array.nit:281 */
6748 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6749 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6750 if (UNTAG_Bool(REGB2
)) {
6751 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6753 /* ./../lib/standard//collection//array.nit:718 */
6754 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6755 /* ./../lib/standard//collection//array.nit:281 */
6758 /* ./compiling//compiling_icode.nit:752 */
6759 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6760 if (!once_value_68
) {
6761 fra
.me
.REG
[7] = BOX_NativeString(")%UNTAG_Int(");
6762 REGB1
= TAG_Int(12);
6763 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6764 once_value_68
= fra
.me
.REG
[7];
6765 register_static_object(&once_value_68
);
6766 } else fra
.me
.REG
[7] = once_value_68
;
6767 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6768 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6770 /* ./../lib/standard//collection//array.nit:278 */
6771 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6772 /* ./../lib/standard//collection//array.nit:280 */
6774 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6775 if (UNTAG_Bool(REGB0
)) {
6777 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6779 /* ./../lib/standard//kernel.nit:233 */
6780 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6781 /* ./../lib/standard//collection//array.nit:280 */
6782 if (UNTAG_Bool(REGB2
)) {
6783 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6784 if (UNTAG_Bool(REGB2
)) {
6786 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6788 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6789 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6790 if (UNTAG_Bool(REGB0
)) {
6792 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6794 /* ./../lib/standard//kernel.nit:232 */
6795 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6797 /* ./../lib/standard//collection//array.nit:280 */
6798 REGB0
= TAG_Bool(false);
6801 if (UNTAG_Bool(REGB2
)) {
6803 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6805 /* ./../lib/standard//collection//array.nit:281 */
6806 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6807 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6808 if (UNTAG_Bool(REGB2
)) {
6809 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6811 /* ./../lib/standard//collection//array.nit:718 */
6812 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6813 /* ./../lib/standard//collection//array.nit:281 */
6816 /* ./compiling//compiling_icode.nit:752 */
6817 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6818 if (!once_value_70
) {
6819 fra
.me
.REG
[7] = BOX_NativeString("))");
6821 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6822 once_value_70
= fra
.me
.REG
[7];
6823 register_static_object(&once_value_70
);
6824 } else fra
.me
.REG
[7] = once_value_70
;
6825 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6826 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6827 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6828 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6830 /* ./compiling//compiling_icode.nit:753 */
6831 if (!once_value_71
) {
6832 if (!once_value_72
) {
6833 fra
.me
.REG
[6] = BOX_NativeString("<");
6835 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
6836 once_value_72
= fra
.me
.REG
[6];
6837 register_static_object(&once_value_72
);
6838 } else fra
.me
.REG
[6] = once_value_72
;
6839 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6840 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6841 once_value_71
= fra
.me
.REG
[6];
6842 register_static_object(&once_value_71
);
6843 } else fra
.me
.REG
[6] = once_value_71
;
6844 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6845 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6846 if (UNTAG_Bool(REGB1
)) {
6848 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6851 if (UNTAG_Bool(REGB1
)) {
6852 /* ./compiling//compiling_icode.nit:754 */
6854 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6855 if (!once_value_73
) {
6856 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Int(");
6857 REGB1
= TAG_Int(19);
6858 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6859 once_value_73
= fra
.me
.REG
[7];
6860 register_static_object(&once_value_73
);
6861 } else fra
.me
.REG
[7] = once_value_73
;
6862 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6863 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6865 /* ./../lib/standard//collection//array.nit:278 */
6866 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6867 /* ./../lib/standard//collection//array.nit:280 */
6869 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6870 if (UNTAG_Bool(REGB0
)) {
6872 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6874 /* ./../lib/standard//kernel.nit:233 */
6875 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6876 /* ./../lib/standard//collection//array.nit:280 */
6877 if (UNTAG_Bool(REGB2
)) {
6878 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6879 if (UNTAG_Bool(REGB2
)) {
6881 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6883 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6884 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6885 if (UNTAG_Bool(REGB0
)) {
6887 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6889 /* ./../lib/standard//kernel.nit:232 */
6890 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6892 /* ./../lib/standard//collection//array.nit:280 */
6893 REGB0
= TAG_Bool(false);
6896 if (UNTAG_Bool(REGB2
)) {
6898 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6900 /* ./../lib/standard//collection//array.nit:281 */
6901 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6902 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6903 if (UNTAG_Bool(REGB2
)) {
6904 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6906 /* ./../lib/standard//collection//array.nit:718 */
6907 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6908 /* ./../lib/standard//collection//array.nit:281 */
6911 /* ./compiling//compiling_icode.nit:754 */
6912 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6913 if (!once_value_75
) {
6914 fra
.me
.REG
[7] = BOX_NativeString(")<UNTAG_Int(");
6915 REGB1
= TAG_Int(12);
6916 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6917 once_value_75
= fra
.me
.REG
[7];
6918 register_static_object(&once_value_75
);
6919 } else fra
.me
.REG
[7] = once_value_75
;
6920 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6921 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6923 /* ./../lib/standard//collection//array.nit:278 */
6924 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6925 /* ./../lib/standard//collection//array.nit:280 */
6927 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6928 if (UNTAG_Bool(REGB0
)) {
6930 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6932 /* ./../lib/standard//kernel.nit:233 */
6933 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6934 /* ./../lib/standard//collection//array.nit:280 */
6935 if (UNTAG_Bool(REGB2
)) {
6936 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6937 if (UNTAG_Bool(REGB2
)) {
6939 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6941 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6942 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6943 if (UNTAG_Bool(REGB0
)) {
6945 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6947 /* ./../lib/standard//kernel.nit:232 */
6948 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6950 /* ./../lib/standard//collection//array.nit:280 */
6951 REGB0
= TAG_Bool(false);
6954 if (UNTAG_Bool(REGB2
)) {
6956 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6958 /* ./../lib/standard//collection//array.nit:281 */
6959 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6960 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6961 if (UNTAG_Bool(REGB2
)) {
6962 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6964 /* ./../lib/standard//collection//array.nit:718 */
6965 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6966 /* ./../lib/standard//collection//array.nit:281 */
6969 /* ./compiling//compiling_icode.nit:754 */
6970 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6971 if (!once_value_77
) {
6972 fra
.me
.REG
[7] = BOX_NativeString("))");
6974 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6975 once_value_77
= fra
.me
.REG
[7];
6976 register_static_object(&once_value_77
);
6977 } else fra
.me
.REG
[7] = once_value_77
;
6978 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6979 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6980 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6981 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6983 /* ./compiling//compiling_icode.nit:755 */
6984 if (!once_value_78
) {
6985 if (!once_value_79
) {
6986 fra
.me
.REG
[6] = BOX_NativeString(">");
6988 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
6989 once_value_79
= fra
.me
.REG
[6];
6990 register_static_object(&once_value_79
);
6991 } else fra
.me
.REG
[6] = once_value_79
;
6992 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6993 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6994 once_value_78
= fra
.me
.REG
[6];
6995 register_static_object(&once_value_78
);
6996 } else fra
.me
.REG
[6] = once_value_78
;
6997 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6998 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6999 if (UNTAG_Bool(REGB1
)) {
7001 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7004 if (UNTAG_Bool(REGB1
)) {
7005 /* ./compiling//compiling_icode.nit:756 */
7007 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7008 if (!once_value_80
) {
7009 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Int(");
7010 REGB1
= TAG_Int(19);
7011 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7012 once_value_80
= fra
.me
.REG
[7];
7013 register_static_object(&once_value_80
);
7014 } else fra
.me
.REG
[7] = once_value_80
;
7015 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7016 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7018 /* ./../lib/standard//collection//array.nit:278 */
7019 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7020 /* ./../lib/standard//collection//array.nit:280 */
7022 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7023 if (UNTAG_Bool(REGB0
)) {
7025 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7027 /* ./../lib/standard//kernel.nit:233 */
7028 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7029 /* ./../lib/standard//collection//array.nit:280 */
7030 if (UNTAG_Bool(REGB2
)) {
7031 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7032 if (UNTAG_Bool(REGB2
)) {
7034 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7036 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7037 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7038 if (UNTAG_Bool(REGB0
)) {
7040 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7042 /* ./../lib/standard//kernel.nit:232 */
7043 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7045 /* ./../lib/standard//collection//array.nit:280 */
7046 REGB0
= TAG_Bool(false);
7049 if (UNTAG_Bool(REGB2
)) {
7051 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7053 /* ./../lib/standard//collection//array.nit:281 */
7054 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7055 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7056 if (UNTAG_Bool(REGB2
)) {
7057 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7059 /* ./../lib/standard//collection//array.nit:718 */
7060 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7061 /* ./../lib/standard//collection//array.nit:281 */
7064 /* ./compiling//compiling_icode.nit:756 */
7065 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7066 if (!once_value_82
) {
7067 fra
.me
.REG
[7] = BOX_NativeString(")>UNTAG_Int(");
7068 REGB1
= TAG_Int(12);
7069 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7070 once_value_82
= fra
.me
.REG
[7];
7071 register_static_object(&once_value_82
);
7072 } else fra
.me
.REG
[7] = once_value_82
;
7073 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7074 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7076 /* ./../lib/standard//collection//array.nit:278 */
7077 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7078 /* ./../lib/standard//collection//array.nit:280 */
7080 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7081 if (UNTAG_Bool(REGB0
)) {
7083 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7085 /* ./../lib/standard//kernel.nit:233 */
7086 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7087 /* ./../lib/standard//collection//array.nit:280 */
7088 if (UNTAG_Bool(REGB2
)) {
7089 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7090 if (UNTAG_Bool(REGB2
)) {
7092 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7094 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7095 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7096 if (UNTAG_Bool(REGB0
)) {
7098 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7100 /* ./../lib/standard//kernel.nit:232 */
7101 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7103 /* ./../lib/standard//collection//array.nit:280 */
7104 REGB0
= TAG_Bool(false);
7107 if (UNTAG_Bool(REGB2
)) {
7109 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7111 /* ./../lib/standard//collection//array.nit:281 */
7112 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7113 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7114 if (UNTAG_Bool(REGB2
)) {
7115 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7117 /* ./../lib/standard//collection//array.nit:718 */
7118 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7119 /* ./../lib/standard//collection//array.nit:281 */
7122 /* ./compiling//compiling_icode.nit:756 */
7123 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7124 if (!once_value_84
) {
7125 fra
.me
.REG
[7] = BOX_NativeString("))");
7127 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7128 once_value_84
= fra
.me
.REG
[7];
7129 register_static_object(&once_value_84
);
7130 } else fra
.me
.REG
[7] = once_value_84
;
7131 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7132 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7133 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7134 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7136 /* ./compiling//compiling_icode.nit:757 */
7137 if (!once_value_85
) {
7138 if (!once_value_86
) {
7139 fra
.me
.REG
[6] = BOX_NativeString("<=");
7141 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
7142 once_value_86
= fra
.me
.REG
[6];
7143 register_static_object(&once_value_86
);
7144 } else fra
.me
.REG
[6] = once_value_86
;
7145 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7146 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7147 once_value_85
= fra
.me
.REG
[6];
7148 register_static_object(&once_value_85
);
7149 } else fra
.me
.REG
[6] = once_value_85
;
7150 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7151 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7152 if (UNTAG_Bool(REGB1
)) {
7154 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7157 if (UNTAG_Bool(REGB1
)) {
7158 /* ./compiling//compiling_icode.nit:758 */
7160 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7161 if (!once_value_87
) {
7162 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Int(");
7163 REGB1
= TAG_Int(19);
7164 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7165 once_value_87
= fra
.me
.REG
[7];
7166 register_static_object(&once_value_87
);
7167 } else fra
.me
.REG
[7] = once_value_87
;
7168 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7169 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7171 /* ./../lib/standard//collection//array.nit:278 */
7172 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7173 /* ./../lib/standard//collection//array.nit:280 */
7175 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7176 if (UNTAG_Bool(REGB0
)) {
7178 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7180 /* ./../lib/standard//kernel.nit:233 */
7181 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7182 /* ./../lib/standard//collection//array.nit:280 */
7183 if (UNTAG_Bool(REGB2
)) {
7184 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7185 if (UNTAG_Bool(REGB2
)) {
7187 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7189 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7190 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7191 if (UNTAG_Bool(REGB0
)) {
7193 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7195 /* ./../lib/standard//kernel.nit:232 */
7196 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7198 /* ./../lib/standard//collection//array.nit:280 */
7199 REGB0
= TAG_Bool(false);
7202 if (UNTAG_Bool(REGB2
)) {
7204 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7206 /* ./../lib/standard//collection//array.nit:281 */
7207 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7208 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7209 if (UNTAG_Bool(REGB2
)) {
7210 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7212 /* ./../lib/standard//collection//array.nit:718 */
7213 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7214 /* ./../lib/standard//collection//array.nit:281 */
7217 /* ./compiling//compiling_icode.nit:758 */
7218 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7219 if (!once_value_89
) {
7220 fra
.me
.REG
[7] = BOX_NativeString(")<=UNTAG_Int(");
7221 REGB1
= TAG_Int(13);
7222 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7223 once_value_89
= fra
.me
.REG
[7];
7224 register_static_object(&once_value_89
);
7225 } else fra
.me
.REG
[7] = once_value_89
;
7226 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7227 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7229 /* ./../lib/standard//collection//array.nit:278 */
7230 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7231 /* ./../lib/standard//collection//array.nit:280 */
7233 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7234 if (UNTAG_Bool(REGB0
)) {
7236 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7238 /* ./../lib/standard//kernel.nit:233 */
7239 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7240 /* ./../lib/standard//collection//array.nit:280 */
7241 if (UNTAG_Bool(REGB2
)) {
7242 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7243 if (UNTAG_Bool(REGB2
)) {
7245 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7247 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7248 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7249 if (UNTAG_Bool(REGB0
)) {
7251 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7253 /* ./../lib/standard//kernel.nit:232 */
7254 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7256 /* ./../lib/standard//collection//array.nit:280 */
7257 REGB0
= TAG_Bool(false);
7260 if (UNTAG_Bool(REGB2
)) {
7262 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7264 /* ./../lib/standard//collection//array.nit:281 */
7265 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7266 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7267 if (UNTAG_Bool(REGB2
)) {
7268 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7270 /* ./../lib/standard//collection//array.nit:718 */
7271 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7272 /* ./../lib/standard//collection//array.nit:281 */
7275 /* ./compiling//compiling_icode.nit:758 */
7276 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7277 if (!once_value_91
) {
7278 fra
.me
.REG
[7] = BOX_NativeString("))");
7280 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7281 once_value_91
= fra
.me
.REG
[7];
7282 register_static_object(&once_value_91
);
7283 } else fra
.me
.REG
[7] = once_value_91
;
7284 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7285 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7286 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7287 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7289 /* ./compiling//compiling_icode.nit:759 */
7290 if (!once_value_92
) {
7291 if (!once_value_93
) {
7292 fra
.me
.REG
[6] = BOX_NativeString(">=");
7294 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
7295 once_value_93
= fra
.me
.REG
[6];
7296 register_static_object(&once_value_93
);
7297 } else fra
.me
.REG
[6] = once_value_93
;
7298 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7299 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7300 once_value_92
= fra
.me
.REG
[6];
7301 register_static_object(&once_value_92
);
7302 } else fra
.me
.REG
[6] = once_value_92
;
7303 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7304 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7305 if (UNTAG_Bool(REGB1
)) {
7307 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7310 if (UNTAG_Bool(REGB1
)) {
7311 /* ./compiling//compiling_icode.nit:760 */
7313 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7314 if (!once_value_94
) {
7315 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Int(");
7316 REGB1
= TAG_Int(19);
7317 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7318 once_value_94
= fra
.me
.REG
[7];
7319 register_static_object(&once_value_94
);
7320 } else fra
.me
.REG
[7] = once_value_94
;
7321 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7322 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7324 /* ./../lib/standard//collection//array.nit:278 */
7325 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7326 /* ./../lib/standard//collection//array.nit:280 */
7328 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7329 if (UNTAG_Bool(REGB0
)) {
7331 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7333 /* ./../lib/standard//kernel.nit:233 */
7334 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7335 /* ./../lib/standard//collection//array.nit:280 */
7336 if (UNTAG_Bool(REGB2
)) {
7337 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7338 if (UNTAG_Bool(REGB2
)) {
7340 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7342 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7343 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7344 if (UNTAG_Bool(REGB0
)) {
7346 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7348 /* ./../lib/standard//kernel.nit:232 */
7349 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7351 /* ./../lib/standard//collection//array.nit:280 */
7352 REGB0
= TAG_Bool(false);
7355 if (UNTAG_Bool(REGB2
)) {
7357 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7359 /* ./../lib/standard//collection//array.nit:281 */
7360 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7361 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7362 if (UNTAG_Bool(REGB2
)) {
7363 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7365 /* ./../lib/standard//collection//array.nit:718 */
7366 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7367 /* ./../lib/standard//collection//array.nit:281 */
7370 /* ./compiling//compiling_icode.nit:760 */
7371 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7372 if (!once_value_96
) {
7373 fra
.me
.REG
[7] = BOX_NativeString(")>=UNTAG_Int(");
7374 REGB1
= TAG_Int(13);
7375 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7376 once_value_96
= fra
.me
.REG
[7];
7377 register_static_object(&once_value_96
);
7378 } else fra
.me
.REG
[7] = once_value_96
;
7379 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7380 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7382 /* ./../lib/standard//collection//array.nit:278 */
7383 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7384 /* ./../lib/standard//collection//array.nit:280 */
7386 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7387 if (UNTAG_Bool(REGB0
)) {
7389 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7391 /* ./../lib/standard//kernel.nit:233 */
7392 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7393 /* ./../lib/standard//collection//array.nit:280 */
7394 if (UNTAG_Bool(REGB2
)) {
7395 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7396 if (UNTAG_Bool(REGB2
)) {
7398 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7400 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7401 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7402 if (UNTAG_Bool(REGB0
)) {
7404 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7406 /* ./../lib/standard//kernel.nit:232 */
7407 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7409 /* ./../lib/standard//collection//array.nit:280 */
7410 REGB0
= TAG_Bool(false);
7413 if (UNTAG_Bool(REGB2
)) {
7415 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7417 /* ./../lib/standard//collection//array.nit:281 */
7418 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7419 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7420 if (UNTAG_Bool(REGB2
)) {
7421 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7423 /* ./../lib/standard//collection//array.nit:718 */
7424 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7425 /* ./../lib/standard//collection//array.nit:281 */
7428 /* ./compiling//compiling_icode.nit:760 */
7429 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7430 if (!once_value_98
) {
7431 fra
.me
.REG
[7] = BOX_NativeString("))");
7433 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7434 once_value_98
= fra
.me
.REG
[7];
7435 register_static_object(&once_value_98
);
7436 } else fra
.me
.REG
[7] = once_value_98
;
7437 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7438 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7439 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7440 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7442 /* ./compiling//compiling_icode.nit:761 */
7443 if (!once_value_99
) {
7444 if (!once_value_100
) {
7445 fra
.me
.REG
[6] = BOX_NativeString("lshift");
7447 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
7448 once_value_100
= fra
.me
.REG
[6];
7449 register_static_object(&once_value_100
);
7450 } else fra
.me
.REG
[6] = once_value_100
;
7451 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7452 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7453 once_value_99
= fra
.me
.REG
[6];
7454 register_static_object(&once_value_99
);
7455 } else fra
.me
.REG
[6] = once_value_99
;
7456 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7457 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7458 if (UNTAG_Bool(REGB1
)) {
7460 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7463 if (UNTAG_Bool(REGB1
)) {
7464 /* ./compiling//compiling_icode.nit:762 */
7466 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7467 if (!once_value_101
) {
7468 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
7469 REGB1
= TAG_Int(18);
7470 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7471 once_value_101
= fra
.me
.REG
[7];
7472 register_static_object(&once_value_101
);
7473 } else fra
.me
.REG
[7] = once_value_101
;
7474 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7475 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7477 /* ./../lib/standard//collection//array.nit:278 */
7478 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7479 /* ./../lib/standard//collection//array.nit:280 */
7481 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7482 if (UNTAG_Bool(REGB0
)) {
7484 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7486 /* ./../lib/standard//kernel.nit:233 */
7487 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7488 /* ./../lib/standard//collection//array.nit:280 */
7489 if (UNTAG_Bool(REGB2
)) {
7490 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7491 if (UNTAG_Bool(REGB2
)) {
7493 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7495 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7496 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7497 if (UNTAG_Bool(REGB0
)) {
7499 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7501 /* ./../lib/standard//kernel.nit:232 */
7502 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7504 /* ./../lib/standard//collection//array.nit:280 */
7505 REGB0
= TAG_Bool(false);
7508 if (UNTAG_Bool(REGB2
)) {
7510 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7512 /* ./../lib/standard//collection//array.nit:281 */
7513 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7514 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7515 if (UNTAG_Bool(REGB2
)) {
7516 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7518 /* ./../lib/standard//collection//array.nit:718 */
7519 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7520 /* ./../lib/standard//collection//array.nit:281 */
7523 /* ./compiling//compiling_icode.nit:762 */
7524 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7525 if (!once_value_103
) {
7526 fra
.me
.REG
[7] = BOX_NativeString(")<<UNTAG_Int(");
7527 REGB1
= TAG_Int(13);
7528 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7529 once_value_103
= fra
.me
.REG
[7];
7530 register_static_object(&once_value_103
);
7531 } else fra
.me
.REG
[7] = once_value_103
;
7532 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7533 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7535 /* ./../lib/standard//collection//array.nit:278 */
7536 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7537 /* ./../lib/standard//collection//array.nit:280 */
7539 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7540 if (UNTAG_Bool(REGB0
)) {
7542 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7544 /* ./../lib/standard//kernel.nit:233 */
7545 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7546 /* ./../lib/standard//collection//array.nit:280 */
7547 if (UNTAG_Bool(REGB2
)) {
7548 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7549 if (UNTAG_Bool(REGB2
)) {
7551 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7553 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7554 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7555 if (UNTAG_Bool(REGB0
)) {
7557 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7559 /* ./../lib/standard//kernel.nit:232 */
7560 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7562 /* ./../lib/standard//collection//array.nit:280 */
7563 REGB0
= TAG_Bool(false);
7566 if (UNTAG_Bool(REGB2
)) {
7568 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7570 /* ./../lib/standard//collection//array.nit:281 */
7571 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7572 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7573 if (UNTAG_Bool(REGB2
)) {
7574 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7576 /* ./../lib/standard//collection//array.nit:718 */
7577 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7578 /* ./../lib/standard//collection//array.nit:281 */
7581 /* ./compiling//compiling_icode.nit:762 */
7582 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7583 if (!once_value_105
) {
7584 fra
.me
.REG
[7] = BOX_NativeString("))");
7586 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7587 once_value_105
= fra
.me
.REG
[7];
7588 register_static_object(&once_value_105
);
7589 } else fra
.me
.REG
[7] = once_value_105
;
7590 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7591 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7592 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7593 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7595 /* ./compiling//compiling_icode.nit:763 */
7596 if (!once_value_106
) {
7597 if (!once_value_107
) {
7598 fra
.me
.REG
[6] = BOX_NativeString("rshift");
7600 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
7601 once_value_107
= fra
.me
.REG
[6];
7602 register_static_object(&once_value_107
);
7603 } else fra
.me
.REG
[6] = once_value_107
;
7604 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7605 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7606 once_value_106
= fra
.me
.REG
[6];
7607 register_static_object(&once_value_106
);
7608 } else fra
.me
.REG
[6] = once_value_106
;
7609 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7610 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7611 if (UNTAG_Bool(REGB1
)) {
7613 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7616 if (UNTAG_Bool(REGB1
)) {
7617 /* ./compiling//compiling_icode.nit:764 */
7619 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7620 if (!once_value_108
) {
7621 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
7622 REGB1
= TAG_Int(18);
7623 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7624 once_value_108
= fra
.me
.REG
[7];
7625 register_static_object(&once_value_108
);
7626 } else fra
.me
.REG
[7] = once_value_108
;
7627 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7628 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7630 /* ./../lib/standard//collection//array.nit:278 */
7631 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7632 /* ./../lib/standard//collection//array.nit:280 */
7634 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7635 if (UNTAG_Bool(REGB0
)) {
7637 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7639 /* ./../lib/standard//kernel.nit:233 */
7640 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7641 /* ./../lib/standard//collection//array.nit:280 */
7642 if (UNTAG_Bool(REGB2
)) {
7643 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7644 if (UNTAG_Bool(REGB2
)) {
7646 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7648 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7649 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7650 if (UNTAG_Bool(REGB0
)) {
7652 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7654 /* ./../lib/standard//kernel.nit:232 */
7655 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7657 /* ./../lib/standard//collection//array.nit:280 */
7658 REGB0
= TAG_Bool(false);
7661 if (UNTAG_Bool(REGB2
)) {
7663 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7665 /* ./../lib/standard//collection//array.nit:281 */
7666 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7667 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7668 if (UNTAG_Bool(REGB2
)) {
7669 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7671 /* ./../lib/standard//collection//array.nit:718 */
7672 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7673 /* ./../lib/standard//collection//array.nit:281 */
7676 /* ./compiling//compiling_icode.nit:764 */
7677 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7678 if (!once_value_110
) {
7679 fra
.me
.REG
[7] = BOX_NativeString(")>>UNTAG_Int(");
7680 REGB1
= TAG_Int(13);
7681 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7682 once_value_110
= fra
.me
.REG
[7];
7683 register_static_object(&once_value_110
);
7684 } else fra
.me
.REG
[7] = once_value_110
;
7685 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7686 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7688 /* ./../lib/standard//collection//array.nit:278 */
7689 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7690 /* ./../lib/standard//collection//array.nit:280 */
7692 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7693 if (UNTAG_Bool(REGB0
)) {
7695 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7697 /* ./../lib/standard//kernel.nit:233 */
7698 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7699 /* ./../lib/standard//collection//array.nit:280 */
7700 if (UNTAG_Bool(REGB2
)) {
7701 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7702 if (UNTAG_Bool(REGB2
)) {
7704 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7706 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7707 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7708 if (UNTAG_Bool(REGB0
)) {
7710 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7712 /* ./../lib/standard//kernel.nit:232 */
7713 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7715 /* ./../lib/standard//collection//array.nit:280 */
7716 REGB0
= TAG_Bool(false);
7719 if (UNTAG_Bool(REGB2
)) {
7721 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7723 /* ./../lib/standard//collection//array.nit:281 */
7724 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7725 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7726 if (UNTAG_Bool(REGB2
)) {
7727 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7729 /* ./../lib/standard//collection//array.nit:718 */
7730 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7731 /* ./../lib/standard//collection//array.nit:281 */
7734 /* ./compiling//compiling_icode.nit:764 */
7735 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7736 if (!once_value_112
) {
7737 fra
.me
.REG
[7] = BOX_NativeString("))");
7739 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7740 once_value_112
= fra
.me
.REG
[7];
7741 register_static_object(&once_value_112
);
7742 } else fra
.me
.REG
[7] = once_value_112
;
7743 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7744 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7745 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7746 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7748 /* ./compiling//compiling_icode.nit:765 */
7749 if (!once_value_113
) {
7750 if (!once_value_114
) {
7751 fra
.me
.REG
[6] = BOX_NativeString("==");
7753 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
7754 once_value_114
= fra
.me
.REG
[6];
7755 register_static_object(&once_value_114
);
7756 } else fra
.me
.REG
[6] = once_value_114
;
7757 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7758 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7759 once_value_113
= fra
.me
.REG
[6];
7760 register_static_object(&once_value_113
);
7761 } else fra
.me
.REG
[6] = once_value_113
;
7762 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7763 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7764 if (UNTAG_Bool(REGB1
)) {
7766 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7769 if (UNTAG_Bool(REGB1
)) {
7770 /* ./compiling//compiling_icode.nit:766 */
7772 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7773 if (!once_value_115
) {
7774 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
7775 REGB1
= TAG_Int(10);
7776 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7777 once_value_115
= fra
.me
.REG
[7];
7778 register_static_object(&once_value_115
);
7779 } else fra
.me
.REG
[7] = once_value_115
;
7780 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7781 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7783 /* ./../lib/standard//collection//array.nit:278 */
7784 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7785 /* ./../lib/standard//collection//array.nit:280 */
7787 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7788 if (UNTAG_Bool(REGB0
)) {
7790 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7792 /* ./../lib/standard//kernel.nit:233 */
7793 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7794 /* ./../lib/standard//collection//array.nit:280 */
7795 if (UNTAG_Bool(REGB2
)) {
7796 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7797 if (UNTAG_Bool(REGB2
)) {
7799 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7801 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7802 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7803 if (UNTAG_Bool(REGB0
)) {
7805 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7807 /* ./../lib/standard//kernel.nit:232 */
7808 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7810 /* ./../lib/standard//collection//array.nit:280 */
7811 REGB0
= TAG_Bool(false);
7814 if (UNTAG_Bool(REGB2
)) {
7816 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7818 /* ./../lib/standard//collection//array.nit:281 */
7819 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7820 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7821 if (UNTAG_Bool(REGB2
)) {
7822 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7824 /* ./../lib/standard//collection//array.nit:718 */
7825 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7826 /* ./../lib/standard//collection//array.nit:281 */
7829 /* ./compiling//compiling_icode.nit:766 */
7830 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7831 if (!once_value_117
) {
7832 fra
.me
.REG
[7] = BOX_NativeString(")==(");
7834 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7835 once_value_117
= fra
.me
.REG
[7];
7836 register_static_object(&once_value_117
);
7837 } else fra
.me
.REG
[7] = once_value_117
;
7838 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7839 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7841 /* ./../lib/standard//collection//array.nit:278 */
7842 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7843 /* ./../lib/standard//collection//array.nit:280 */
7845 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7846 if (UNTAG_Bool(REGB0
)) {
7848 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7850 /* ./../lib/standard//kernel.nit:233 */
7851 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7852 /* ./../lib/standard//collection//array.nit:280 */
7853 if (UNTAG_Bool(REGB2
)) {
7854 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7855 if (UNTAG_Bool(REGB2
)) {
7857 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7859 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7860 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7861 if (UNTAG_Bool(REGB0
)) {
7863 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7865 /* ./../lib/standard//kernel.nit:232 */
7866 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7868 /* ./../lib/standard//collection//array.nit:280 */
7869 REGB0
= TAG_Bool(false);
7872 if (UNTAG_Bool(REGB2
)) {
7874 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7876 /* ./../lib/standard//collection//array.nit:281 */
7877 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7878 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7879 if (UNTAG_Bool(REGB2
)) {
7880 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7882 /* ./../lib/standard//collection//array.nit:718 */
7883 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7884 /* ./../lib/standard//collection//array.nit:281 */
7887 /* ./compiling//compiling_icode.nit:766 */
7888 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7889 if (!once_value_119
) {
7890 fra
.me
.REG
[7] = BOX_NativeString("))");
7892 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7893 once_value_119
= fra
.me
.REG
[7];
7894 register_static_object(&once_value_119
);
7895 } else fra
.me
.REG
[7] = once_value_119
;
7896 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7897 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7898 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7899 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7901 /* ./compiling//compiling_icode.nit:767 */
7902 if (!once_value_120
) {
7903 if (!once_value_121
) {
7904 fra
.me
.REG
[6] = BOX_NativeString("!=");
7906 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
7907 once_value_121
= fra
.me
.REG
[6];
7908 register_static_object(&once_value_121
);
7909 } else fra
.me
.REG
[6] = once_value_121
;
7910 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7911 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7912 once_value_120
= fra
.me
.REG
[6];
7913 register_static_object(&once_value_120
);
7914 } else fra
.me
.REG
[6] = once_value_120
;
7915 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7916 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7917 if (UNTAG_Bool(REGB1
)) {
7919 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7922 if (UNTAG_Bool(REGB1
)) {
7923 /* ./compiling//compiling_icode.nit:768 */
7925 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7926 if (!once_value_122
) {
7927 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
7928 REGB1
= TAG_Int(10);
7929 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7930 once_value_122
= fra
.me
.REG
[7];
7931 register_static_object(&once_value_122
);
7932 } else fra
.me
.REG
[7] = once_value_122
;
7933 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7934 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7936 /* ./../lib/standard//collection//array.nit:278 */
7937 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7938 /* ./../lib/standard//collection//array.nit:280 */
7940 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7941 if (UNTAG_Bool(REGB0
)) {
7943 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7945 /* ./../lib/standard//kernel.nit:233 */
7946 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7947 /* ./../lib/standard//collection//array.nit:280 */
7948 if (UNTAG_Bool(REGB2
)) {
7949 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7950 if (UNTAG_Bool(REGB2
)) {
7952 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7954 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7955 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7956 if (UNTAG_Bool(REGB0
)) {
7958 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7960 /* ./../lib/standard//kernel.nit:232 */
7961 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7963 /* ./../lib/standard//collection//array.nit:280 */
7964 REGB0
= TAG_Bool(false);
7967 if (UNTAG_Bool(REGB2
)) {
7969 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7971 /* ./../lib/standard//collection//array.nit:281 */
7972 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7973 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7974 if (UNTAG_Bool(REGB2
)) {
7975 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7977 /* ./../lib/standard//collection//array.nit:718 */
7978 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7979 /* ./../lib/standard//collection//array.nit:281 */
7982 /* ./compiling//compiling_icode.nit:768 */
7983 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7984 if (!once_value_124
) {
7985 fra
.me
.REG
[7] = BOX_NativeString(")!=(");
7987 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7988 once_value_124
= fra
.me
.REG
[7];
7989 register_static_object(&once_value_124
);
7990 } else fra
.me
.REG
[7] = once_value_124
;
7991 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7992 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7994 /* ./../lib/standard//collection//array.nit:278 */
7995 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7996 /* ./../lib/standard//collection//array.nit:280 */
7998 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7999 if (UNTAG_Bool(REGB0
)) {
8001 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8003 /* ./../lib/standard//kernel.nit:233 */
8004 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8005 /* ./../lib/standard//collection//array.nit:280 */
8006 if (UNTAG_Bool(REGB2
)) {
8007 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8008 if (UNTAG_Bool(REGB2
)) {
8010 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8012 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8013 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8014 if (UNTAG_Bool(REGB0
)) {
8016 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8018 /* ./../lib/standard//kernel.nit:232 */
8019 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8021 /* ./../lib/standard//collection//array.nit:280 */
8022 REGB0
= TAG_Bool(false);
8025 if (UNTAG_Bool(REGB2
)) {
8027 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8029 /* ./../lib/standard//collection//array.nit:281 */
8030 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8031 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8032 if (UNTAG_Bool(REGB2
)) {
8033 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8035 /* ./../lib/standard//collection//array.nit:718 */
8036 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8037 /* ./../lib/standard//collection//array.nit:281 */
8040 /* ./compiling//compiling_icode.nit:768 */
8041 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8042 if (!once_value_126
) {
8043 fra
.me
.REG
[7] = BOX_NativeString("))");
8045 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8046 once_value_126
= fra
.me
.REG
[7];
8047 register_static_object(&once_value_126
);
8048 } else fra
.me
.REG
[7] = once_value_126
;
8049 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8050 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8051 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8052 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8074 /* ./compiling//compiling_icode.nit:770 */
8075 if (!once_value_127
) {
8076 if (!once_value_128
) {
8077 fra
.me
.REG
[6] = BOX_NativeString("Float");
8079 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8080 once_value_128
= fra
.me
.REG
[6];
8081 register_static_object(&once_value_128
);
8082 } else fra
.me
.REG
[6] = once_value_128
;
8083 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8084 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8085 once_value_127
= fra
.me
.REG
[6];
8086 register_static_object(&once_value_127
);
8087 } else fra
.me
.REG
[6] = once_value_127
;
8088 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8089 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
8090 if (UNTAG_Bool(REGB1
)) {
8092 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
8095 if (UNTAG_Bool(REGB1
)) {
8096 /* ./compiling//compiling_icode.nit:771 */
8097 if (!once_value_129
) {
8098 if (!once_value_130
) {
8099 fra
.me
.REG
[6] = BOX_NativeString("object_id");
8101 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8102 once_value_130
= fra
.me
.REG
[6];
8103 register_static_object(&once_value_130
);
8104 } else fra
.me
.REG
[6] = once_value_130
;
8105 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8106 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8107 once_value_129
= fra
.me
.REG
[6];
8108 register_static_object(&once_value_129
);
8109 } else fra
.me
.REG
[6] = once_value_129
;
8110 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8111 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8112 if (UNTAG_Bool(REGB1
)) {
8114 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8117 if (UNTAG_Bool(REGB1
)) {
8118 /* ./compiling//compiling_icode.nit:772 */
8120 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8121 if (!once_value_131
) {
8122 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int((bigint)UNBOX_Float(");
8123 REGB1
= TAG_Int(28);
8124 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8125 once_value_131
= fra
.me
.REG
[7];
8126 register_static_object(&once_value_131
);
8127 } else fra
.me
.REG
[7] = once_value_131
;
8128 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8129 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8131 /* ./../lib/standard//collection//array.nit:278 */
8132 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8133 /* ./../lib/standard//collection//array.nit:280 */
8135 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8136 if (UNTAG_Bool(REGB0
)) {
8138 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8140 /* ./../lib/standard//kernel.nit:233 */
8141 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8142 /* ./../lib/standard//collection//array.nit:280 */
8143 if (UNTAG_Bool(REGB2
)) {
8144 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8145 if (UNTAG_Bool(REGB2
)) {
8147 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8149 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8150 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8151 if (UNTAG_Bool(REGB0
)) {
8153 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8155 /* ./../lib/standard//kernel.nit:232 */
8156 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8158 /* ./../lib/standard//collection//array.nit:280 */
8159 REGB0
= TAG_Bool(false);
8162 if (UNTAG_Bool(REGB2
)) {
8164 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8166 /* ./../lib/standard//collection//array.nit:281 */
8167 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8168 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8169 if (UNTAG_Bool(REGB2
)) {
8170 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8172 /* ./../lib/standard//collection//array.nit:718 */
8173 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8174 /* ./../lib/standard//collection//array.nit:281 */
8177 /* ./compiling//compiling_icode.nit:772 */
8178 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8179 if (!once_value_133
) {
8180 fra
.me
.REG
[7] = BOX_NativeString("))");
8182 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8183 once_value_133
= fra
.me
.REG
[7];
8184 register_static_object(&once_value_133
);
8185 } else fra
.me
.REG
[7] = once_value_133
;
8186 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8187 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8188 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8189 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8191 /* ./compiling//compiling_icode.nit:773 */
8192 if (!once_value_134
) {
8193 if (!once_value_135
) {
8194 fra
.me
.REG
[6] = BOX_NativeString("unary -");
8196 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8197 once_value_135
= fra
.me
.REG
[6];
8198 register_static_object(&once_value_135
);
8199 } else fra
.me
.REG
[6] = once_value_135
;
8200 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8201 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8202 once_value_134
= fra
.me
.REG
[6];
8203 register_static_object(&once_value_134
);
8204 } else fra
.me
.REG
[6] = once_value_134
;
8205 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8206 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8207 if (UNTAG_Bool(REGB1
)) {
8209 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8212 if (UNTAG_Bool(REGB1
)) {
8213 /* ./compiling//compiling_icode.nit:774 */
8215 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8216 if (!once_value_136
) {
8217 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(-UNBOX_Float(");
8218 REGB1
= TAG_Int(23);
8219 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8220 once_value_136
= fra
.me
.REG
[7];
8221 register_static_object(&once_value_136
);
8222 } else fra
.me
.REG
[7] = once_value_136
;
8223 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8224 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8226 /* ./../lib/standard//collection//array.nit:278 */
8227 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8228 /* ./../lib/standard//collection//array.nit:280 */
8230 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8231 if (UNTAG_Bool(REGB0
)) {
8233 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8235 /* ./../lib/standard//kernel.nit:233 */
8236 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8237 /* ./../lib/standard//collection//array.nit:280 */
8238 if (UNTAG_Bool(REGB2
)) {
8239 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8240 if (UNTAG_Bool(REGB2
)) {
8242 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8244 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8245 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8246 if (UNTAG_Bool(REGB0
)) {
8248 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8250 /* ./../lib/standard//kernel.nit:232 */
8251 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8253 /* ./../lib/standard//collection//array.nit:280 */
8254 REGB0
= TAG_Bool(false);
8257 if (UNTAG_Bool(REGB2
)) {
8259 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8261 /* ./../lib/standard//collection//array.nit:281 */
8262 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8263 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8264 if (UNTAG_Bool(REGB2
)) {
8265 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8267 /* ./../lib/standard//collection//array.nit:718 */
8268 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8269 /* ./../lib/standard//collection//array.nit:281 */
8272 /* ./compiling//compiling_icode.nit:774 */
8273 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8274 if (!once_value_138
) {
8275 fra
.me
.REG
[7] = BOX_NativeString("))");
8277 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8278 once_value_138
= fra
.me
.REG
[7];
8279 register_static_object(&once_value_138
);
8280 } else fra
.me
.REG
[7] = once_value_138
;
8281 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8282 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8283 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8284 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8286 /* ./compiling//compiling_icode.nit:775 */
8287 if (!once_value_139
) {
8288 if (!once_value_140
) {
8289 fra
.me
.REG
[6] = BOX_NativeString("output");
8291 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8292 once_value_140
= fra
.me
.REG
[6];
8293 register_static_object(&once_value_140
);
8294 } else fra
.me
.REG
[6] = once_value_140
;
8295 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8296 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8297 once_value_139
= fra
.me
.REG
[6];
8298 register_static_object(&once_value_139
);
8299 } else fra
.me
.REG
[6] = once_value_139
;
8300 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8301 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8302 if (UNTAG_Bool(REGB1
)) {
8304 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8307 if (UNTAG_Bool(REGB1
)) {
8308 /* ./compiling//compiling_icode.nit:776 */
8310 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8311 if (!once_value_141
) {
8312 fra
.me
.REG
[7] = BOX_NativeString("printf(\"%f\\n\", UNBOX_Float(");
8313 REGB1
= TAG_Int(27);
8314 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8315 once_value_141
= fra
.me
.REG
[7];
8316 register_static_object(&once_value_141
);
8317 } else fra
.me
.REG
[7] = once_value_141
;
8318 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8319 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8321 /* ./../lib/standard//collection//array.nit:278 */
8322 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8323 /* ./../lib/standard//collection//array.nit:280 */
8325 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8326 if (UNTAG_Bool(REGB0
)) {
8328 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8330 /* ./../lib/standard//kernel.nit:233 */
8331 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8332 /* ./../lib/standard//collection//array.nit:280 */
8333 if (UNTAG_Bool(REGB2
)) {
8334 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8335 if (UNTAG_Bool(REGB2
)) {
8337 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8339 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8340 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8341 if (UNTAG_Bool(REGB0
)) {
8343 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8345 /* ./../lib/standard//kernel.nit:232 */
8346 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8348 /* ./../lib/standard//collection//array.nit:280 */
8349 REGB0
= TAG_Bool(false);
8352 if (UNTAG_Bool(REGB2
)) {
8354 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8356 /* ./../lib/standard//collection//array.nit:281 */
8357 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8358 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8359 if (UNTAG_Bool(REGB2
)) {
8360 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8362 /* ./../lib/standard//collection//array.nit:718 */
8363 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8364 /* ./../lib/standard//collection//array.nit:281 */
8367 /* ./compiling//compiling_icode.nit:776 */
8368 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8369 if (!once_value_143
) {
8370 fra
.me
.REG
[7] = BOX_NativeString("));");
8372 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8373 once_value_143
= fra
.me
.REG
[7];
8374 register_static_object(&once_value_143
);
8375 } else fra
.me
.REG
[7] = once_value_143
;
8376 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8377 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8378 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8379 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8381 /* ./compiling//compiling_icode.nit:777 */
8382 if (!once_value_144
) {
8383 if (!once_value_145
) {
8384 fra
.me
.REG
[6] = BOX_NativeString("to_i");
8386 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8387 once_value_145
= fra
.me
.REG
[6];
8388 register_static_object(&once_value_145
);
8389 } else fra
.me
.REG
[6] = once_value_145
;
8390 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8391 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8392 once_value_144
= fra
.me
.REG
[6];
8393 register_static_object(&once_value_144
);
8394 } else fra
.me
.REG
[6] = once_value_144
;
8395 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8396 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8397 if (UNTAG_Bool(REGB1
)) {
8399 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8402 if (UNTAG_Bool(REGB1
)) {
8403 /* ./compiling//compiling_icode.nit:778 */
8405 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8406 if (!once_value_146
) {
8407 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int((bigint)UNBOX_Float(");
8408 REGB1
= TAG_Int(28);
8409 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8410 once_value_146
= fra
.me
.REG
[7];
8411 register_static_object(&once_value_146
);
8412 } else fra
.me
.REG
[7] = once_value_146
;
8413 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8414 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8416 /* ./../lib/standard//collection//array.nit:278 */
8417 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8418 /* ./../lib/standard//collection//array.nit:280 */
8420 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8421 if (UNTAG_Bool(REGB0
)) {
8423 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8425 /* ./../lib/standard//kernel.nit:233 */
8426 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8427 /* ./../lib/standard//collection//array.nit:280 */
8428 if (UNTAG_Bool(REGB2
)) {
8429 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8430 if (UNTAG_Bool(REGB2
)) {
8432 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8434 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8435 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8436 if (UNTAG_Bool(REGB0
)) {
8438 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8440 /* ./../lib/standard//kernel.nit:232 */
8441 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8443 /* ./../lib/standard//collection//array.nit:280 */
8444 REGB0
= TAG_Bool(false);
8447 if (UNTAG_Bool(REGB2
)) {
8449 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8451 /* ./../lib/standard//collection//array.nit:281 */
8452 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8453 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8454 if (UNTAG_Bool(REGB2
)) {
8455 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8457 /* ./../lib/standard//collection//array.nit:718 */
8458 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8459 /* ./../lib/standard//collection//array.nit:281 */
8462 /* ./compiling//compiling_icode.nit:778 */
8463 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8464 if (!once_value_148
) {
8465 fra
.me
.REG
[7] = BOX_NativeString("))");
8467 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8468 once_value_148
= fra
.me
.REG
[7];
8469 register_static_object(&once_value_148
);
8470 } else fra
.me
.REG
[7] = once_value_148
;
8471 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8472 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8473 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8474 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8476 /* ./compiling//compiling_icode.nit:779 */
8477 if (!once_value_149
) {
8478 if (!once_value_150
) {
8479 fra
.me
.REG
[6] = BOX_NativeString("+");
8481 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8482 once_value_150
= fra
.me
.REG
[6];
8483 register_static_object(&once_value_150
);
8484 } else fra
.me
.REG
[6] = once_value_150
;
8485 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8486 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8487 once_value_149
= fra
.me
.REG
[6];
8488 register_static_object(&once_value_149
);
8489 } else fra
.me
.REG
[6] = once_value_149
;
8490 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8491 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8492 if (UNTAG_Bool(REGB1
)) {
8494 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8497 if (UNTAG_Bool(REGB1
)) {
8498 /* ./compiling//compiling_icode.nit:780 */
8500 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8501 if (!once_value_151
) {
8502 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(UNBOX_Float(");
8503 REGB1
= TAG_Int(22);
8504 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8505 once_value_151
= fra
.me
.REG
[7];
8506 register_static_object(&once_value_151
);
8507 } else fra
.me
.REG
[7] = once_value_151
;
8508 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8509 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8511 /* ./../lib/standard//collection//array.nit:278 */
8512 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8513 /* ./../lib/standard//collection//array.nit:280 */
8515 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8516 if (UNTAG_Bool(REGB0
)) {
8518 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8520 /* ./../lib/standard//kernel.nit:233 */
8521 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8522 /* ./../lib/standard//collection//array.nit:280 */
8523 if (UNTAG_Bool(REGB2
)) {
8524 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8525 if (UNTAG_Bool(REGB2
)) {
8527 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8529 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8530 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8531 if (UNTAG_Bool(REGB0
)) {
8533 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8535 /* ./../lib/standard//kernel.nit:232 */
8536 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8538 /* ./../lib/standard//collection//array.nit:280 */
8539 REGB0
= TAG_Bool(false);
8542 if (UNTAG_Bool(REGB2
)) {
8544 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8546 /* ./../lib/standard//collection//array.nit:281 */
8547 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8548 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8549 if (UNTAG_Bool(REGB2
)) {
8550 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8552 /* ./../lib/standard//collection//array.nit:718 */
8553 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8554 /* ./../lib/standard//collection//array.nit:281 */
8557 /* ./compiling//compiling_icode.nit:780 */
8558 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8559 if (!once_value_153
) {
8560 fra
.me
.REG
[7] = BOX_NativeString(")+UNBOX_Float(");
8561 REGB1
= TAG_Int(14);
8562 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8563 once_value_153
= fra
.me
.REG
[7];
8564 register_static_object(&once_value_153
);
8565 } else fra
.me
.REG
[7] = once_value_153
;
8566 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8567 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8569 /* ./../lib/standard//collection//array.nit:278 */
8570 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8571 /* ./../lib/standard//collection//array.nit:280 */
8573 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8574 if (UNTAG_Bool(REGB0
)) {
8576 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8578 /* ./../lib/standard//kernel.nit:233 */
8579 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8580 /* ./../lib/standard//collection//array.nit:280 */
8581 if (UNTAG_Bool(REGB2
)) {
8582 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8583 if (UNTAG_Bool(REGB2
)) {
8585 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8587 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8588 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8589 if (UNTAG_Bool(REGB0
)) {
8591 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8593 /* ./../lib/standard//kernel.nit:232 */
8594 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8596 /* ./../lib/standard//collection//array.nit:280 */
8597 REGB0
= TAG_Bool(false);
8600 if (UNTAG_Bool(REGB2
)) {
8602 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8604 /* ./../lib/standard//collection//array.nit:281 */
8605 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8606 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8607 if (UNTAG_Bool(REGB2
)) {
8608 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8610 /* ./../lib/standard//collection//array.nit:718 */
8611 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8612 /* ./../lib/standard//collection//array.nit:281 */
8615 /* ./compiling//compiling_icode.nit:780 */
8616 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8617 if (!once_value_155
) {
8618 fra
.me
.REG
[7] = BOX_NativeString("))");
8620 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8621 once_value_155
= fra
.me
.REG
[7];
8622 register_static_object(&once_value_155
);
8623 } else fra
.me
.REG
[7] = once_value_155
;
8624 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8625 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8626 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8627 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8629 /* ./compiling//compiling_icode.nit:781 */
8630 if (!once_value_156
) {
8631 if (!once_value_157
) {
8632 fra
.me
.REG
[6] = BOX_NativeString("-");
8634 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8635 once_value_157
= fra
.me
.REG
[6];
8636 register_static_object(&once_value_157
);
8637 } else fra
.me
.REG
[6] = once_value_157
;
8638 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8639 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8640 once_value_156
= fra
.me
.REG
[6];
8641 register_static_object(&once_value_156
);
8642 } else fra
.me
.REG
[6] = once_value_156
;
8643 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8644 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8645 if (UNTAG_Bool(REGB1
)) {
8647 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8650 if (UNTAG_Bool(REGB1
)) {
8651 /* ./compiling//compiling_icode.nit:782 */
8653 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8654 if (!once_value_158
) {
8655 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(UNBOX_Float(");
8656 REGB1
= TAG_Int(22);
8657 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8658 once_value_158
= fra
.me
.REG
[7];
8659 register_static_object(&once_value_158
);
8660 } else fra
.me
.REG
[7] = once_value_158
;
8661 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8662 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8664 /* ./../lib/standard//collection//array.nit:278 */
8665 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8666 /* ./../lib/standard//collection//array.nit:280 */
8668 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8669 if (UNTAG_Bool(REGB0
)) {
8671 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8673 /* ./../lib/standard//kernel.nit:233 */
8674 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8675 /* ./../lib/standard//collection//array.nit:280 */
8676 if (UNTAG_Bool(REGB2
)) {
8677 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8678 if (UNTAG_Bool(REGB2
)) {
8680 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8682 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8683 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8684 if (UNTAG_Bool(REGB0
)) {
8686 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8688 /* ./../lib/standard//kernel.nit:232 */
8689 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8691 /* ./../lib/standard//collection//array.nit:280 */
8692 REGB0
= TAG_Bool(false);
8695 if (UNTAG_Bool(REGB2
)) {
8697 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8699 /* ./../lib/standard//collection//array.nit:281 */
8700 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8701 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8702 if (UNTAG_Bool(REGB2
)) {
8703 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8705 /* ./../lib/standard//collection//array.nit:718 */
8706 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8707 /* ./../lib/standard//collection//array.nit:281 */
8710 /* ./compiling//compiling_icode.nit:782 */
8711 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8712 if (!once_value_160
) {
8713 fra
.me
.REG
[7] = BOX_NativeString(")-UNBOX_Float(");
8714 REGB1
= TAG_Int(14);
8715 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8716 once_value_160
= fra
.me
.REG
[7];
8717 register_static_object(&once_value_160
);
8718 } else fra
.me
.REG
[7] = once_value_160
;
8719 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8720 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8722 /* ./../lib/standard//collection//array.nit:278 */
8723 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8724 /* ./../lib/standard//collection//array.nit:280 */
8726 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8727 if (UNTAG_Bool(REGB0
)) {
8729 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8731 /* ./../lib/standard//kernel.nit:233 */
8732 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8733 /* ./../lib/standard//collection//array.nit:280 */
8734 if (UNTAG_Bool(REGB2
)) {
8735 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8736 if (UNTAG_Bool(REGB2
)) {
8738 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8740 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8741 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8742 if (UNTAG_Bool(REGB0
)) {
8744 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8746 /* ./../lib/standard//kernel.nit:232 */
8747 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8749 /* ./../lib/standard//collection//array.nit:280 */
8750 REGB0
= TAG_Bool(false);
8753 if (UNTAG_Bool(REGB2
)) {
8755 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8757 /* ./../lib/standard//collection//array.nit:281 */
8758 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8759 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8760 if (UNTAG_Bool(REGB2
)) {
8761 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8763 /* ./../lib/standard//collection//array.nit:718 */
8764 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8765 /* ./../lib/standard//collection//array.nit:281 */
8768 /* ./compiling//compiling_icode.nit:782 */
8769 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8770 if (!once_value_162
) {
8771 fra
.me
.REG
[7] = BOX_NativeString("))");
8773 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8774 once_value_162
= fra
.me
.REG
[7];
8775 register_static_object(&once_value_162
);
8776 } else fra
.me
.REG
[7] = once_value_162
;
8777 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8778 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8779 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8780 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8782 /* ./compiling//compiling_icode.nit:783 */
8783 if (!once_value_163
) {
8784 if (!once_value_164
) {
8785 fra
.me
.REG
[6] = BOX_NativeString("*");
8787 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8788 once_value_164
= fra
.me
.REG
[6];
8789 register_static_object(&once_value_164
);
8790 } else fra
.me
.REG
[6] = once_value_164
;
8791 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8792 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8793 once_value_163
= fra
.me
.REG
[6];
8794 register_static_object(&once_value_163
);
8795 } else fra
.me
.REG
[6] = once_value_163
;
8796 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8797 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8798 if (UNTAG_Bool(REGB1
)) {
8800 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8803 if (UNTAG_Bool(REGB1
)) {
8804 /* ./compiling//compiling_icode.nit:784 */
8806 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8807 if (!once_value_165
) {
8808 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(UNBOX_Float(");
8809 REGB1
= TAG_Int(22);
8810 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8811 once_value_165
= fra
.me
.REG
[7];
8812 register_static_object(&once_value_165
);
8813 } else fra
.me
.REG
[7] = once_value_165
;
8814 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8815 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8817 /* ./../lib/standard//collection//array.nit:278 */
8818 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8819 /* ./../lib/standard//collection//array.nit:280 */
8821 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8822 if (UNTAG_Bool(REGB0
)) {
8824 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8826 /* ./../lib/standard//kernel.nit:233 */
8827 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8828 /* ./../lib/standard//collection//array.nit:280 */
8829 if (UNTAG_Bool(REGB2
)) {
8830 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8831 if (UNTAG_Bool(REGB2
)) {
8833 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8835 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8836 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8837 if (UNTAG_Bool(REGB0
)) {
8839 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8841 /* ./../lib/standard//kernel.nit:232 */
8842 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8844 /* ./../lib/standard//collection//array.nit:280 */
8845 REGB0
= TAG_Bool(false);
8848 if (UNTAG_Bool(REGB2
)) {
8850 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8852 /* ./../lib/standard//collection//array.nit:281 */
8853 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8854 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8855 if (UNTAG_Bool(REGB2
)) {
8856 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8858 /* ./../lib/standard//collection//array.nit:718 */
8859 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8860 /* ./../lib/standard//collection//array.nit:281 */
8863 /* ./compiling//compiling_icode.nit:784 */
8864 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8865 if (!once_value_167
) {
8866 fra
.me
.REG
[7] = BOX_NativeString(")*UNBOX_Float(");
8867 REGB1
= TAG_Int(14);
8868 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8869 once_value_167
= fra
.me
.REG
[7];
8870 register_static_object(&once_value_167
);
8871 } else fra
.me
.REG
[7] = once_value_167
;
8872 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8873 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8875 /* ./../lib/standard//collection//array.nit:278 */
8876 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8877 /* ./../lib/standard//collection//array.nit:280 */
8879 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8880 if (UNTAG_Bool(REGB0
)) {
8882 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8884 /* ./../lib/standard//kernel.nit:233 */
8885 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8886 /* ./../lib/standard//collection//array.nit:280 */
8887 if (UNTAG_Bool(REGB2
)) {
8888 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8889 if (UNTAG_Bool(REGB2
)) {
8891 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8893 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8894 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8895 if (UNTAG_Bool(REGB0
)) {
8897 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8899 /* ./../lib/standard//kernel.nit:232 */
8900 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8902 /* ./../lib/standard//collection//array.nit:280 */
8903 REGB0
= TAG_Bool(false);
8906 if (UNTAG_Bool(REGB2
)) {
8908 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8910 /* ./../lib/standard//collection//array.nit:281 */
8911 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8912 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8913 if (UNTAG_Bool(REGB2
)) {
8914 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8916 /* ./../lib/standard//collection//array.nit:718 */
8917 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8918 /* ./../lib/standard//collection//array.nit:281 */
8921 /* ./compiling//compiling_icode.nit:784 */
8922 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8923 if (!once_value_169
) {
8924 fra
.me
.REG
[7] = BOX_NativeString("))");
8926 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8927 once_value_169
= fra
.me
.REG
[7];
8928 register_static_object(&once_value_169
);
8929 } else fra
.me
.REG
[7] = once_value_169
;
8930 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8931 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8932 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8933 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8935 /* ./compiling//compiling_icode.nit:785 */
8936 if (!once_value_170
) {
8937 if (!once_value_171
) {
8938 fra
.me
.REG
[6] = BOX_NativeString("/");
8940 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8941 once_value_171
= fra
.me
.REG
[6];
8942 register_static_object(&once_value_171
);
8943 } else fra
.me
.REG
[6] = once_value_171
;
8944 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8945 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8946 once_value_170
= fra
.me
.REG
[6];
8947 register_static_object(&once_value_170
);
8948 } else fra
.me
.REG
[6] = once_value_170
;
8949 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8950 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8951 if (UNTAG_Bool(REGB1
)) {
8953 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8956 if (UNTAG_Bool(REGB1
)) {
8957 /* ./compiling//compiling_icode.nit:786 */
8959 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8960 if (!once_value_172
) {
8961 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(UNBOX_Float(");
8962 REGB1
= TAG_Int(22);
8963 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8964 once_value_172
= fra
.me
.REG
[7];
8965 register_static_object(&once_value_172
);
8966 } else fra
.me
.REG
[7] = once_value_172
;
8967 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8968 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8970 /* ./../lib/standard//collection//array.nit:278 */
8971 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8972 /* ./../lib/standard//collection//array.nit:280 */
8974 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8975 if (UNTAG_Bool(REGB0
)) {
8977 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8979 /* ./../lib/standard//kernel.nit:233 */
8980 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8981 /* ./../lib/standard//collection//array.nit:280 */
8982 if (UNTAG_Bool(REGB2
)) {
8983 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8984 if (UNTAG_Bool(REGB2
)) {
8986 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8988 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8989 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8990 if (UNTAG_Bool(REGB0
)) {
8992 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8994 /* ./../lib/standard//kernel.nit:232 */
8995 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8997 /* ./../lib/standard//collection//array.nit:280 */
8998 REGB0
= TAG_Bool(false);
9001 if (UNTAG_Bool(REGB2
)) {
9003 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9005 /* ./../lib/standard//collection//array.nit:281 */
9006 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9007 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9008 if (UNTAG_Bool(REGB2
)) {
9009 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9011 /* ./../lib/standard//collection//array.nit:718 */
9012 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9013 /* ./../lib/standard//collection//array.nit:281 */
9016 /* ./compiling//compiling_icode.nit:786 */
9017 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9018 if (!once_value_174
) {
9019 fra
.me
.REG
[7] = BOX_NativeString(")/UNBOX_Float(");
9020 REGB1
= TAG_Int(14);
9021 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9022 once_value_174
= fra
.me
.REG
[7];
9023 register_static_object(&once_value_174
);
9024 } else fra
.me
.REG
[7] = once_value_174
;
9025 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9026 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9028 /* ./../lib/standard//collection//array.nit:278 */
9029 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9030 /* ./../lib/standard//collection//array.nit:280 */
9032 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9033 if (UNTAG_Bool(REGB0
)) {
9035 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9037 /* ./../lib/standard//kernel.nit:233 */
9038 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9039 /* ./../lib/standard//collection//array.nit:280 */
9040 if (UNTAG_Bool(REGB2
)) {
9041 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9042 if (UNTAG_Bool(REGB2
)) {
9044 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9046 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9047 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9048 if (UNTAG_Bool(REGB0
)) {
9050 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9052 /* ./../lib/standard//kernel.nit:232 */
9053 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9055 /* ./../lib/standard//collection//array.nit:280 */
9056 REGB0
= TAG_Bool(false);
9059 if (UNTAG_Bool(REGB2
)) {
9061 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9063 /* ./../lib/standard//collection//array.nit:281 */
9064 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9065 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9066 if (UNTAG_Bool(REGB2
)) {
9067 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9069 /* ./../lib/standard//collection//array.nit:718 */
9070 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9071 /* ./../lib/standard//collection//array.nit:281 */
9074 /* ./compiling//compiling_icode.nit:786 */
9075 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9076 if (!once_value_176
) {
9077 fra
.me
.REG
[7] = BOX_NativeString("))");
9079 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9080 once_value_176
= fra
.me
.REG
[7];
9081 register_static_object(&once_value_176
);
9082 } else fra
.me
.REG
[7] = once_value_176
;
9083 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9084 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9085 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9086 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9088 /* ./compiling//compiling_icode.nit:787 */
9089 if (!once_value_177
) {
9090 if (!once_value_178
) {
9091 fra
.me
.REG
[6] = BOX_NativeString("<");
9093 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9094 once_value_178
= fra
.me
.REG
[6];
9095 register_static_object(&once_value_178
);
9096 } else fra
.me
.REG
[6] = once_value_178
;
9097 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9098 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9099 once_value_177
= fra
.me
.REG
[6];
9100 register_static_object(&once_value_177
);
9101 } else fra
.me
.REG
[6] = once_value_177
;
9102 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9103 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9104 if (UNTAG_Bool(REGB1
)) {
9106 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9109 if (UNTAG_Bool(REGB1
)) {
9110 /* ./compiling//compiling_icode.nit:788 */
9112 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9113 if (!once_value_179
) {
9114 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNBOX_Float(");
9115 REGB1
= TAG_Int(21);
9116 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9117 once_value_179
= fra
.me
.REG
[7];
9118 register_static_object(&once_value_179
);
9119 } else fra
.me
.REG
[7] = once_value_179
;
9120 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9121 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9123 /* ./../lib/standard//collection//array.nit:278 */
9124 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9125 /* ./../lib/standard//collection//array.nit:280 */
9127 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9128 if (UNTAG_Bool(REGB0
)) {
9130 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9132 /* ./../lib/standard//kernel.nit:233 */
9133 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9134 /* ./../lib/standard//collection//array.nit:280 */
9135 if (UNTAG_Bool(REGB2
)) {
9136 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9137 if (UNTAG_Bool(REGB2
)) {
9139 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9141 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9142 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9143 if (UNTAG_Bool(REGB0
)) {
9145 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9147 /* ./../lib/standard//kernel.nit:232 */
9148 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9150 /* ./../lib/standard//collection//array.nit:280 */
9151 REGB0
= TAG_Bool(false);
9154 if (UNTAG_Bool(REGB2
)) {
9156 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9158 /* ./../lib/standard//collection//array.nit:281 */
9159 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9160 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9161 if (UNTAG_Bool(REGB2
)) {
9162 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9164 /* ./../lib/standard//collection//array.nit:718 */
9165 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9166 /* ./../lib/standard//collection//array.nit:281 */
9169 /* ./compiling//compiling_icode.nit:788 */
9170 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9171 if (!once_value_181
) {
9172 fra
.me
.REG
[7] = BOX_NativeString(")<UNBOX_Float(");
9173 REGB1
= TAG_Int(14);
9174 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9175 once_value_181
= fra
.me
.REG
[7];
9176 register_static_object(&once_value_181
);
9177 } else fra
.me
.REG
[7] = once_value_181
;
9178 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9179 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9181 /* ./../lib/standard//collection//array.nit:278 */
9182 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9183 /* ./../lib/standard//collection//array.nit:280 */
9185 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9186 if (UNTAG_Bool(REGB0
)) {
9188 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9190 /* ./../lib/standard//kernel.nit:233 */
9191 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9192 /* ./../lib/standard//collection//array.nit:280 */
9193 if (UNTAG_Bool(REGB2
)) {
9194 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9195 if (UNTAG_Bool(REGB2
)) {
9197 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9199 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9200 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9201 if (UNTAG_Bool(REGB0
)) {
9203 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9205 /* ./../lib/standard//kernel.nit:232 */
9206 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9208 /* ./../lib/standard//collection//array.nit:280 */
9209 REGB0
= TAG_Bool(false);
9212 if (UNTAG_Bool(REGB2
)) {
9214 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9216 /* ./../lib/standard//collection//array.nit:281 */
9217 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9218 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9219 if (UNTAG_Bool(REGB2
)) {
9220 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9222 /* ./../lib/standard//collection//array.nit:718 */
9223 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9224 /* ./../lib/standard//collection//array.nit:281 */
9227 /* ./compiling//compiling_icode.nit:788 */
9228 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9229 if (!once_value_183
) {
9230 fra
.me
.REG
[7] = BOX_NativeString("))");
9232 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9233 once_value_183
= fra
.me
.REG
[7];
9234 register_static_object(&once_value_183
);
9235 } else fra
.me
.REG
[7] = once_value_183
;
9236 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9237 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9238 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9239 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9241 /* ./compiling//compiling_icode.nit:789 */
9242 if (!once_value_184
) {
9243 if (!once_value_185
) {
9244 fra
.me
.REG
[6] = BOX_NativeString(">");
9246 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9247 once_value_185
= fra
.me
.REG
[6];
9248 register_static_object(&once_value_185
);
9249 } else fra
.me
.REG
[6] = once_value_185
;
9250 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9251 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9252 once_value_184
= fra
.me
.REG
[6];
9253 register_static_object(&once_value_184
);
9254 } else fra
.me
.REG
[6] = once_value_184
;
9255 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9256 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9257 if (UNTAG_Bool(REGB1
)) {
9259 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9262 if (UNTAG_Bool(REGB1
)) {
9263 /* ./compiling//compiling_icode.nit:790 */
9265 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9266 if (!once_value_186
) {
9267 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNBOX_Float(");
9268 REGB1
= TAG_Int(21);
9269 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9270 once_value_186
= fra
.me
.REG
[7];
9271 register_static_object(&once_value_186
);
9272 } else fra
.me
.REG
[7] = once_value_186
;
9273 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9274 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9276 /* ./../lib/standard//collection//array.nit:278 */
9277 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9278 /* ./../lib/standard//collection//array.nit:280 */
9280 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9281 if (UNTAG_Bool(REGB0
)) {
9283 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9285 /* ./../lib/standard//kernel.nit:233 */
9286 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9287 /* ./../lib/standard//collection//array.nit:280 */
9288 if (UNTAG_Bool(REGB2
)) {
9289 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9290 if (UNTAG_Bool(REGB2
)) {
9292 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9294 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9295 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9296 if (UNTAG_Bool(REGB0
)) {
9298 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9300 /* ./../lib/standard//kernel.nit:232 */
9301 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9303 /* ./../lib/standard//collection//array.nit:280 */
9304 REGB0
= TAG_Bool(false);
9307 if (UNTAG_Bool(REGB2
)) {
9309 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9311 /* ./../lib/standard//collection//array.nit:281 */
9312 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9313 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9314 if (UNTAG_Bool(REGB2
)) {
9315 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9317 /* ./../lib/standard//collection//array.nit:718 */
9318 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9319 /* ./../lib/standard//collection//array.nit:281 */
9322 /* ./compiling//compiling_icode.nit:790 */
9323 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9324 if (!once_value_188
) {
9325 fra
.me
.REG
[7] = BOX_NativeString(")>UNBOX_Float(");
9326 REGB1
= TAG_Int(14);
9327 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9328 once_value_188
= fra
.me
.REG
[7];
9329 register_static_object(&once_value_188
);
9330 } else fra
.me
.REG
[7] = once_value_188
;
9331 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9332 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9334 /* ./../lib/standard//collection//array.nit:278 */
9335 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9336 /* ./../lib/standard//collection//array.nit:280 */
9338 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9339 if (UNTAG_Bool(REGB0
)) {
9341 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9343 /* ./../lib/standard//kernel.nit:233 */
9344 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9345 /* ./../lib/standard//collection//array.nit:280 */
9346 if (UNTAG_Bool(REGB2
)) {
9347 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9348 if (UNTAG_Bool(REGB2
)) {
9350 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9352 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9353 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9354 if (UNTAG_Bool(REGB0
)) {
9356 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9358 /* ./../lib/standard//kernel.nit:232 */
9359 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9361 /* ./../lib/standard//collection//array.nit:280 */
9362 REGB0
= TAG_Bool(false);
9365 if (UNTAG_Bool(REGB2
)) {
9367 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9369 /* ./../lib/standard//collection//array.nit:281 */
9370 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9371 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9372 if (UNTAG_Bool(REGB2
)) {
9373 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9375 /* ./../lib/standard//collection//array.nit:718 */
9376 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9377 /* ./../lib/standard//collection//array.nit:281 */
9380 /* ./compiling//compiling_icode.nit:790 */
9381 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9382 if (!once_value_190
) {
9383 fra
.me
.REG
[7] = BOX_NativeString("))");
9385 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9386 once_value_190
= fra
.me
.REG
[7];
9387 register_static_object(&once_value_190
);
9388 } else fra
.me
.REG
[7] = once_value_190
;
9389 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9390 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9391 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9392 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9394 /* ./compiling//compiling_icode.nit:791 */
9395 if (!once_value_191
) {
9396 if (!once_value_192
) {
9397 fra
.me
.REG
[6] = BOX_NativeString("<=");
9399 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9400 once_value_192
= fra
.me
.REG
[6];
9401 register_static_object(&once_value_192
);
9402 } else fra
.me
.REG
[6] = once_value_192
;
9403 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9404 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9405 once_value_191
= fra
.me
.REG
[6];
9406 register_static_object(&once_value_191
);
9407 } else fra
.me
.REG
[6] = once_value_191
;
9408 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9409 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9410 if (UNTAG_Bool(REGB1
)) {
9412 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9415 if (UNTAG_Bool(REGB1
)) {
9416 /* ./compiling//compiling_icode.nit:792 */
9418 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9419 if (!once_value_193
) {
9420 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNBOX_Float(");
9421 REGB1
= TAG_Int(21);
9422 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9423 once_value_193
= fra
.me
.REG
[7];
9424 register_static_object(&once_value_193
);
9425 } else fra
.me
.REG
[7] = once_value_193
;
9426 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9427 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9429 /* ./../lib/standard//collection//array.nit:278 */
9430 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9431 /* ./../lib/standard//collection//array.nit:280 */
9433 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9434 if (UNTAG_Bool(REGB0
)) {
9436 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9438 /* ./../lib/standard//kernel.nit:233 */
9439 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9440 /* ./../lib/standard//collection//array.nit:280 */
9441 if (UNTAG_Bool(REGB2
)) {
9442 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9443 if (UNTAG_Bool(REGB2
)) {
9445 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9447 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9448 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9449 if (UNTAG_Bool(REGB0
)) {
9451 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9453 /* ./../lib/standard//kernel.nit:232 */
9454 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9456 /* ./../lib/standard//collection//array.nit:280 */
9457 REGB0
= TAG_Bool(false);
9460 if (UNTAG_Bool(REGB2
)) {
9462 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9464 /* ./../lib/standard//collection//array.nit:281 */
9465 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9466 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9467 if (UNTAG_Bool(REGB2
)) {
9468 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9470 /* ./../lib/standard//collection//array.nit:718 */
9471 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9472 /* ./../lib/standard//collection//array.nit:281 */
9475 /* ./compiling//compiling_icode.nit:792 */
9476 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9477 if (!once_value_195
) {
9478 fra
.me
.REG
[7] = BOX_NativeString(")<=UNBOX_Float(");
9479 REGB1
= TAG_Int(15);
9480 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9481 once_value_195
= fra
.me
.REG
[7];
9482 register_static_object(&once_value_195
);
9483 } else fra
.me
.REG
[7] = once_value_195
;
9484 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9485 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9487 /* ./../lib/standard//collection//array.nit:278 */
9488 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9489 /* ./../lib/standard//collection//array.nit:280 */
9491 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9492 if (UNTAG_Bool(REGB0
)) {
9494 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9496 /* ./../lib/standard//kernel.nit:233 */
9497 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9498 /* ./../lib/standard//collection//array.nit:280 */
9499 if (UNTAG_Bool(REGB2
)) {
9500 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9501 if (UNTAG_Bool(REGB2
)) {
9503 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9505 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9506 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9507 if (UNTAG_Bool(REGB0
)) {
9509 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9511 /* ./../lib/standard//kernel.nit:232 */
9512 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9514 /* ./../lib/standard//collection//array.nit:280 */
9515 REGB0
= TAG_Bool(false);
9518 if (UNTAG_Bool(REGB2
)) {
9520 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9522 /* ./../lib/standard//collection//array.nit:281 */
9523 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9524 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9525 if (UNTAG_Bool(REGB2
)) {
9526 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9528 /* ./../lib/standard//collection//array.nit:718 */
9529 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9530 /* ./../lib/standard//collection//array.nit:281 */
9533 /* ./compiling//compiling_icode.nit:792 */
9534 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9535 if (!once_value_197
) {
9536 fra
.me
.REG
[7] = BOX_NativeString("))");
9538 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9539 once_value_197
= fra
.me
.REG
[7];
9540 register_static_object(&once_value_197
);
9541 } else fra
.me
.REG
[7] = once_value_197
;
9542 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9543 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9544 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9545 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9547 /* ./compiling//compiling_icode.nit:793 */
9548 if (!once_value_198
) {
9549 if (!once_value_199
) {
9550 fra
.me
.REG
[6] = BOX_NativeString(">=");
9552 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9553 once_value_199
= fra
.me
.REG
[6];
9554 register_static_object(&once_value_199
);
9555 } else fra
.me
.REG
[6] = once_value_199
;
9556 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9557 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9558 once_value_198
= fra
.me
.REG
[6];
9559 register_static_object(&once_value_198
);
9560 } else fra
.me
.REG
[6] = once_value_198
;
9561 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9562 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9563 if (UNTAG_Bool(REGB1
)) {
9565 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9568 if (UNTAG_Bool(REGB1
)) {
9569 /* ./compiling//compiling_icode.nit:794 */
9571 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9572 if (!once_value_200
) {
9573 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNBOX_Float(");
9574 REGB1
= TAG_Int(21);
9575 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9576 once_value_200
= fra
.me
.REG
[7];
9577 register_static_object(&once_value_200
);
9578 } else fra
.me
.REG
[7] = once_value_200
;
9579 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9580 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9582 /* ./../lib/standard//collection//array.nit:278 */
9583 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9584 /* ./../lib/standard//collection//array.nit:280 */
9586 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9587 if (UNTAG_Bool(REGB0
)) {
9589 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9591 /* ./../lib/standard//kernel.nit:233 */
9592 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9593 /* ./../lib/standard//collection//array.nit:280 */
9594 if (UNTAG_Bool(REGB2
)) {
9595 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9596 if (UNTAG_Bool(REGB2
)) {
9598 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9600 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9601 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9602 if (UNTAG_Bool(REGB0
)) {
9604 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9606 /* ./../lib/standard//kernel.nit:232 */
9607 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9609 /* ./../lib/standard//collection//array.nit:280 */
9610 REGB0
= TAG_Bool(false);
9613 if (UNTAG_Bool(REGB2
)) {
9615 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9617 /* ./../lib/standard//collection//array.nit:281 */
9618 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9619 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9620 if (UNTAG_Bool(REGB2
)) {
9621 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9623 /* ./../lib/standard//collection//array.nit:718 */
9624 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9625 /* ./../lib/standard//collection//array.nit:281 */
9628 /* ./compiling//compiling_icode.nit:794 */
9629 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9630 if (!once_value_202
) {
9631 fra
.me
.REG
[7] = BOX_NativeString(")>=UNBOX_Float(");
9632 REGB1
= TAG_Int(15);
9633 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9634 once_value_202
= fra
.me
.REG
[7];
9635 register_static_object(&once_value_202
);
9636 } else fra
.me
.REG
[7] = once_value_202
;
9637 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9638 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9640 /* ./../lib/standard//collection//array.nit:278 */
9641 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9642 /* ./../lib/standard//collection//array.nit:280 */
9644 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9645 if (UNTAG_Bool(REGB0
)) {
9647 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9649 /* ./../lib/standard//kernel.nit:233 */
9650 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9651 /* ./../lib/standard//collection//array.nit:280 */
9652 if (UNTAG_Bool(REGB2
)) {
9653 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9654 if (UNTAG_Bool(REGB2
)) {
9656 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9658 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9659 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9660 if (UNTAG_Bool(REGB0
)) {
9662 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9664 /* ./../lib/standard//kernel.nit:232 */
9665 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9667 /* ./../lib/standard//collection//array.nit:280 */
9668 REGB0
= TAG_Bool(false);
9671 if (UNTAG_Bool(REGB2
)) {
9673 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9675 /* ./../lib/standard//collection//array.nit:281 */
9676 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9677 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9678 if (UNTAG_Bool(REGB2
)) {
9679 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9681 /* ./../lib/standard//collection//array.nit:718 */
9682 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9683 /* ./../lib/standard//collection//array.nit:281 */
9686 /* ./compiling//compiling_icode.nit:794 */
9687 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9688 if (!once_value_204
) {
9689 fra
.me
.REG
[7] = BOX_NativeString("))");
9691 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9692 once_value_204
= fra
.me
.REG
[7];
9693 register_static_object(&once_value_204
);
9694 } else fra
.me
.REG
[7] = once_value_204
;
9695 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9696 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9697 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9698 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9712 /* ./compiling//compiling_icode.nit:796 */
9713 if (!once_value_205
) {
9714 if (!once_value_206
) {
9715 fra
.me
.REG
[6] = BOX_NativeString("Char");
9717 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9718 once_value_206
= fra
.me
.REG
[6];
9719 register_static_object(&once_value_206
);
9720 } else fra
.me
.REG
[6] = once_value_206
;
9721 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9722 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9723 once_value_205
= fra
.me
.REG
[6];
9724 register_static_object(&once_value_205
);
9725 } else fra
.me
.REG
[6] = once_value_205
;
9726 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9727 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
9728 if (UNTAG_Bool(REGB1
)) {
9730 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
9733 if (UNTAG_Bool(REGB1
)) {
9734 /* ./compiling//compiling_icode.nit:797 */
9735 if (!once_value_207
) {
9736 if (!once_value_208
) {
9737 fra
.me
.REG
[6] = BOX_NativeString("object_id");
9739 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9740 once_value_208
= fra
.me
.REG
[6];
9741 register_static_object(&once_value_208
);
9742 } else fra
.me
.REG
[6] = once_value_208
;
9743 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9744 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9745 once_value_207
= fra
.me
.REG
[6];
9746 register_static_object(&once_value_207
);
9747 } else fra
.me
.REG
[6] = once_value_207
;
9748 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9749 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9750 if (UNTAG_Bool(REGB1
)) {
9752 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9755 if (UNTAG_Bool(REGB1
)) {
9756 /* ./compiling//compiling_icode.nit:798 */
9758 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9759 if (!once_value_209
) {
9760 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Char(");
9761 REGB1
= TAG_Int(19);
9762 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9763 once_value_209
= fra
.me
.REG
[7];
9764 register_static_object(&once_value_209
);
9765 } else fra
.me
.REG
[7] = once_value_209
;
9766 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9767 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9769 /* ./../lib/standard//collection//array.nit:278 */
9770 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9771 /* ./../lib/standard//collection//array.nit:280 */
9773 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9774 if (UNTAG_Bool(REGB0
)) {
9776 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9778 /* ./../lib/standard//kernel.nit:233 */
9779 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9780 /* ./../lib/standard//collection//array.nit:280 */
9781 if (UNTAG_Bool(REGB2
)) {
9782 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9783 if (UNTAG_Bool(REGB2
)) {
9785 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9787 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9788 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9789 if (UNTAG_Bool(REGB0
)) {
9791 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9793 /* ./../lib/standard//kernel.nit:232 */
9794 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9796 /* ./../lib/standard//collection//array.nit:280 */
9797 REGB0
= TAG_Bool(false);
9800 if (UNTAG_Bool(REGB2
)) {
9802 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9804 /* ./../lib/standard//collection//array.nit:281 */
9805 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9806 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9807 if (UNTAG_Bool(REGB2
)) {
9808 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9810 /* ./../lib/standard//collection//array.nit:718 */
9811 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9812 /* ./../lib/standard//collection//array.nit:281 */
9815 /* ./compiling//compiling_icode.nit:798 */
9816 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9817 if (!once_value_211
) {
9818 fra
.me
.REG
[7] = BOX_NativeString("))");
9820 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9821 once_value_211
= fra
.me
.REG
[7];
9822 register_static_object(&once_value_211
);
9823 } else fra
.me
.REG
[7] = once_value_211
;
9824 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9825 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9826 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9827 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9829 /* ./compiling//compiling_icode.nit:799 */
9830 if (!once_value_212
) {
9831 if (!once_value_213
) {
9832 fra
.me
.REG
[6] = BOX_NativeString("unary -");
9834 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9835 once_value_213
= fra
.me
.REG
[6];
9836 register_static_object(&once_value_213
);
9837 } else fra
.me
.REG
[6] = once_value_213
;
9838 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9839 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9840 once_value_212
= fra
.me
.REG
[6];
9841 register_static_object(&once_value_212
);
9842 } else fra
.me
.REG
[6] = once_value_212
;
9843 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9844 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9845 if (UNTAG_Bool(REGB1
)) {
9847 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9850 if (UNTAG_Bool(REGB1
)) {
9851 /* ./compiling//compiling_icode.nit:800 */
9853 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9854 if (!once_value_214
) {
9855 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(-UNTAG_Char(");
9856 REGB1
= TAG_Int(21);
9857 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9858 once_value_214
= fra
.me
.REG
[7];
9859 register_static_object(&once_value_214
);
9860 } else fra
.me
.REG
[7] = once_value_214
;
9861 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9862 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9864 /* ./../lib/standard//collection//array.nit:278 */
9865 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9866 /* ./../lib/standard//collection//array.nit:280 */
9868 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9869 if (UNTAG_Bool(REGB0
)) {
9871 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9873 /* ./../lib/standard//kernel.nit:233 */
9874 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9875 /* ./../lib/standard//collection//array.nit:280 */
9876 if (UNTAG_Bool(REGB2
)) {
9877 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9878 if (UNTAG_Bool(REGB2
)) {
9880 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9882 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9883 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9884 if (UNTAG_Bool(REGB0
)) {
9886 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9888 /* ./../lib/standard//kernel.nit:232 */
9889 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9891 /* ./../lib/standard//collection//array.nit:280 */
9892 REGB0
= TAG_Bool(false);
9895 if (UNTAG_Bool(REGB2
)) {
9897 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9899 /* ./../lib/standard//collection//array.nit:281 */
9900 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9901 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9902 if (UNTAG_Bool(REGB2
)) {
9903 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9905 /* ./../lib/standard//collection//array.nit:718 */
9906 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9907 /* ./../lib/standard//collection//array.nit:281 */
9910 /* ./compiling//compiling_icode.nit:800 */
9911 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9912 if (!once_value_216
) {
9913 fra
.me
.REG
[7] = BOX_NativeString("))");
9915 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9916 once_value_216
= fra
.me
.REG
[7];
9917 register_static_object(&once_value_216
);
9918 } else fra
.me
.REG
[7] = once_value_216
;
9919 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9920 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9921 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9922 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9924 /* ./compiling//compiling_icode.nit:801 */
9925 if (!once_value_217
) {
9926 if (!once_value_218
) {
9927 fra
.me
.REG
[6] = BOX_NativeString("output");
9929 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9930 once_value_218
= fra
.me
.REG
[6];
9931 register_static_object(&once_value_218
);
9932 } else fra
.me
.REG
[6] = once_value_218
;
9933 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9934 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9935 once_value_217
= fra
.me
.REG
[6];
9936 register_static_object(&once_value_217
);
9937 } else fra
.me
.REG
[6] = once_value_217
;
9938 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9939 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9940 if (UNTAG_Bool(REGB1
)) {
9942 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9945 if (UNTAG_Bool(REGB1
)) {
9946 /* ./compiling//compiling_icode.nit:802 */
9948 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9949 if (!once_value_219
) {
9950 fra
.me
.REG
[7] = BOX_NativeString("printf(\"%c\", (unsigned char)UNTAG_Char(");
9951 REGB1
= TAG_Int(39);
9952 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9953 once_value_219
= fra
.me
.REG
[7];
9954 register_static_object(&once_value_219
);
9955 } else fra
.me
.REG
[7] = once_value_219
;
9956 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9957 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9959 /* ./../lib/standard//collection//array.nit:278 */
9960 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9961 /* ./../lib/standard//collection//array.nit:280 */
9963 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9964 if (UNTAG_Bool(REGB0
)) {
9966 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9968 /* ./../lib/standard//kernel.nit:233 */
9969 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9970 /* ./../lib/standard//collection//array.nit:280 */
9971 if (UNTAG_Bool(REGB2
)) {
9972 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9973 if (UNTAG_Bool(REGB2
)) {
9975 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9977 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9978 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9979 if (UNTAG_Bool(REGB0
)) {
9981 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9983 /* ./../lib/standard//kernel.nit:232 */
9984 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9986 /* ./../lib/standard//collection//array.nit:280 */
9987 REGB0
= TAG_Bool(false);
9990 if (UNTAG_Bool(REGB2
)) {
9992 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9994 /* ./../lib/standard//collection//array.nit:281 */
9995 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9996 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9997 if (UNTAG_Bool(REGB2
)) {
9998 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10000 /* ./../lib/standard//collection//array.nit:718 */
10001 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10002 /* ./../lib/standard//collection//array.nit:281 */
10004 label220
: while(0);
10005 /* ./compiling//compiling_icode.nit:802 */
10006 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10007 if (!once_value_221
) {
10008 fra
.me
.REG
[7] = BOX_NativeString("));");
10009 REGB1
= TAG_Int(3);
10010 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10011 once_value_221
= fra
.me
.REG
[7];
10012 register_static_object(&once_value_221
);
10013 } else fra
.me
.REG
[7] = once_value_221
;
10014 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10015 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10016 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10017 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10019 /* ./compiling//compiling_icode.nit:803 */
10020 if (!once_value_222
) {
10021 if (!once_value_223
) {
10022 fra
.me
.REG
[6] = BOX_NativeString("ascii");
10023 REGB1
= TAG_Int(5);
10024 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10025 once_value_223
= fra
.me
.REG
[6];
10026 register_static_object(&once_value_223
);
10027 } else fra
.me
.REG
[6] = once_value_223
;
10028 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10029 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10030 once_value_222
= fra
.me
.REG
[6];
10031 register_static_object(&once_value_222
);
10032 } else fra
.me
.REG
[6] = once_value_222
;
10033 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10034 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10035 if (UNTAG_Bool(REGB1
)) {
10037 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10040 if (UNTAG_Bool(REGB1
)) {
10041 /* ./compiling//compiling_icode.nit:804 */
10042 REGB1
= TAG_Int(3);
10043 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10044 if (!once_value_224
) {
10045 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int((unsigned char)UNTAG_Char(");
10046 REGB1
= TAG_Int(34);
10047 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10048 once_value_224
= fra
.me
.REG
[7];
10049 register_static_object(&once_value_224
);
10050 } else fra
.me
.REG
[7] = once_value_224
;
10051 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10052 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10053 REGB1
= TAG_Int(0);
10054 /* ./../lib/standard//collection//array.nit:278 */
10055 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10056 /* ./../lib/standard//collection//array.nit:280 */
10057 REGB2
= TAG_Int(0);
10058 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10059 if (UNTAG_Bool(REGB0
)) {
10061 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10063 /* ./../lib/standard//kernel.nit:233 */
10064 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10065 /* ./../lib/standard//collection//array.nit:280 */
10066 if (UNTAG_Bool(REGB2
)) {
10067 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10068 if (UNTAG_Bool(REGB2
)) {
10070 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10072 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10073 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10074 if (UNTAG_Bool(REGB0
)) {
10076 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10078 /* ./../lib/standard//kernel.nit:232 */
10079 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10081 /* ./../lib/standard//collection//array.nit:280 */
10082 REGB0
= TAG_Bool(false);
10085 if (UNTAG_Bool(REGB2
)) {
10087 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10089 /* ./../lib/standard//collection//array.nit:281 */
10090 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10091 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10092 if (UNTAG_Bool(REGB2
)) {
10093 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10095 /* ./../lib/standard//collection//array.nit:718 */
10096 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10097 /* ./../lib/standard//collection//array.nit:281 */
10099 label225
: while(0);
10100 /* ./compiling//compiling_icode.nit:804 */
10101 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10102 if (!once_value_226
) {
10103 fra
.me
.REG
[7] = BOX_NativeString("))");
10104 REGB1
= TAG_Int(2);
10105 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10106 once_value_226
= fra
.me
.REG
[7];
10107 register_static_object(&once_value_226
);
10108 } else fra
.me
.REG
[7] = once_value_226
;
10109 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10110 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10111 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10112 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10114 /* ./compiling//compiling_icode.nit:805 */
10115 if (!once_value_227
) {
10116 if (!once_value_228
) {
10117 fra
.me
.REG
[6] = BOX_NativeString("succ");
10118 REGB1
= TAG_Int(4);
10119 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10120 once_value_228
= fra
.me
.REG
[6];
10121 register_static_object(&once_value_228
);
10122 } else fra
.me
.REG
[6] = once_value_228
;
10123 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10124 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10125 once_value_227
= fra
.me
.REG
[6];
10126 register_static_object(&once_value_227
);
10127 } else fra
.me
.REG
[6] = once_value_227
;
10128 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10129 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10130 if (UNTAG_Bool(REGB1
)) {
10132 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10135 if (UNTAG_Bool(REGB1
)) {
10136 /* ./compiling//compiling_icode.nit:806 */
10137 REGB1
= TAG_Int(3);
10138 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10139 if (!once_value_229
) {
10140 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10141 REGB1
= TAG_Int(20);
10142 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10143 once_value_229
= fra
.me
.REG
[7];
10144 register_static_object(&once_value_229
);
10145 } else fra
.me
.REG
[7] = once_value_229
;
10146 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10147 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10148 REGB1
= TAG_Int(0);
10149 /* ./../lib/standard//collection//array.nit:278 */
10150 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10151 /* ./../lib/standard//collection//array.nit:280 */
10152 REGB2
= TAG_Int(0);
10153 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10154 if (UNTAG_Bool(REGB0
)) {
10156 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10158 /* ./../lib/standard//kernel.nit:233 */
10159 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10160 /* ./../lib/standard//collection//array.nit:280 */
10161 if (UNTAG_Bool(REGB2
)) {
10162 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10163 if (UNTAG_Bool(REGB2
)) {
10165 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10167 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10168 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10169 if (UNTAG_Bool(REGB0
)) {
10171 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10173 /* ./../lib/standard//kernel.nit:232 */
10174 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10176 /* ./../lib/standard//collection//array.nit:280 */
10177 REGB0
= TAG_Bool(false);
10180 if (UNTAG_Bool(REGB2
)) {
10182 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10184 /* ./../lib/standard//collection//array.nit:281 */
10185 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10186 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10187 if (UNTAG_Bool(REGB2
)) {
10188 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10190 /* ./../lib/standard//collection//array.nit:718 */
10191 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10192 /* ./../lib/standard//collection//array.nit:281 */
10194 label230
: while(0);
10195 /* ./compiling//compiling_icode.nit:806 */
10196 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10197 if (!once_value_231
) {
10198 fra
.me
.REG
[7] = BOX_NativeString(")+1)");
10199 REGB1
= TAG_Int(4);
10200 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10201 once_value_231
= fra
.me
.REG
[7];
10202 register_static_object(&once_value_231
);
10203 } else fra
.me
.REG
[7] = once_value_231
;
10204 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10205 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10206 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10207 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10209 /* ./compiling//compiling_icode.nit:807 */
10210 if (!once_value_232
) {
10211 if (!once_value_233
) {
10212 fra
.me
.REG
[6] = BOX_NativeString("prec");
10213 REGB1
= TAG_Int(4);
10214 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10215 once_value_233
= fra
.me
.REG
[6];
10216 register_static_object(&once_value_233
);
10217 } else fra
.me
.REG
[6] = once_value_233
;
10218 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10219 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10220 once_value_232
= fra
.me
.REG
[6];
10221 register_static_object(&once_value_232
);
10222 } else fra
.me
.REG
[6] = once_value_232
;
10223 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10224 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10225 if (UNTAG_Bool(REGB1
)) {
10227 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10230 if (UNTAG_Bool(REGB1
)) {
10231 /* ./compiling//compiling_icode.nit:808 */
10232 REGB1
= TAG_Int(3);
10233 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10234 if (!once_value_234
) {
10235 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10236 REGB1
= TAG_Int(20);
10237 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10238 once_value_234
= fra
.me
.REG
[7];
10239 register_static_object(&once_value_234
);
10240 } else fra
.me
.REG
[7] = once_value_234
;
10241 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10242 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10243 REGB1
= TAG_Int(0);
10244 /* ./../lib/standard//collection//array.nit:278 */
10245 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10246 /* ./../lib/standard//collection//array.nit:280 */
10247 REGB2
= TAG_Int(0);
10248 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10249 if (UNTAG_Bool(REGB0
)) {
10251 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10253 /* ./../lib/standard//kernel.nit:233 */
10254 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10255 /* ./../lib/standard//collection//array.nit:280 */
10256 if (UNTAG_Bool(REGB2
)) {
10257 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10258 if (UNTAG_Bool(REGB2
)) {
10260 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10262 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10263 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10264 if (UNTAG_Bool(REGB0
)) {
10266 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10268 /* ./../lib/standard//kernel.nit:232 */
10269 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10271 /* ./../lib/standard//collection//array.nit:280 */
10272 REGB0
= TAG_Bool(false);
10275 if (UNTAG_Bool(REGB2
)) {
10277 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10279 /* ./../lib/standard//collection//array.nit:281 */
10280 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10281 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10282 if (UNTAG_Bool(REGB2
)) {
10283 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10285 /* ./../lib/standard//collection//array.nit:718 */
10286 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10287 /* ./../lib/standard//collection//array.nit:281 */
10289 label235
: while(0);
10290 /* ./compiling//compiling_icode.nit:808 */
10291 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10292 if (!once_value_236
) {
10293 fra
.me
.REG
[7] = BOX_NativeString(")-1)");
10294 REGB1
= TAG_Int(4);
10295 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10296 once_value_236
= fra
.me
.REG
[7];
10297 register_static_object(&once_value_236
);
10298 } else fra
.me
.REG
[7] = once_value_236
;
10299 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10300 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10301 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10302 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10304 /* ./compiling//compiling_icode.nit:809 */
10305 if (!once_value_237
) {
10306 if (!once_value_238
) {
10307 fra
.me
.REG
[6] = BOX_NativeString("to_i");
10308 REGB1
= TAG_Int(4);
10309 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10310 once_value_238
= fra
.me
.REG
[6];
10311 register_static_object(&once_value_238
);
10312 } else fra
.me
.REG
[6] = once_value_238
;
10313 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10314 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10315 once_value_237
= fra
.me
.REG
[6];
10316 register_static_object(&once_value_237
);
10317 } else fra
.me
.REG
[6] = once_value_237
;
10318 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10319 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10320 if (UNTAG_Bool(REGB1
)) {
10322 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10325 if (UNTAG_Bool(REGB1
)) {
10326 /* ./compiling//compiling_icode.nit:810 */
10327 REGB1
= TAG_Int(3);
10328 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10329 if (!once_value_239
) {
10330 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Char(");
10331 REGB1
= TAG_Int(19);
10332 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10333 once_value_239
= fra
.me
.REG
[7];
10334 register_static_object(&once_value_239
);
10335 } else fra
.me
.REG
[7] = once_value_239
;
10336 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10337 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10338 REGB1
= TAG_Int(0);
10339 /* ./../lib/standard//collection//array.nit:278 */
10340 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10341 /* ./../lib/standard//collection//array.nit:280 */
10342 REGB2
= TAG_Int(0);
10343 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10344 if (UNTAG_Bool(REGB0
)) {
10346 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10348 /* ./../lib/standard//kernel.nit:233 */
10349 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10350 /* ./../lib/standard//collection//array.nit:280 */
10351 if (UNTAG_Bool(REGB2
)) {
10352 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10353 if (UNTAG_Bool(REGB2
)) {
10355 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10357 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10358 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10359 if (UNTAG_Bool(REGB0
)) {
10361 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10363 /* ./../lib/standard//kernel.nit:232 */
10364 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10366 /* ./../lib/standard//collection//array.nit:280 */
10367 REGB0
= TAG_Bool(false);
10370 if (UNTAG_Bool(REGB2
)) {
10372 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10374 /* ./../lib/standard//collection//array.nit:281 */
10375 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10376 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10377 if (UNTAG_Bool(REGB2
)) {
10378 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10380 /* ./../lib/standard//collection//array.nit:718 */
10381 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10382 /* ./../lib/standard//collection//array.nit:281 */
10384 label240
: while(0);
10385 /* ./compiling//compiling_icode.nit:810 */
10386 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10387 if (!once_value_241
) {
10388 fra
.me
.REG
[7] = BOX_NativeString(")-'0')");
10389 REGB1
= TAG_Int(6);
10390 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10391 once_value_241
= fra
.me
.REG
[7];
10392 register_static_object(&once_value_241
);
10393 } else fra
.me
.REG
[7] = once_value_241
;
10394 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10395 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10396 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10397 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10399 /* ./compiling//compiling_icode.nit:811 */
10400 if (!once_value_242
) {
10401 if (!once_value_243
) {
10402 fra
.me
.REG
[6] = BOX_NativeString("+");
10403 REGB1
= TAG_Int(1);
10404 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10405 once_value_243
= fra
.me
.REG
[6];
10406 register_static_object(&once_value_243
);
10407 } else fra
.me
.REG
[6] = once_value_243
;
10408 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10409 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10410 once_value_242
= fra
.me
.REG
[6];
10411 register_static_object(&once_value_242
);
10412 } else fra
.me
.REG
[6] = once_value_242
;
10413 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10414 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10415 if (UNTAG_Bool(REGB1
)) {
10417 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10420 if (UNTAG_Bool(REGB1
)) {
10421 /* ./compiling//compiling_icode.nit:812 */
10422 REGB1
= TAG_Int(5);
10423 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10424 if (!once_value_244
) {
10425 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10426 REGB1
= TAG_Int(20);
10427 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10428 once_value_244
= fra
.me
.REG
[7];
10429 register_static_object(&once_value_244
);
10430 } else fra
.me
.REG
[7] = once_value_244
;
10431 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10432 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10433 REGB1
= TAG_Int(0);
10434 /* ./../lib/standard//collection//array.nit:278 */
10435 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10436 /* ./../lib/standard//collection//array.nit:280 */
10437 REGB2
= TAG_Int(0);
10438 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10439 if (UNTAG_Bool(REGB0
)) {
10441 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10443 /* ./../lib/standard//kernel.nit:233 */
10444 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10445 /* ./../lib/standard//collection//array.nit:280 */
10446 if (UNTAG_Bool(REGB2
)) {
10447 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10448 if (UNTAG_Bool(REGB2
)) {
10450 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10452 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10453 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10454 if (UNTAG_Bool(REGB0
)) {
10456 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10458 /* ./../lib/standard//kernel.nit:232 */
10459 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10461 /* ./../lib/standard//collection//array.nit:280 */
10462 REGB0
= TAG_Bool(false);
10465 if (UNTAG_Bool(REGB2
)) {
10467 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10469 /* ./../lib/standard//collection//array.nit:281 */
10470 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10471 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10472 if (UNTAG_Bool(REGB2
)) {
10473 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10475 /* ./../lib/standard//collection//array.nit:718 */
10476 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10477 /* ./../lib/standard//collection//array.nit:281 */
10479 label245
: while(0);
10480 /* ./compiling//compiling_icode.nit:812 */
10481 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10482 if (!once_value_246
) {
10483 fra
.me
.REG
[7] = BOX_NativeString(")+UNTAG_Char(");
10484 REGB1
= TAG_Int(13);
10485 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10486 once_value_246
= fra
.me
.REG
[7];
10487 register_static_object(&once_value_246
);
10488 } else fra
.me
.REG
[7] = once_value_246
;
10489 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10490 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10491 REGB1
= TAG_Int(1);
10492 /* ./../lib/standard//collection//array.nit:278 */
10493 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10494 /* ./../lib/standard//collection//array.nit:280 */
10495 REGB2
= TAG_Int(0);
10496 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10497 if (UNTAG_Bool(REGB0
)) {
10499 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10501 /* ./../lib/standard//kernel.nit:233 */
10502 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10503 /* ./../lib/standard//collection//array.nit:280 */
10504 if (UNTAG_Bool(REGB2
)) {
10505 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10506 if (UNTAG_Bool(REGB2
)) {
10508 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10510 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10511 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10512 if (UNTAG_Bool(REGB0
)) {
10514 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10516 /* ./../lib/standard//kernel.nit:232 */
10517 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10519 /* ./../lib/standard//collection//array.nit:280 */
10520 REGB0
= TAG_Bool(false);
10523 if (UNTAG_Bool(REGB2
)) {
10525 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10527 /* ./../lib/standard//collection//array.nit:281 */
10528 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10529 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10530 if (UNTAG_Bool(REGB2
)) {
10531 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10533 /* ./../lib/standard//collection//array.nit:718 */
10534 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10535 /* ./../lib/standard//collection//array.nit:281 */
10537 label247
: while(0);
10538 /* ./compiling//compiling_icode.nit:812 */
10539 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10540 if (!once_value_248
) {
10541 fra
.me
.REG
[7] = BOX_NativeString("))");
10542 REGB1
= TAG_Int(2);
10543 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10544 once_value_248
= fra
.me
.REG
[7];
10545 register_static_object(&once_value_248
);
10546 } else fra
.me
.REG
[7] = once_value_248
;
10547 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10548 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10549 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10550 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10552 /* ./compiling//compiling_icode.nit:813 */
10553 if (!once_value_249
) {
10554 if (!once_value_250
) {
10555 fra
.me
.REG
[6] = BOX_NativeString("-");
10556 REGB1
= TAG_Int(1);
10557 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10558 once_value_250
= fra
.me
.REG
[6];
10559 register_static_object(&once_value_250
);
10560 } else fra
.me
.REG
[6] = once_value_250
;
10561 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10562 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10563 once_value_249
= fra
.me
.REG
[6];
10564 register_static_object(&once_value_249
);
10565 } else fra
.me
.REG
[6] = once_value_249
;
10566 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10567 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10568 if (UNTAG_Bool(REGB1
)) {
10570 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10573 if (UNTAG_Bool(REGB1
)) {
10574 /* ./compiling//compiling_icode.nit:814 */
10575 REGB1
= TAG_Int(5);
10576 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10577 if (!once_value_251
) {
10578 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10579 REGB1
= TAG_Int(20);
10580 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10581 once_value_251
= fra
.me
.REG
[7];
10582 register_static_object(&once_value_251
);
10583 } else fra
.me
.REG
[7] = once_value_251
;
10584 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10585 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10586 REGB1
= TAG_Int(0);
10587 /* ./../lib/standard//collection//array.nit:278 */
10588 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10589 /* ./../lib/standard//collection//array.nit:280 */
10590 REGB2
= TAG_Int(0);
10591 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10592 if (UNTAG_Bool(REGB0
)) {
10594 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10596 /* ./../lib/standard//kernel.nit:233 */
10597 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10598 /* ./../lib/standard//collection//array.nit:280 */
10599 if (UNTAG_Bool(REGB2
)) {
10600 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10601 if (UNTAG_Bool(REGB2
)) {
10603 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10605 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10606 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10607 if (UNTAG_Bool(REGB0
)) {
10609 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10611 /* ./../lib/standard//kernel.nit:232 */
10612 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10614 /* ./../lib/standard//collection//array.nit:280 */
10615 REGB0
= TAG_Bool(false);
10618 if (UNTAG_Bool(REGB2
)) {
10620 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10622 /* ./../lib/standard//collection//array.nit:281 */
10623 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10624 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10625 if (UNTAG_Bool(REGB2
)) {
10626 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10628 /* ./../lib/standard//collection//array.nit:718 */
10629 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10630 /* ./../lib/standard//collection//array.nit:281 */
10632 label252
: while(0);
10633 /* ./compiling//compiling_icode.nit:814 */
10634 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10635 if (!once_value_253
) {
10636 fra
.me
.REG
[7] = BOX_NativeString(")-UNTAG_Char(");
10637 REGB1
= TAG_Int(13);
10638 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10639 once_value_253
= fra
.me
.REG
[7];
10640 register_static_object(&once_value_253
);
10641 } else fra
.me
.REG
[7] = once_value_253
;
10642 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10643 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10644 REGB1
= TAG_Int(1);
10645 /* ./../lib/standard//collection//array.nit:278 */
10646 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10647 /* ./../lib/standard//collection//array.nit:280 */
10648 REGB2
= TAG_Int(0);
10649 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10650 if (UNTAG_Bool(REGB0
)) {
10652 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10654 /* ./../lib/standard//kernel.nit:233 */
10655 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10656 /* ./../lib/standard//collection//array.nit:280 */
10657 if (UNTAG_Bool(REGB2
)) {
10658 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10659 if (UNTAG_Bool(REGB2
)) {
10661 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10663 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10664 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10665 if (UNTAG_Bool(REGB0
)) {
10667 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10669 /* ./../lib/standard//kernel.nit:232 */
10670 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10672 /* ./../lib/standard//collection//array.nit:280 */
10673 REGB0
= TAG_Bool(false);
10676 if (UNTAG_Bool(REGB2
)) {
10678 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10680 /* ./../lib/standard//collection//array.nit:281 */
10681 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10682 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10683 if (UNTAG_Bool(REGB2
)) {
10684 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10686 /* ./../lib/standard//collection//array.nit:718 */
10687 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10688 /* ./../lib/standard//collection//array.nit:281 */
10690 label254
: while(0);
10691 /* ./compiling//compiling_icode.nit:814 */
10692 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10693 if (!once_value_255
) {
10694 fra
.me
.REG
[7] = BOX_NativeString("))");
10695 REGB1
= TAG_Int(2);
10696 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10697 once_value_255
= fra
.me
.REG
[7];
10698 register_static_object(&once_value_255
);
10699 } else fra
.me
.REG
[7] = once_value_255
;
10700 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10701 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10702 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10703 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10705 /* ./compiling//compiling_icode.nit:815 */
10706 if (!once_value_256
) {
10707 if (!once_value_257
) {
10708 fra
.me
.REG
[6] = BOX_NativeString("*");
10709 REGB1
= TAG_Int(1);
10710 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10711 once_value_257
= fra
.me
.REG
[6];
10712 register_static_object(&once_value_257
);
10713 } else fra
.me
.REG
[6] = once_value_257
;
10714 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10715 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10716 once_value_256
= fra
.me
.REG
[6];
10717 register_static_object(&once_value_256
);
10718 } else fra
.me
.REG
[6] = once_value_256
;
10719 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10720 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10721 if (UNTAG_Bool(REGB1
)) {
10723 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10726 if (UNTAG_Bool(REGB1
)) {
10727 /* ./compiling//compiling_icode.nit:816 */
10728 REGB1
= TAG_Int(5);
10729 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10730 if (!once_value_258
) {
10731 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10732 REGB1
= TAG_Int(20);
10733 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10734 once_value_258
= fra
.me
.REG
[7];
10735 register_static_object(&once_value_258
);
10736 } else fra
.me
.REG
[7] = once_value_258
;
10737 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10738 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10739 REGB1
= TAG_Int(0);
10740 /* ./../lib/standard//collection//array.nit:278 */
10741 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10742 /* ./../lib/standard//collection//array.nit:280 */
10743 REGB2
= TAG_Int(0);
10744 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10745 if (UNTAG_Bool(REGB0
)) {
10747 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10749 /* ./../lib/standard//kernel.nit:233 */
10750 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10751 /* ./../lib/standard//collection//array.nit:280 */
10752 if (UNTAG_Bool(REGB2
)) {
10753 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10754 if (UNTAG_Bool(REGB2
)) {
10756 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10758 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10759 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10760 if (UNTAG_Bool(REGB0
)) {
10762 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10764 /* ./../lib/standard//kernel.nit:232 */
10765 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10767 /* ./../lib/standard//collection//array.nit:280 */
10768 REGB0
= TAG_Bool(false);
10771 if (UNTAG_Bool(REGB2
)) {
10773 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10775 /* ./../lib/standard//collection//array.nit:281 */
10776 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10777 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10778 if (UNTAG_Bool(REGB2
)) {
10779 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10781 /* ./../lib/standard//collection//array.nit:718 */
10782 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10783 /* ./../lib/standard//collection//array.nit:281 */
10785 label259
: while(0);
10786 /* ./compiling//compiling_icode.nit:816 */
10787 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10788 if (!once_value_260
) {
10789 fra
.me
.REG
[7] = BOX_NativeString(")*UNTAG_Char(");
10790 REGB1
= TAG_Int(13);
10791 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10792 once_value_260
= fra
.me
.REG
[7];
10793 register_static_object(&once_value_260
);
10794 } else fra
.me
.REG
[7] = once_value_260
;
10795 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10796 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10797 REGB1
= TAG_Int(1);
10798 /* ./../lib/standard//collection//array.nit:278 */
10799 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10800 /* ./../lib/standard//collection//array.nit:280 */
10801 REGB2
= TAG_Int(0);
10802 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10803 if (UNTAG_Bool(REGB0
)) {
10805 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10807 /* ./../lib/standard//kernel.nit:233 */
10808 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10809 /* ./../lib/standard//collection//array.nit:280 */
10810 if (UNTAG_Bool(REGB2
)) {
10811 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10812 if (UNTAG_Bool(REGB2
)) {
10814 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10816 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10817 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10818 if (UNTAG_Bool(REGB0
)) {
10820 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10822 /* ./../lib/standard//kernel.nit:232 */
10823 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10825 /* ./../lib/standard//collection//array.nit:280 */
10826 REGB0
= TAG_Bool(false);
10829 if (UNTAG_Bool(REGB2
)) {
10831 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10833 /* ./../lib/standard//collection//array.nit:281 */
10834 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10835 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10836 if (UNTAG_Bool(REGB2
)) {
10837 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10839 /* ./../lib/standard//collection//array.nit:718 */
10840 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10841 /* ./../lib/standard//collection//array.nit:281 */
10843 label261
: while(0);
10844 /* ./compiling//compiling_icode.nit:816 */
10845 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10846 if (!once_value_262
) {
10847 fra
.me
.REG
[7] = BOX_NativeString("))");
10848 REGB1
= TAG_Int(2);
10849 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10850 once_value_262
= fra
.me
.REG
[7];
10851 register_static_object(&once_value_262
);
10852 } else fra
.me
.REG
[7] = once_value_262
;
10853 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10854 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10855 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10856 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10858 /* ./compiling//compiling_icode.nit:817 */
10859 if (!once_value_263
) {
10860 if (!once_value_264
) {
10861 fra
.me
.REG
[6] = BOX_NativeString("/");
10862 REGB1
= TAG_Int(1);
10863 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10864 once_value_264
= fra
.me
.REG
[6];
10865 register_static_object(&once_value_264
);
10866 } else fra
.me
.REG
[6] = once_value_264
;
10867 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10868 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10869 once_value_263
= fra
.me
.REG
[6];
10870 register_static_object(&once_value_263
);
10871 } else fra
.me
.REG
[6] = once_value_263
;
10872 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10873 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10874 if (UNTAG_Bool(REGB1
)) {
10876 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10879 if (UNTAG_Bool(REGB1
)) {
10880 /* ./compiling//compiling_icode.nit:818 */
10881 REGB1
= TAG_Int(5);
10882 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10883 if (!once_value_265
) {
10884 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10885 REGB1
= TAG_Int(20);
10886 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10887 once_value_265
= fra
.me
.REG
[7];
10888 register_static_object(&once_value_265
);
10889 } else fra
.me
.REG
[7] = once_value_265
;
10890 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10891 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10892 REGB1
= TAG_Int(0);
10893 /* ./../lib/standard//collection//array.nit:278 */
10894 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10895 /* ./../lib/standard//collection//array.nit:280 */
10896 REGB2
= TAG_Int(0);
10897 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10898 if (UNTAG_Bool(REGB0
)) {
10900 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10902 /* ./../lib/standard//kernel.nit:233 */
10903 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10904 /* ./../lib/standard//collection//array.nit:280 */
10905 if (UNTAG_Bool(REGB2
)) {
10906 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10907 if (UNTAG_Bool(REGB2
)) {
10909 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10911 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10912 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10913 if (UNTAG_Bool(REGB0
)) {
10915 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10917 /* ./../lib/standard//kernel.nit:232 */
10918 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10920 /* ./../lib/standard//collection//array.nit:280 */
10921 REGB0
= TAG_Bool(false);
10924 if (UNTAG_Bool(REGB2
)) {
10926 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10928 /* ./../lib/standard//collection//array.nit:281 */
10929 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10930 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10931 if (UNTAG_Bool(REGB2
)) {
10932 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10934 /* ./../lib/standard//collection//array.nit:718 */
10935 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10936 /* ./../lib/standard//collection//array.nit:281 */
10938 label266
: while(0);
10939 /* ./compiling//compiling_icode.nit:818 */
10940 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10941 if (!once_value_267
) {
10942 fra
.me
.REG
[7] = BOX_NativeString(")/UNTAG_Char(");
10943 REGB1
= TAG_Int(13);
10944 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10945 once_value_267
= fra
.me
.REG
[7];
10946 register_static_object(&once_value_267
);
10947 } else fra
.me
.REG
[7] = once_value_267
;
10948 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10949 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10950 REGB1
= TAG_Int(1);
10951 /* ./../lib/standard//collection//array.nit:278 */
10952 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10953 /* ./../lib/standard//collection//array.nit:280 */
10954 REGB2
= TAG_Int(0);
10955 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10956 if (UNTAG_Bool(REGB0
)) {
10958 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10960 /* ./../lib/standard//kernel.nit:233 */
10961 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10962 /* ./../lib/standard//collection//array.nit:280 */
10963 if (UNTAG_Bool(REGB2
)) {
10964 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10965 if (UNTAG_Bool(REGB2
)) {
10967 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10969 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10970 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10971 if (UNTAG_Bool(REGB0
)) {
10973 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10975 /* ./../lib/standard//kernel.nit:232 */
10976 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10978 /* ./../lib/standard//collection//array.nit:280 */
10979 REGB0
= TAG_Bool(false);
10982 if (UNTAG_Bool(REGB2
)) {
10984 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10986 /* ./../lib/standard//collection//array.nit:281 */
10987 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10988 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10989 if (UNTAG_Bool(REGB2
)) {
10990 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10992 /* ./../lib/standard//collection//array.nit:718 */
10993 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10994 /* ./../lib/standard//collection//array.nit:281 */
10996 label268
: while(0);
10997 /* ./compiling//compiling_icode.nit:818 */
10998 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10999 if (!once_value_269
) {
11000 fra
.me
.REG
[7] = BOX_NativeString("))");
11001 REGB1
= TAG_Int(2);
11002 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11003 once_value_269
= fra
.me
.REG
[7];
11004 register_static_object(&once_value_269
);
11005 } else fra
.me
.REG
[7] = once_value_269
;
11006 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11007 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11008 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11009 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11011 /* ./compiling//compiling_icode.nit:819 */
11012 if (!once_value_270
) {
11013 if (!once_value_271
) {
11014 fra
.me
.REG
[6] = BOX_NativeString("%");
11015 REGB1
= TAG_Int(1);
11016 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
11017 once_value_271
= fra
.me
.REG
[6];
11018 register_static_object(&once_value_271
);
11019 } else fra
.me
.REG
[6] = once_value_271
;
11020 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11021 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11022 once_value_270
= fra
.me
.REG
[6];
11023 register_static_object(&once_value_270
);
11024 } else fra
.me
.REG
[6] = once_value_270
;
11025 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11026 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11027 if (UNTAG_Bool(REGB1
)) {
11029 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11032 if (UNTAG_Bool(REGB1
)) {
11033 /* ./compiling//compiling_icode.nit:820 */
11034 REGB1
= TAG_Int(5);
11035 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11036 if (!once_value_272
) {
11037 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
11038 REGB1
= TAG_Int(20);
11039 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11040 once_value_272
= fra
.me
.REG
[7];
11041 register_static_object(&once_value_272
);
11042 } else fra
.me
.REG
[7] = once_value_272
;
11043 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11044 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11045 REGB1
= TAG_Int(0);
11046 /* ./../lib/standard//collection//array.nit:278 */
11047 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11048 /* ./../lib/standard//collection//array.nit:280 */
11049 REGB2
= TAG_Int(0);
11050 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11051 if (UNTAG_Bool(REGB0
)) {
11053 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11055 /* ./../lib/standard//kernel.nit:233 */
11056 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11057 /* ./../lib/standard//collection//array.nit:280 */
11058 if (UNTAG_Bool(REGB2
)) {
11059 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11060 if (UNTAG_Bool(REGB2
)) {
11062 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11064 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11065 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11066 if (UNTAG_Bool(REGB0
)) {
11068 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11070 /* ./../lib/standard//kernel.nit:232 */
11071 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11073 /* ./../lib/standard//collection//array.nit:280 */
11074 REGB0
= TAG_Bool(false);
11077 if (UNTAG_Bool(REGB2
)) {
11079 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11081 /* ./../lib/standard//collection//array.nit:281 */
11082 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11083 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11084 if (UNTAG_Bool(REGB2
)) {
11085 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11087 /* ./../lib/standard//collection//array.nit:718 */
11088 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11089 /* ./../lib/standard//collection//array.nit:281 */
11091 label273
: while(0);
11092 /* ./compiling//compiling_icode.nit:820 */
11093 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11094 if (!once_value_274
) {
11095 fra
.me
.REG
[7] = BOX_NativeString(")%UNTAG_Char(");
11096 REGB1
= TAG_Int(13);
11097 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11098 once_value_274
= fra
.me
.REG
[7];
11099 register_static_object(&once_value_274
);
11100 } else fra
.me
.REG
[7] = once_value_274
;
11101 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11102 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11103 REGB1
= TAG_Int(1);
11104 /* ./../lib/standard//collection//array.nit:278 */
11105 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11106 /* ./../lib/standard//collection//array.nit:280 */
11107 REGB2
= TAG_Int(0);
11108 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11109 if (UNTAG_Bool(REGB0
)) {
11111 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11113 /* ./../lib/standard//kernel.nit:233 */
11114 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11115 /* ./../lib/standard//collection//array.nit:280 */
11116 if (UNTAG_Bool(REGB2
)) {
11117 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11118 if (UNTAG_Bool(REGB2
)) {
11120 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11122 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11123 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11124 if (UNTAG_Bool(REGB0
)) {
11126 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11128 /* ./../lib/standard//kernel.nit:232 */
11129 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11131 /* ./../lib/standard//collection//array.nit:280 */
11132 REGB0
= TAG_Bool(false);
11135 if (UNTAG_Bool(REGB2
)) {
11137 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11139 /* ./../lib/standard//collection//array.nit:281 */
11140 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11141 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11142 if (UNTAG_Bool(REGB2
)) {
11143 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11145 /* ./../lib/standard//collection//array.nit:718 */
11146 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11147 /* ./../lib/standard//collection//array.nit:281 */
11149 label275
: while(0);
11150 /* ./compiling//compiling_icode.nit:820 */
11151 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11152 if (!once_value_276
) {
11153 fra
.me
.REG
[7] = BOX_NativeString("))");
11154 REGB1
= TAG_Int(2);
11155 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11156 once_value_276
= fra
.me
.REG
[7];
11157 register_static_object(&once_value_276
);
11158 } else fra
.me
.REG
[7] = once_value_276
;
11159 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11160 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11161 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11162 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11164 /* ./compiling//compiling_icode.nit:821 */
11165 if (!once_value_277
) {
11166 if (!once_value_278
) {
11167 fra
.me
.REG
[6] = BOX_NativeString("<");
11168 REGB1
= TAG_Int(1);
11169 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
11170 once_value_278
= fra
.me
.REG
[6];
11171 register_static_object(&once_value_278
);
11172 } else fra
.me
.REG
[6] = once_value_278
;
11173 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11174 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11175 once_value_277
= fra
.me
.REG
[6];
11176 register_static_object(&once_value_277
);
11177 } else fra
.me
.REG
[6] = once_value_277
;
11178 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11179 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11180 if (UNTAG_Bool(REGB1
)) {
11182 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11185 if (UNTAG_Bool(REGB1
)) {
11186 /* ./compiling//compiling_icode.nit:822 */
11187 REGB1
= TAG_Int(5);
11188 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11189 if (!once_value_279
) {
11190 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Char(");
11191 REGB1
= TAG_Int(20);
11192 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11193 once_value_279
= fra
.me
.REG
[7];
11194 register_static_object(&once_value_279
);
11195 } else fra
.me
.REG
[7] = once_value_279
;
11196 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11197 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11198 REGB1
= TAG_Int(0);
11199 /* ./../lib/standard//collection//array.nit:278 */
11200 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11201 /* ./../lib/standard//collection//array.nit:280 */
11202 REGB2
= TAG_Int(0);
11203 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11204 if (UNTAG_Bool(REGB0
)) {
11206 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11208 /* ./../lib/standard//kernel.nit:233 */
11209 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11210 /* ./../lib/standard//collection//array.nit:280 */
11211 if (UNTAG_Bool(REGB2
)) {
11212 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11213 if (UNTAG_Bool(REGB2
)) {
11215 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11217 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11218 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11219 if (UNTAG_Bool(REGB0
)) {
11221 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11223 /* ./../lib/standard//kernel.nit:232 */
11224 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11226 /* ./../lib/standard//collection//array.nit:280 */
11227 REGB0
= TAG_Bool(false);
11230 if (UNTAG_Bool(REGB2
)) {
11232 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11234 /* ./../lib/standard//collection//array.nit:281 */
11235 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11236 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11237 if (UNTAG_Bool(REGB2
)) {
11238 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11240 /* ./../lib/standard//collection//array.nit:718 */
11241 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11242 /* ./../lib/standard//collection//array.nit:281 */
11244 label280
: while(0);
11245 /* ./compiling//compiling_icode.nit:822 */
11246 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11247 if (!once_value_281
) {
11248 fra
.me
.REG
[7] = BOX_NativeString(")<UNTAG_Char(");
11249 REGB1
= TAG_Int(13);
11250 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11251 once_value_281
= fra
.me
.REG
[7];
11252 register_static_object(&once_value_281
);
11253 } else fra
.me
.REG
[7] = once_value_281
;
11254 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11255 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11256 REGB1
= TAG_Int(1);
11257 /* ./../lib/standard//collection//array.nit:278 */
11258 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11259 /* ./../lib/standard//collection//array.nit:280 */
11260 REGB2
= TAG_Int(0);
11261 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11262 if (UNTAG_Bool(REGB0
)) {
11264 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11266 /* ./../lib/standard//kernel.nit:233 */
11267 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11268 /* ./../lib/standard//collection//array.nit:280 */
11269 if (UNTAG_Bool(REGB2
)) {
11270 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11271 if (UNTAG_Bool(REGB2
)) {
11273 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11275 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11276 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11277 if (UNTAG_Bool(REGB0
)) {
11279 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11281 /* ./../lib/standard//kernel.nit:232 */
11282 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11284 /* ./../lib/standard//collection//array.nit:280 */
11285 REGB0
= TAG_Bool(false);
11288 if (UNTAG_Bool(REGB2
)) {
11290 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11292 /* ./../lib/standard//collection//array.nit:281 */
11293 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11294 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11295 if (UNTAG_Bool(REGB2
)) {
11296 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11298 /* ./../lib/standard//collection//array.nit:718 */
11299 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11300 /* ./../lib/standard//collection//array.nit:281 */
11302 label282
: while(0);
11303 /* ./compiling//compiling_icode.nit:822 */
11304 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11305 if (!once_value_283
) {
11306 fra
.me
.REG
[7] = BOX_NativeString("))");
11307 REGB1
= TAG_Int(2);
11308 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11309 once_value_283
= fra
.me
.REG
[7];
11310 register_static_object(&once_value_283
);
11311 } else fra
.me
.REG
[7] = once_value_283
;
11312 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11313 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11314 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11315 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11317 /* ./compiling//compiling_icode.nit:823 */
11318 if (!once_value_284
) {
11319 if (!once_value_285
) {
11320 fra
.me
.REG
[6] = BOX_NativeString(">");
11321 REGB1
= TAG_Int(1);
11322 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
11323 once_value_285
= fra
.me
.REG
[6];
11324 register_static_object(&once_value_285
);
11325 } else fra
.me
.REG
[6] = once_value_285
;
11326 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11327 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11328 once_value_284
= fra
.me
.REG
[6];
11329 register_static_object(&once_value_284
);
11330 } else fra
.me
.REG
[6] = once_value_284
;
11331 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11332 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11333 if (UNTAG_Bool(REGB1
)) {
11335 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11338 if (UNTAG_Bool(REGB1
)) {
11339 /* ./compiling//compiling_icode.nit:824 */
11340 REGB1
= TAG_Int(5);
11341 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11342 if (!once_value_286
) {
11343 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Char(");
11344 REGB1
= TAG_Int(20);
11345 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11346 once_value_286
= fra
.me
.REG
[7];
11347 register_static_object(&once_value_286
);
11348 } else fra
.me
.REG
[7] = once_value_286
;
11349 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11350 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11351 REGB1
= TAG_Int(0);
11352 /* ./../lib/standard//collection//array.nit:278 */
11353 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11354 /* ./../lib/standard//collection//array.nit:280 */
11355 REGB2
= TAG_Int(0);
11356 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11357 if (UNTAG_Bool(REGB0
)) {
11359 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11361 /* ./../lib/standard//kernel.nit:233 */
11362 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11363 /* ./../lib/standard//collection//array.nit:280 */
11364 if (UNTAG_Bool(REGB2
)) {
11365 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11366 if (UNTAG_Bool(REGB2
)) {
11368 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11370 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11371 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11372 if (UNTAG_Bool(REGB0
)) {
11374 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11376 /* ./../lib/standard//kernel.nit:232 */
11377 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11379 /* ./../lib/standard//collection//array.nit:280 */
11380 REGB0
= TAG_Bool(false);
11383 if (UNTAG_Bool(REGB2
)) {
11385 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11387 /* ./../lib/standard//collection//array.nit:281 */
11388 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11389 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11390 if (UNTAG_Bool(REGB2
)) {
11391 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11393 /* ./../lib/standard//collection//array.nit:718 */
11394 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11395 /* ./../lib/standard//collection//array.nit:281 */
11397 label287
: while(0);
11398 /* ./compiling//compiling_icode.nit:824 */
11399 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11400 if (!once_value_288
) {
11401 fra
.me
.REG
[7] = BOX_NativeString(")>UNTAG_Char(");
11402 REGB1
= TAG_Int(13);
11403 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11404 once_value_288
= fra
.me
.REG
[7];
11405 register_static_object(&once_value_288
);
11406 } else fra
.me
.REG
[7] = once_value_288
;
11407 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11408 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11409 REGB1
= TAG_Int(1);
11410 /* ./../lib/standard//collection//array.nit:278 */
11411 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11412 /* ./../lib/standard//collection//array.nit:280 */
11413 REGB2
= TAG_Int(0);
11414 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11415 if (UNTAG_Bool(REGB0
)) {
11417 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11419 /* ./../lib/standard//kernel.nit:233 */
11420 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11421 /* ./../lib/standard//collection//array.nit:280 */
11422 if (UNTAG_Bool(REGB2
)) {
11423 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11424 if (UNTAG_Bool(REGB2
)) {
11426 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11428 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11429 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11430 if (UNTAG_Bool(REGB0
)) {
11432 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11434 /* ./../lib/standard//kernel.nit:232 */
11435 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11437 /* ./../lib/standard//collection//array.nit:280 */
11438 REGB0
= TAG_Bool(false);
11441 if (UNTAG_Bool(REGB2
)) {
11443 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11445 /* ./../lib/standard//collection//array.nit:281 */
11446 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11447 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11448 if (UNTAG_Bool(REGB2
)) {
11449 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11451 /* ./../lib/standard//collection//array.nit:718 */
11452 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11453 /* ./../lib/standard//collection//array.nit:281 */
11455 label289
: while(0);
11456 /* ./compiling//compiling_icode.nit:824 */
11457 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11458 if (!once_value_290
) {
11459 fra
.me
.REG
[7] = BOX_NativeString("))");
11460 REGB1
= TAG_Int(2);
11461 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11462 once_value_290
= fra
.me
.REG
[7];
11463 register_static_object(&once_value_290
);
11464 } else fra
.me
.REG
[7] = once_value_290
;
11465 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11466 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11467 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11468 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11470 /* ./compiling//compiling_icode.nit:825 */
11471 if (!once_value_291
) {
11472 if (!once_value_292
) {
11473 fra
.me
.REG
[6] = BOX_NativeString("<=");
11474 REGB1
= TAG_Int(2);
11475 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
11476 once_value_292
= fra
.me
.REG
[6];
11477 register_static_object(&once_value_292
);
11478 } else fra
.me
.REG
[6] = once_value_292
;
11479 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11480 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11481 once_value_291
= fra
.me
.REG
[6];
11482 register_static_object(&once_value_291
);
11483 } else fra
.me
.REG
[6] = once_value_291
;
11484 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11485 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11486 if (UNTAG_Bool(REGB1
)) {
11488 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11491 if (UNTAG_Bool(REGB1
)) {
11492 /* ./compiling//compiling_icode.nit:826 */
11493 REGB1
= TAG_Int(5);
11494 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11495 if (!once_value_293
) {
11496 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Char(");
11497 REGB1
= TAG_Int(20);
11498 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11499 once_value_293
= fra
.me
.REG
[7];
11500 register_static_object(&once_value_293
);
11501 } else fra
.me
.REG
[7] = once_value_293
;
11502 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11503 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11504 REGB1
= TAG_Int(0);
11505 /* ./../lib/standard//collection//array.nit:278 */
11506 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11507 /* ./../lib/standard//collection//array.nit:280 */
11508 REGB2
= TAG_Int(0);
11509 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11510 if (UNTAG_Bool(REGB0
)) {
11512 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11514 /* ./../lib/standard//kernel.nit:233 */
11515 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11516 /* ./../lib/standard//collection//array.nit:280 */
11517 if (UNTAG_Bool(REGB2
)) {
11518 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11519 if (UNTAG_Bool(REGB2
)) {
11521 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11523 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11524 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11525 if (UNTAG_Bool(REGB0
)) {
11527 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11529 /* ./../lib/standard//kernel.nit:232 */
11530 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11532 /* ./../lib/standard//collection//array.nit:280 */
11533 REGB0
= TAG_Bool(false);
11536 if (UNTAG_Bool(REGB2
)) {
11538 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11540 /* ./../lib/standard//collection//array.nit:281 */
11541 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11542 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11543 if (UNTAG_Bool(REGB2
)) {
11544 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11546 /* ./../lib/standard//collection//array.nit:718 */
11547 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11548 /* ./../lib/standard//collection//array.nit:281 */
11550 label294
: while(0);
11551 /* ./compiling//compiling_icode.nit:826 */
11552 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11553 if (!once_value_295
) {
11554 fra
.me
.REG
[7] = BOX_NativeString(")<=UNTAG_Char(");
11555 REGB1
= TAG_Int(14);
11556 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11557 once_value_295
= fra
.me
.REG
[7];
11558 register_static_object(&once_value_295
);
11559 } else fra
.me
.REG
[7] = once_value_295
;
11560 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11561 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11562 REGB1
= TAG_Int(1);
11563 /* ./../lib/standard//collection//array.nit:278 */
11564 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11565 /* ./../lib/standard//collection//array.nit:280 */
11566 REGB2
= TAG_Int(0);
11567 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11568 if (UNTAG_Bool(REGB0
)) {
11570 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11572 /* ./../lib/standard//kernel.nit:233 */
11573 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11574 /* ./../lib/standard//collection//array.nit:280 */
11575 if (UNTAG_Bool(REGB2
)) {
11576 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11577 if (UNTAG_Bool(REGB2
)) {
11579 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11581 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11582 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11583 if (UNTAG_Bool(REGB0
)) {
11585 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11587 /* ./../lib/standard//kernel.nit:232 */
11588 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11590 /* ./../lib/standard//collection//array.nit:280 */
11591 REGB0
= TAG_Bool(false);
11594 if (UNTAG_Bool(REGB2
)) {
11596 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11598 /* ./../lib/standard//collection//array.nit:281 */
11599 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11600 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11601 if (UNTAG_Bool(REGB2
)) {
11602 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11604 /* ./../lib/standard//collection//array.nit:718 */
11605 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11606 /* ./../lib/standard//collection//array.nit:281 */
11608 label296
: while(0);
11609 /* ./compiling//compiling_icode.nit:826 */
11610 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11611 if (!once_value_297
) {
11612 fra
.me
.REG
[7] = BOX_NativeString("))");
11613 REGB1
= TAG_Int(2);
11614 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11615 once_value_297
= fra
.me
.REG
[7];
11616 register_static_object(&once_value_297
);
11617 } else fra
.me
.REG
[7] = once_value_297
;
11618 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11619 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11620 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11621 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11623 /* ./compiling//compiling_icode.nit:827 */
11624 if (!once_value_298
) {
11625 if (!once_value_299
) {
11626 fra
.me
.REG
[6] = BOX_NativeString(">=");
11627 REGB1
= TAG_Int(2);
11628 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
11629 once_value_299
= fra
.me
.REG
[6];
11630 register_static_object(&once_value_299
);
11631 } else fra
.me
.REG
[6] = once_value_299
;
11632 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11633 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11634 once_value_298
= fra
.me
.REG
[6];
11635 register_static_object(&once_value_298
);
11636 } else fra
.me
.REG
[6] = once_value_298
;
11637 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11638 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11639 if (UNTAG_Bool(REGB1
)) {
11641 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11644 if (UNTAG_Bool(REGB1
)) {
11645 /* ./compiling//compiling_icode.nit:828 */
11646 REGB1
= TAG_Int(5);
11647 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11648 if (!once_value_300
) {
11649 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Char(");
11650 REGB1
= TAG_Int(20);
11651 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11652 once_value_300
= fra
.me
.REG
[7];
11653 register_static_object(&once_value_300
);
11654 } else fra
.me
.REG
[7] = once_value_300
;
11655 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11656 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11657 REGB1
= TAG_Int(0);
11658 /* ./../lib/standard//collection//array.nit:278 */
11659 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11660 /* ./../lib/standard//collection//array.nit:280 */
11661 REGB2
= TAG_Int(0);
11662 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11663 if (UNTAG_Bool(REGB0
)) {
11665 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11667 /* ./../lib/standard//kernel.nit:233 */
11668 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11669 /* ./../lib/standard//collection//array.nit:280 */
11670 if (UNTAG_Bool(REGB2
)) {
11671 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11672 if (UNTAG_Bool(REGB2
)) {
11674 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11676 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11677 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11678 if (UNTAG_Bool(REGB0
)) {
11680 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11682 /* ./../lib/standard//kernel.nit:232 */
11683 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11685 /* ./../lib/standard//collection//array.nit:280 */
11686 REGB0
= TAG_Bool(false);
11689 if (UNTAG_Bool(REGB2
)) {
11691 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11693 /* ./../lib/standard//collection//array.nit:281 */
11694 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11695 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11696 if (UNTAG_Bool(REGB2
)) {
11697 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11699 /* ./../lib/standard//collection//array.nit:718 */
11700 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11701 /* ./../lib/standard//collection//array.nit:281 */
11703 label301
: while(0);
11704 /* ./compiling//compiling_icode.nit:828 */
11705 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11706 if (!once_value_302
) {
11707 fra
.me
.REG
[7] = BOX_NativeString(")>=UNTAG_Char(");
11708 REGB1
= TAG_Int(14);
11709 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11710 once_value_302
= fra
.me
.REG
[7];
11711 register_static_object(&once_value_302
);
11712 } else fra
.me
.REG
[7] = once_value_302
;
11713 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11714 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11715 REGB1
= TAG_Int(1);
11716 /* ./../lib/standard//collection//array.nit:278 */
11717 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11718 /* ./../lib/standard//collection//array.nit:280 */
11719 REGB2
= TAG_Int(0);
11720 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11721 if (UNTAG_Bool(REGB0
)) {
11723 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11725 /* ./../lib/standard//kernel.nit:233 */
11726 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11727 /* ./../lib/standard//collection//array.nit:280 */
11728 if (UNTAG_Bool(REGB2
)) {
11729 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11730 if (UNTAG_Bool(REGB2
)) {
11732 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11734 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11735 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11736 if (UNTAG_Bool(REGB0
)) {
11738 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11740 /* ./../lib/standard//kernel.nit:232 */
11741 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11743 /* ./../lib/standard//collection//array.nit:280 */
11744 REGB0
= TAG_Bool(false);
11747 if (UNTAG_Bool(REGB2
)) {
11749 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11751 /* ./../lib/standard//collection//array.nit:281 */
11752 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11753 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11754 if (UNTAG_Bool(REGB2
)) {
11755 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11757 /* ./../lib/standard//collection//array.nit:718 */
11758 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11759 /* ./../lib/standard//collection//array.nit:281 */
11761 label303
: while(0);
11762 /* ./compiling//compiling_icode.nit:828 */
11763 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11764 if (!once_value_304
) {
11765 fra
.me
.REG
[7] = BOX_NativeString("))");
11766 REGB1
= TAG_Int(2);
11767 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11768 once_value_304
= fra
.me
.REG
[7];
11769 register_static_object(&once_value_304
);
11770 } else fra
.me
.REG
[7] = once_value_304
;
11771 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11772 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11773 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11774 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11776 /* ./compiling//compiling_icode.nit:829 */
11777 if (!once_value_305
) {
11778 if (!once_value_306
) {
11779 fra
.me
.REG
[6] = BOX_NativeString("==");
11780 REGB1
= TAG_Int(2);
11781 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
11782 once_value_306
= fra
.me
.REG
[6];
11783 register_static_object(&once_value_306
);
11784 } else fra
.me
.REG
[6] = once_value_306
;
11785 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11786 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11787 once_value_305
= fra
.me
.REG
[6];
11788 register_static_object(&once_value_305
);
11789 } else fra
.me
.REG
[6] = once_value_305
;
11790 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11791 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11792 if (UNTAG_Bool(REGB1
)) {
11794 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11797 if (UNTAG_Bool(REGB1
)) {
11798 /* ./compiling//compiling_icode.nit:830 */
11799 REGB1
= TAG_Int(5);
11800 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11801 if (!once_value_307
) {
11802 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
11803 REGB1
= TAG_Int(10);
11804 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11805 once_value_307
= fra
.me
.REG
[7];
11806 register_static_object(&once_value_307
);
11807 } else fra
.me
.REG
[7] = once_value_307
;
11808 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11809 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11810 REGB1
= TAG_Int(0);
11811 /* ./../lib/standard//collection//array.nit:278 */
11812 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11813 /* ./../lib/standard//collection//array.nit:280 */
11814 REGB2
= TAG_Int(0);
11815 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11816 if (UNTAG_Bool(REGB0
)) {
11818 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11820 /* ./../lib/standard//kernel.nit:233 */
11821 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11822 /* ./../lib/standard//collection//array.nit:280 */
11823 if (UNTAG_Bool(REGB2
)) {
11824 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11825 if (UNTAG_Bool(REGB2
)) {
11827 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11829 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11830 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11831 if (UNTAG_Bool(REGB0
)) {
11833 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11835 /* ./../lib/standard//kernel.nit:232 */
11836 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11838 /* ./../lib/standard//collection//array.nit:280 */
11839 REGB0
= TAG_Bool(false);
11842 if (UNTAG_Bool(REGB2
)) {
11844 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11846 /* ./../lib/standard//collection//array.nit:281 */
11847 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11848 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11849 if (UNTAG_Bool(REGB2
)) {
11850 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11852 /* ./../lib/standard//collection//array.nit:718 */
11853 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11854 /* ./../lib/standard//collection//array.nit:281 */
11856 label308
: while(0);
11857 /* ./compiling//compiling_icode.nit:830 */
11858 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11859 if (!once_value_309
) {
11860 fra
.me
.REG
[7] = BOX_NativeString(")==(");
11861 REGB1
= TAG_Int(4);
11862 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11863 once_value_309
= fra
.me
.REG
[7];
11864 register_static_object(&once_value_309
);
11865 } else fra
.me
.REG
[7] = once_value_309
;
11866 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11867 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11868 REGB1
= TAG_Int(1);
11869 /* ./../lib/standard//collection//array.nit:278 */
11870 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11871 /* ./../lib/standard//collection//array.nit:280 */
11872 REGB2
= TAG_Int(0);
11873 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11874 if (UNTAG_Bool(REGB0
)) {
11876 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11878 /* ./../lib/standard//kernel.nit:233 */
11879 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11880 /* ./../lib/standard//collection//array.nit:280 */
11881 if (UNTAG_Bool(REGB2
)) {
11882 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11883 if (UNTAG_Bool(REGB2
)) {
11885 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11887 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11888 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11889 if (UNTAG_Bool(REGB0
)) {
11891 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11893 /* ./../lib/standard//kernel.nit:232 */
11894 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11896 /* ./../lib/standard//collection//array.nit:280 */
11897 REGB0
= TAG_Bool(false);
11900 if (UNTAG_Bool(REGB2
)) {
11902 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11904 /* ./../lib/standard//collection//array.nit:281 */
11905 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11906 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11907 if (UNTAG_Bool(REGB2
)) {
11908 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11910 /* ./../lib/standard//collection//array.nit:718 */
11911 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11912 /* ./../lib/standard//collection//array.nit:281 */
11914 label310
: while(0);
11915 /* ./compiling//compiling_icode.nit:830 */
11916 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11917 if (!once_value_311
) {
11918 fra
.me
.REG
[7] = BOX_NativeString("))");
11919 REGB1
= TAG_Int(2);
11920 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11921 once_value_311
= fra
.me
.REG
[7];
11922 register_static_object(&once_value_311
);
11923 } else fra
.me
.REG
[7] = once_value_311
;
11924 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11925 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11926 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11927 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11929 /* ./compiling//compiling_icode.nit:831 */
11930 if (!once_value_312
) {
11931 if (!once_value_313
) {
11932 fra
.me
.REG
[6] = BOX_NativeString("!=");
11933 REGB1
= TAG_Int(2);
11934 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
11935 once_value_313
= fra
.me
.REG
[6];
11936 register_static_object(&once_value_313
);
11937 } else fra
.me
.REG
[6] = once_value_313
;
11938 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11939 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11940 once_value_312
= fra
.me
.REG
[6];
11941 register_static_object(&once_value_312
);
11942 } else fra
.me
.REG
[6] = once_value_312
;
11943 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11944 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11945 if (UNTAG_Bool(REGB1
)) {
11947 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11950 if (UNTAG_Bool(REGB1
)) {
11951 /* ./compiling//compiling_icode.nit:832 */
11952 REGB1
= TAG_Int(5);
11953 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11954 if (!once_value_314
) {
11955 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
11956 REGB1
= TAG_Int(10);
11957 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11958 once_value_314
= fra
.me
.REG
[7];
11959 register_static_object(&once_value_314
);
11960 } else fra
.me
.REG
[7] = once_value_314
;
11961 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11962 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11963 REGB1
= TAG_Int(0);
11964 /* ./../lib/standard//collection//array.nit:278 */
11965 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11966 /* ./../lib/standard//collection//array.nit:280 */
11967 REGB2
= TAG_Int(0);
11968 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11969 if (UNTAG_Bool(REGB0
)) {
11971 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11973 /* ./../lib/standard//kernel.nit:233 */
11974 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11975 /* ./../lib/standard//collection//array.nit:280 */
11976 if (UNTAG_Bool(REGB2
)) {
11977 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11978 if (UNTAG_Bool(REGB2
)) {
11980 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11982 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11983 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11984 if (UNTAG_Bool(REGB0
)) {
11986 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11988 /* ./../lib/standard//kernel.nit:232 */
11989 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11991 /* ./../lib/standard//collection//array.nit:280 */
11992 REGB0
= TAG_Bool(false);
11995 if (UNTAG_Bool(REGB2
)) {
11997 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11999 /* ./../lib/standard//collection//array.nit:281 */
12000 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12001 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12002 if (UNTAG_Bool(REGB2
)) {
12003 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12005 /* ./../lib/standard//collection//array.nit:718 */
12006 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12007 /* ./../lib/standard//collection//array.nit:281 */
12009 label315
: while(0);
12010 /* ./compiling//compiling_icode.nit:832 */
12011 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12012 if (!once_value_316
) {
12013 fra
.me
.REG
[7] = BOX_NativeString(")!=(");
12014 REGB1
= TAG_Int(4);
12015 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12016 once_value_316
= fra
.me
.REG
[7];
12017 register_static_object(&once_value_316
);
12018 } else fra
.me
.REG
[7] = once_value_316
;
12019 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12020 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12021 REGB1
= TAG_Int(1);
12022 /* ./../lib/standard//collection//array.nit:278 */
12023 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12024 /* ./../lib/standard//collection//array.nit:280 */
12025 REGB2
= TAG_Int(0);
12026 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12027 if (UNTAG_Bool(REGB0
)) {
12029 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12031 /* ./../lib/standard//kernel.nit:233 */
12032 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12033 /* ./../lib/standard//collection//array.nit:280 */
12034 if (UNTAG_Bool(REGB2
)) {
12035 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12036 if (UNTAG_Bool(REGB2
)) {
12038 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12040 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12041 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12042 if (UNTAG_Bool(REGB0
)) {
12044 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12046 /* ./../lib/standard//kernel.nit:232 */
12047 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12049 /* ./../lib/standard//collection//array.nit:280 */
12050 REGB0
= TAG_Bool(false);
12053 if (UNTAG_Bool(REGB2
)) {
12055 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
12057 /* ./../lib/standard//collection//array.nit:281 */
12058 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12059 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12060 if (UNTAG_Bool(REGB2
)) {
12061 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12063 /* ./../lib/standard//collection//array.nit:718 */
12064 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12065 /* ./../lib/standard//collection//array.nit:281 */
12067 label317
: while(0);
12068 /* ./compiling//compiling_icode.nit:832 */
12069 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12070 if (!once_value_318
) {
12071 fra
.me
.REG
[7] = BOX_NativeString("))");
12072 REGB1
= TAG_Int(2);
12073 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12074 once_value_318
= fra
.me
.REG
[7];
12075 register_static_object(&once_value_318
);
12076 } else fra
.me
.REG
[7] = once_value_318
;
12077 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12078 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12079 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12080 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12100 /* ./compiling//compiling_icode.nit:834 */
12101 if (!once_value_319
) {
12102 if (!once_value_320
) {
12103 fra
.me
.REG
[6] = BOX_NativeString("Bool");
12104 REGB1
= TAG_Int(4);
12105 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12106 once_value_320
= fra
.me
.REG
[6];
12107 register_static_object(&once_value_320
);
12108 } else fra
.me
.REG
[6] = once_value_320
;
12109 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12110 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12111 once_value_319
= fra
.me
.REG
[6];
12112 register_static_object(&once_value_319
);
12113 } else fra
.me
.REG
[6] = once_value_319
;
12114 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12115 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
12116 if (UNTAG_Bool(REGB1
)) {
12118 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
12121 if (UNTAG_Bool(REGB1
)) {
12122 /* ./compiling//compiling_icode.nit:835 */
12123 if (!once_value_321
) {
12124 if (!once_value_322
) {
12125 fra
.me
.REG
[6] = BOX_NativeString("object_id");
12126 REGB1
= TAG_Int(9);
12127 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12128 once_value_322
= fra
.me
.REG
[6];
12129 register_static_object(&once_value_322
);
12130 } else fra
.me
.REG
[6] = once_value_322
;
12131 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12132 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12133 once_value_321
= fra
.me
.REG
[6];
12134 register_static_object(&once_value_321
);
12135 } else fra
.me
.REG
[6] = once_value_321
;
12136 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12137 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12138 if (UNTAG_Bool(REGB1
)) {
12140 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12143 if (UNTAG_Bool(REGB1
)) {
12144 /* ./compiling//compiling_icode.nit:836 */
12145 REGB1
= TAG_Int(3);
12146 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12147 if (!once_value_323
) {
12148 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Bool(");
12149 REGB1
= TAG_Int(19);
12150 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12151 once_value_323
= fra
.me
.REG
[7];
12152 register_static_object(&once_value_323
);
12153 } else fra
.me
.REG
[7] = once_value_323
;
12154 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12155 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12156 REGB1
= TAG_Int(0);
12157 /* ./../lib/standard//collection//array.nit:278 */
12158 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12159 /* ./../lib/standard//collection//array.nit:280 */
12160 REGB2
= TAG_Int(0);
12161 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12162 if (UNTAG_Bool(REGB0
)) {
12164 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12166 /* ./../lib/standard//kernel.nit:233 */
12167 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12168 /* ./../lib/standard//collection//array.nit:280 */
12169 if (UNTAG_Bool(REGB2
)) {
12170 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12171 if (UNTAG_Bool(REGB2
)) {
12173 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12175 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12176 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12177 if (UNTAG_Bool(REGB0
)) {
12179 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12181 /* ./../lib/standard//kernel.nit:232 */
12182 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12184 /* ./../lib/standard//collection//array.nit:280 */
12185 REGB0
= TAG_Bool(false);
12188 if (UNTAG_Bool(REGB2
)) {
12190 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
12192 /* ./../lib/standard//collection//array.nit:281 */
12193 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12194 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12195 if (UNTAG_Bool(REGB2
)) {
12196 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12198 /* ./../lib/standard//collection//array.nit:718 */
12199 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12200 /* ./../lib/standard//collection//array.nit:281 */
12202 label324
: while(0);
12203 /* ./compiling//compiling_icode.nit:836 */
12204 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12205 if (!once_value_325
) {
12206 fra
.me
.REG
[7] = BOX_NativeString("))");
12207 REGB1
= TAG_Int(2);
12208 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12209 once_value_325
= fra
.me
.REG
[7];
12210 register_static_object(&once_value_325
);
12211 } else fra
.me
.REG
[7] = once_value_325
;
12212 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12213 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12214 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12215 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12217 /* ./compiling//compiling_icode.nit:837 */
12218 if (!once_value_326
) {
12219 if (!once_value_327
) {
12220 fra
.me
.REG
[6] = BOX_NativeString("unary -");
12221 REGB1
= TAG_Int(7);
12222 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12223 once_value_327
= fra
.me
.REG
[6];
12224 register_static_object(&once_value_327
);
12225 } else fra
.me
.REG
[6] = once_value_327
;
12226 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12227 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12228 once_value_326
= fra
.me
.REG
[6];
12229 register_static_object(&once_value_326
);
12230 } else fra
.me
.REG
[6] = once_value_326
;
12231 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12232 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12233 if (UNTAG_Bool(REGB1
)) {
12235 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12238 if (UNTAG_Bool(REGB1
)) {
12239 /* ./compiling//compiling_icode.nit:838 */
12240 REGB1
= TAG_Int(3);
12241 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12242 if (!once_value_328
) {
12243 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(-UNTAG_Bool(");
12244 REGB1
= TAG_Int(21);
12245 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12246 once_value_328
= fra
.me
.REG
[7];
12247 register_static_object(&once_value_328
);
12248 } else fra
.me
.REG
[7] = once_value_328
;
12249 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12250 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12251 REGB1
= TAG_Int(0);
12252 /* ./../lib/standard//collection//array.nit:278 */
12253 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12254 /* ./../lib/standard//collection//array.nit:280 */
12255 REGB2
= TAG_Int(0);
12256 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12257 if (UNTAG_Bool(REGB0
)) {
12259 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12261 /* ./../lib/standard//kernel.nit:233 */
12262 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12263 /* ./../lib/standard//collection//array.nit:280 */
12264 if (UNTAG_Bool(REGB2
)) {
12265 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12266 if (UNTAG_Bool(REGB2
)) {
12268 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12270 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12271 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12272 if (UNTAG_Bool(REGB0
)) {
12274 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12276 /* ./../lib/standard//kernel.nit:232 */
12277 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12279 /* ./../lib/standard//collection//array.nit:280 */
12280 REGB0
= TAG_Bool(false);
12283 if (UNTAG_Bool(REGB2
)) {
12285 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
12287 /* ./../lib/standard//collection//array.nit:281 */
12288 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12289 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12290 if (UNTAG_Bool(REGB2
)) {
12291 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12293 /* ./../lib/standard//collection//array.nit:718 */
12294 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12295 /* ./../lib/standard//collection//array.nit:281 */
12297 label329
: while(0);
12298 /* ./compiling//compiling_icode.nit:838 */
12299 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12300 if (!once_value_330
) {
12301 fra
.me
.REG
[7] = BOX_NativeString("))");
12302 REGB1
= TAG_Int(2);
12303 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12304 once_value_330
= fra
.me
.REG
[7];
12305 register_static_object(&once_value_330
);
12306 } else fra
.me
.REG
[7] = once_value_330
;
12307 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12308 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12309 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12310 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12312 /* ./compiling//compiling_icode.nit:839 */
12313 if (!once_value_331
) {
12314 if (!once_value_332
) {
12315 fra
.me
.REG
[6] = BOX_NativeString("output");
12316 REGB1
= TAG_Int(6);
12317 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12318 once_value_332
= fra
.me
.REG
[6];
12319 register_static_object(&once_value_332
);
12320 } else fra
.me
.REG
[6] = once_value_332
;
12321 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12322 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12323 once_value_331
= fra
.me
.REG
[6];
12324 register_static_object(&once_value_331
);
12325 } else fra
.me
.REG
[6] = once_value_331
;
12326 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12327 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12328 if (UNTAG_Bool(REGB1
)) {
12330 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12333 if (UNTAG_Bool(REGB1
)) {
12334 /* ./compiling//compiling_icode.nit:840 */
12335 REGB1
= TAG_Int(3);
12336 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12337 if (!once_value_333
) {
12338 fra
.me
.REG
[7] = BOX_NativeString("(void)printf(UNTAG_Bool(");
12339 REGB1
= TAG_Int(24);
12340 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12341 once_value_333
= fra
.me
.REG
[7];
12342 register_static_object(&once_value_333
);
12343 } else fra
.me
.REG
[7] = once_value_333
;
12344 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12345 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12346 REGB1
= TAG_Int(0);
12347 /* ./../lib/standard//collection//array.nit:278 */
12348 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12349 /* ./../lib/standard//collection//array.nit:280 */
12350 REGB2
= TAG_Int(0);
12351 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12352 if (UNTAG_Bool(REGB0
)) {
12354 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12356 /* ./../lib/standard//kernel.nit:233 */
12357 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12358 /* ./../lib/standard//collection//array.nit:280 */
12359 if (UNTAG_Bool(REGB2
)) {
12360 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12361 if (UNTAG_Bool(REGB2
)) {
12363 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12365 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12366 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12367 if (UNTAG_Bool(REGB0
)) {
12369 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12371 /* ./../lib/standard//kernel.nit:232 */
12372 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12374 /* ./../lib/standard//collection//array.nit:280 */
12375 REGB0
= TAG_Bool(false);
12378 if (UNTAG_Bool(REGB2
)) {
12380 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
12382 /* ./../lib/standard//collection//array.nit:281 */
12383 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12384 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12385 if (UNTAG_Bool(REGB2
)) {
12386 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12388 /* ./../lib/standard//collection//array.nit:718 */
12389 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12390 /* ./../lib/standard//collection//array.nit:281 */
12392 label334
: while(0);
12393 /* ./compiling//compiling_icode.nit:840 */
12394 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12395 if (!once_value_335
) {
12396 fra
.me
.REG
[7] = BOX_NativeString(")?\"true\\n\":\"false\\n\");");
12397 REGB1
= TAG_Int(22);
12398 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12399 once_value_335
= fra
.me
.REG
[7];
12400 register_static_object(&once_value_335
);
12401 } else fra
.me
.REG
[7] = once_value_335
;
12402 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12403 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12404 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12405 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12407 /* ./compiling//compiling_icode.nit:841 */
12408 if (!once_value_336
) {
12409 if (!once_value_337
) {
12410 fra
.me
.REG
[6] = BOX_NativeString("ascii");
12411 REGB1
= TAG_Int(5);
12412 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12413 once_value_337
= fra
.me
.REG
[6];
12414 register_static_object(&once_value_337
);
12415 } else fra
.me
.REG
[6] = once_value_337
;
12416 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12417 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12418 once_value_336
= fra
.me
.REG
[6];
12419 register_static_object(&once_value_336
);
12420 } else fra
.me
.REG
[6] = once_value_336
;
12421 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12422 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12423 if (UNTAG_Bool(REGB1
)) {
12425 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12428 if (UNTAG_Bool(REGB1
)) {
12429 /* ./compiling//compiling_icode.nit:842 */
12430 REGB1
= TAG_Int(3);
12431 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12432 if (!once_value_338
) {
12433 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Bool(");
12434 REGB1
= TAG_Int(20);
12435 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12436 once_value_338
= fra
.me
.REG
[7];
12437 register_static_object(&once_value_338
);
12438 } else fra
.me
.REG
[7] = once_value_338
;
12439 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12440 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12441 REGB1
= TAG_Int(0);
12442 /* ./../lib/standard//collection//array.nit:278 */
12443 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12444 /* ./../lib/standard//collection//array.nit:280 */
12445 REGB2
= TAG_Int(0);
12446 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12447 if (UNTAG_Bool(REGB0
)) {
12449 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12451 /* ./../lib/standard//kernel.nit:233 */
12452 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12453 /* ./../lib/standard//collection//array.nit:280 */
12454 if (UNTAG_Bool(REGB2
)) {
12455 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12456 if (UNTAG_Bool(REGB2
)) {
12458 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12460 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12461 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12462 if (UNTAG_Bool(REGB0
)) {
12464 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12466 /* ./../lib/standard//kernel.nit:232 */
12467 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12469 /* ./../lib/standard//collection//array.nit:280 */
12470 REGB0
= TAG_Bool(false);
12473 if (UNTAG_Bool(REGB2
)) {
12475 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
12477 /* ./../lib/standard//collection//array.nit:281 */
12478 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12479 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12480 if (UNTAG_Bool(REGB2
)) {
12481 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12483 /* ./../lib/standard//collection//array.nit:718 */
12484 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12485 /* ./../lib/standard//collection//array.nit:281 */
12487 label339
: while(0);
12488 /* ./compiling//compiling_icode.nit:842 */
12489 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12490 if (!once_value_340
) {
12491 fra
.me
.REG
[7] = BOX_NativeString("))");
12492 REGB1
= TAG_Int(2);
12493 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12494 once_value_340
= fra
.me
.REG
[7];
12495 register_static_object(&once_value_340
);
12496 } else fra
.me
.REG
[7] = once_value_340
;
12497 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12498 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12499 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12500 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12502 /* ./compiling//compiling_icode.nit:843 */
12503 if (!once_value_341
) {
12504 if (!once_value_342
) {
12505 fra
.me
.REG
[6] = BOX_NativeString("to_i");
12506 REGB1
= TAG_Int(4);
12507 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12508 once_value_342
= fra
.me
.REG
[6];
12509 register_static_object(&once_value_342
);
12510 } else fra
.me
.REG
[6] = once_value_342
;
12511 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12512 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12513 once_value_341
= fra
.me
.REG
[6];
12514 register_static_object(&once_value_341
);
12515 } else fra
.me
.REG
[6] = once_value_341
;
12516 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12517 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12518 if (UNTAG_Bool(REGB1
)) {
12520 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12523 if (UNTAG_Bool(REGB1
)) {
12524 /* ./compiling//compiling_icode.nit:844 */
12525 REGB1
= TAG_Int(3);
12526 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12527 if (!once_value_343
) {
12528 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Bool(");
12529 REGB1
= TAG_Int(19);
12530 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12531 once_value_343
= fra
.me
.REG
[7];
12532 register_static_object(&once_value_343
);
12533 } else fra
.me
.REG
[7] = once_value_343
;
12534 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12535 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12536 REGB1
= TAG_Int(0);
12537 /* ./../lib/standard//collection//array.nit:278 */
12538 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12539 /* ./../lib/standard//collection//array.nit:280 */
12540 REGB2
= TAG_Int(0);
12541 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12542 if (UNTAG_Bool(REGB0
)) {
12544 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12546 /* ./../lib/standard//kernel.nit:233 */
12547 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12548 /* ./../lib/standard//collection//array.nit:280 */
12549 if (UNTAG_Bool(REGB2
)) {
12550 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12551 if (UNTAG_Bool(REGB2
)) {
12553 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12555 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12556 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12557 if (UNTAG_Bool(REGB0
)) {
12559 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12561 /* ./../lib/standard//kernel.nit:232 */
12562 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12564 /* ./../lib/standard//collection//array.nit:280 */
12565 REGB0
= TAG_Bool(false);
12568 if (UNTAG_Bool(REGB2
)) {
12570 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
12572 /* ./../lib/standard//collection//array.nit:281 */
12573 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12574 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12575 if (UNTAG_Bool(REGB2
)) {
12576 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12578 /* ./../lib/standard//collection//array.nit:718 */
12579 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12580 /* ./../lib/standard//collection//array.nit:281 */
12582 label344
: while(0);
12583 /* ./compiling//compiling_icode.nit:844 */
12584 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12585 if (!once_value_345
) {
12586 fra
.me
.REG
[7] = BOX_NativeString("))");
12587 REGB1
= TAG_Int(2);
12588 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12589 once_value_345
= fra
.me
.REG
[7];
12590 register_static_object(&once_value_345
);
12591 } else fra
.me
.REG
[7] = once_value_345
;
12592 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12593 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12594 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12595 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12597 /* ./compiling//compiling_icode.nit:845 */
12598 if (!once_value_346
) {
12599 if (!once_value_347
) {
12600 fra
.me
.REG
[6] = BOX_NativeString("==");
12601 REGB1
= TAG_Int(2);
12602 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12603 once_value_347
= fra
.me
.REG
[6];
12604 register_static_object(&once_value_347
);
12605 } else fra
.me
.REG
[6] = once_value_347
;
12606 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12607 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12608 once_value_346
= fra
.me
.REG
[6];
12609 register_static_object(&once_value_346
);
12610 } else fra
.me
.REG
[6] = once_value_346
;
12611 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12612 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12613 if (UNTAG_Bool(REGB1
)) {
12615 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12618 if (UNTAG_Bool(REGB1
)) {
12619 /* ./compiling//compiling_icode.nit:846 */
12620 REGB1
= TAG_Int(5);
12621 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12622 if (!once_value_348
) {
12623 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
12624 REGB1
= TAG_Int(10);
12625 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12626 once_value_348
= fra
.me
.REG
[7];
12627 register_static_object(&once_value_348
);
12628 } else fra
.me
.REG
[7] = once_value_348
;
12629 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12630 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12631 REGB1
= TAG_Int(0);
12632 /* ./../lib/standard//collection//array.nit:278 */
12633 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12634 /* ./../lib/standard//collection//array.nit:280 */
12635 REGB2
= TAG_Int(0);
12636 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12637 if (UNTAG_Bool(REGB0
)) {
12639 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12641 /* ./../lib/standard//kernel.nit:233 */
12642 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12643 /* ./../lib/standard//collection//array.nit:280 */
12644 if (UNTAG_Bool(REGB2
)) {
12645 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12646 if (UNTAG_Bool(REGB2
)) {
12648 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12650 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12651 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12652 if (UNTAG_Bool(REGB0
)) {
12654 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12656 /* ./../lib/standard//kernel.nit:232 */
12657 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12659 /* ./../lib/standard//collection//array.nit:280 */
12660 REGB0
= TAG_Bool(false);
12663 if (UNTAG_Bool(REGB2
)) {
12665 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
12667 /* ./../lib/standard//collection//array.nit:281 */
12668 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12669 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12670 if (UNTAG_Bool(REGB2
)) {
12671 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12673 /* ./../lib/standard//collection//array.nit:718 */
12674 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12675 /* ./../lib/standard//collection//array.nit:281 */
12677 label349
: while(0);
12678 /* ./compiling//compiling_icode.nit:846 */
12679 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12680 if (!once_value_350
) {
12681 fra
.me
.REG
[7] = BOX_NativeString(")==(");
12682 REGB1
= TAG_Int(4);
12683 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12684 once_value_350
= fra
.me
.REG
[7];
12685 register_static_object(&once_value_350
);
12686 } else fra
.me
.REG
[7] = once_value_350
;
12687 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12688 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12689 REGB1
= TAG_Int(1);
12690 /* ./../lib/standard//collection//array.nit:278 */
12691 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12692 /* ./../lib/standard//collection//array.nit:280 */
12693 REGB2
= TAG_Int(0);
12694 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12695 if (UNTAG_Bool(REGB0
)) {
12697 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12699 /* ./../lib/standard//kernel.nit:233 */
12700 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12701 /* ./../lib/standard//collection//array.nit:280 */
12702 if (UNTAG_Bool(REGB2
)) {
12703 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12704 if (UNTAG_Bool(REGB2
)) {
12706 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12708 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12709 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12710 if (UNTAG_Bool(REGB0
)) {
12712 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12714 /* ./../lib/standard//kernel.nit:232 */
12715 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12717 /* ./../lib/standard//collection//array.nit:280 */
12718 REGB0
= TAG_Bool(false);
12721 if (UNTAG_Bool(REGB2
)) {
12723 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
12725 /* ./../lib/standard//collection//array.nit:281 */
12726 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12727 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12728 if (UNTAG_Bool(REGB2
)) {
12729 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12731 /* ./../lib/standard//collection//array.nit:718 */
12732 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12733 /* ./../lib/standard//collection//array.nit:281 */
12735 label351
: while(0);
12736 /* ./compiling//compiling_icode.nit:846 */
12737 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12738 if (!once_value_352
) {
12739 fra
.me
.REG
[7] = BOX_NativeString("))");
12740 REGB1
= TAG_Int(2);
12741 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12742 once_value_352
= fra
.me
.REG
[7];
12743 register_static_object(&once_value_352
);
12744 } else fra
.me
.REG
[7] = once_value_352
;
12745 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12746 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12747 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12748 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12750 /* ./compiling//compiling_icode.nit:847 */
12751 if (!once_value_353
) {
12752 if (!once_value_354
) {
12753 fra
.me
.REG
[6] = BOX_NativeString("!=");
12754 REGB1
= TAG_Int(2);
12755 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12756 once_value_354
= fra
.me
.REG
[6];
12757 register_static_object(&once_value_354
);
12758 } else fra
.me
.REG
[6] = once_value_354
;
12759 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12760 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12761 once_value_353
= fra
.me
.REG
[6];
12762 register_static_object(&once_value_353
);
12763 } else fra
.me
.REG
[6] = once_value_353
;
12764 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12765 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12766 if (UNTAG_Bool(REGB1
)) {
12768 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12771 if (UNTAG_Bool(REGB1
)) {
12772 /* ./compiling//compiling_icode.nit:848 */
12773 REGB1
= TAG_Int(5);
12774 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12775 if (!once_value_355
) {
12776 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
12777 REGB1
= TAG_Int(10);
12778 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12779 once_value_355
= fra
.me
.REG
[7];
12780 register_static_object(&once_value_355
);
12781 } else fra
.me
.REG
[7] = once_value_355
;
12782 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12783 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12784 REGB1
= TAG_Int(0);
12785 /* ./../lib/standard//collection//array.nit:278 */
12786 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12787 /* ./../lib/standard//collection//array.nit:280 */
12788 REGB2
= TAG_Int(0);
12789 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12790 if (UNTAG_Bool(REGB0
)) {
12792 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12794 /* ./../lib/standard//kernel.nit:233 */
12795 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12796 /* ./../lib/standard//collection//array.nit:280 */
12797 if (UNTAG_Bool(REGB2
)) {
12798 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12799 if (UNTAG_Bool(REGB2
)) {
12801 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12803 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12804 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12805 if (UNTAG_Bool(REGB0
)) {
12807 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12809 /* ./../lib/standard//kernel.nit:232 */
12810 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12812 /* ./../lib/standard//collection//array.nit:280 */
12813 REGB0
= TAG_Bool(false);
12816 if (UNTAG_Bool(REGB2
)) {
12818 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
12820 /* ./../lib/standard//collection//array.nit:281 */
12821 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12822 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12823 if (UNTAG_Bool(REGB2
)) {
12824 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12826 /* ./../lib/standard//collection//array.nit:718 */
12827 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12828 /* ./../lib/standard//collection//array.nit:281 */
12830 label356
: while(0);
12831 /* ./compiling//compiling_icode.nit:848 */
12832 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12833 if (!once_value_357
) {
12834 fra
.me
.REG
[7] = BOX_NativeString(")!=(");
12835 REGB1
= TAG_Int(4);
12836 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12837 once_value_357
= fra
.me
.REG
[7];
12838 register_static_object(&once_value_357
);
12839 } else fra
.me
.REG
[7] = once_value_357
;
12840 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12841 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12842 REGB1
= TAG_Int(1);
12843 /* ./../lib/standard//collection//array.nit:278 */
12844 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12845 /* ./../lib/standard//collection//array.nit:280 */
12846 REGB2
= TAG_Int(0);
12847 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12848 if (UNTAG_Bool(REGB0
)) {
12850 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12852 /* ./../lib/standard//kernel.nit:233 */
12853 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12854 /* ./../lib/standard//collection//array.nit:280 */
12855 if (UNTAG_Bool(REGB2
)) {
12856 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12857 if (UNTAG_Bool(REGB2
)) {
12859 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12861 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12862 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12863 if (UNTAG_Bool(REGB0
)) {
12865 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12867 /* ./../lib/standard//kernel.nit:232 */
12868 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12870 /* ./../lib/standard//collection//array.nit:280 */
12871 REGB0
= TAG_Bool(false);
12874 if (UNTAG_Bool(REGB2
)) {
12876 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
12878 /* ./../lib/standard//collection//array.nit:281 */
12879 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12880 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12881 if (UNTAG_Bool(REGB2
)) {
12882 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12884 /* ./../lib/standard//collection//array.nit:718 */
12885 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12886 /* ./../lib/standard//collection//array.nit:281 */
12888 label358
: while(0);
12889 /* ./compiling//compiling_icode.nit:848 */
12890 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12891 if (!once_value_359
) {
12892 fra
.me
.REG
[7] = BOX_NativeString("))");
12893 REGB1
= TAG_Int(2);
12894 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12895 once_value_359
= fra
.me
.REG
[7];
12896 register_static_object(&once_value_359
);
12897 } else fra
.me
.REG
[7] = once_value_359
;
12898 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12899 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12900 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12901 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12910 /* ./compiling//compiling_icode.nit:850 */
12911 if (!once_value_360
) {
12912 if (!once_value_361
) {
12913 fra
.me
.REG
[6] = BOX_NativeString("NativeArray");
12914 REGB1
= TAG_Int(11);
12915 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12916 once_value_361
= fra
.me
.REG
[6];
12917 register_static_object(&once_value_361
);
12918 } else fra
.me
.REG
[6] = once_value_361
;
12919 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12920 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12921 once_value_360
= fra
.me
.REG
[6];
12922 register_static_object(&once_value_360
);
12923 } else fra
.me
.REG
[6] = once_value_360
;
12924 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12925 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
12926 if (UNTAG_Bool(REGB1
)) {
12928 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
12931 if (UNTAG_Bool(REGB1
)) {
12932 /* ./compiling//compiling_icode.nit:851 */
12933 if (!once_value_362
) {
12934 if (!once_value_363
) {
12935 fra
.me
.REG
[6] = BOX_NativeString("object_id");
12936 REGB1
= TAG_Int(9);
12937 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12938 once_value_363
= fra
.me
.REG
[6];
12939 register_static_object(&once_value_363
);
12940 } else fra
.me
.REG
[6] = once_value_363
;
12941 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12942 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12943 once_value_362
= fra
.me
.REG
[6];
12944 register_static_object(&once_value_362
);
12945 } else fra
.me
.REG
[6] = once_value_362
;
12946 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12947 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12948 if (UNTAG_Bool(REGB1
)) {
12950 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12953 if (UNTAG_Bool(REGB1
)) {
12954 /* ./compiling//compiling_icode.nit:852 */
12955 REGB1
= TAG_Int(3);
12956 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12957 if (!once_value_364
) {
12958 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(((Nit_NativeArray)");
12959 REGB1
= TAG_Int(26);
12960 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12961 once_value_364
= fra
.me
.REG
[7];
12962 register_static_object(&once_value_364
);
12963 } else fra
.me
.REG
[7] = once_value_364
;
12964 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12965 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12966 REGB1
= TAG_Int(0);
12967 /* ./../lib/standard//collection//array.nit:278 */
12968 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12969 /* ./../lib/standard//collection//array.nit:280 */
12970 REGB2
= TAG_Int(0);
12971 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12972 if (UNTAG_Bool(REGB0
)) {
12974 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12976 /* ./../lib/standard//kernel.nit:233 */
12977 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12978 /* ./../lib/standard//collection//array.nit:280 */
12979 if (UNTAG_Bool(REGB2
)) {
12980 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12981 if (UNTAG_Bool(REGB2
)) {
12983 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12985 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12986 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12987 if (UNTAG_Bool(REGB0
)) {
12989 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12991 /* ./../lib/standard//kernel.nit:232 */
12992 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12994 /* ./../lib/standard//collection//array.nit:280 */
12995 REGB0
= TAG_Bool(false);
12998 if (UNTAG_Bool(REGB2
)) {
13000 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13002 /* ./../lib/standard//collection//array.nit:281 */
13003 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13004 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13005 if (UNTAG_Bool(REGB2
)) {
13006 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13008 /* ./../lib/standard//collection//array.nit:718 */
13009 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13010 /* ./../lib/standard//collection//array.nit:281 */
13012 label365
: while(0);
13013 /* ./compiling//compiling_icode.nit:852 */
13014 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13015 if (!once_value_366
) {
13016 fra
.me
.REG
[7] = BOX_NativeString(")->object_id)");
13017 REGB1
= TAG_Int(13);
13018 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13019 once_value_366
= fra
.me
.REG
[7];
13020 register_static_object(&once_value_366
);
13021 } else fra
.me
.REG
[7] = once_value_366
;
13022 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13023 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13024 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13025 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13027 /* ./compiling//compiling_icode.nit:853 */
13028 if (!once_value_367
) {
13029 if (!once_value_368
) {
13030 fra
.me
.REG
[6] = BOX_NativeString("[]");
13031 REGB1
= TAG_Int(2);
13032 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13033 once_value_368
= fra
.me
.REG
[6];
13034 register_static_object(&once_value_368
);
13035 } else fra
.me
.REG
[6] = once_value_368
;
13036 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13037 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13038 once_value_367
= fra
.me
.REG
[6];
13039 register_static_object(&once_value_367
);
13040 } else fra
.me
.REG
[6] = once_value_367
;
13041 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13042 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13043 if (UNTAG_Bool(REGB1
)) {
13045 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13048 if (UNTAG_Bool(REGB1
)) {
13049 /* ./compiling//compiling_icode.nit:854 */
13050 REGB1
= TAG_Int(5);
13051 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13052 if (!once_value_369
) {
13053 fra
.me
.REG
[7] = BOX_NativeString("((Nit_NativeArray)");
13054 REGB1
= TAG_Int(18);
13055 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13056 once_value_369
= fra
.me
.REG
[7];
13057 register_static_object(&once_value_369
);
13058 } else fra
.me
.REG
[7] = once_value_369
;
13059 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13060 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13061 REGB1
= TAG_Int(0);
13062 /* ./../lib/standard//collection//array.nit:278 */
13063 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13064 /* ./../lib/standard//collection//array.nit:280 */
13065 REGB2
= TAG_Int(0);
13066 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13067 if (UNTAG_Bool(REGB0
)) {
13069 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13071 /* ./../lib/standard//kernel.nit:233 */
13072 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13073 /* ./../lib/standard//collection//array.nit:280 */
13074 if (UNTAG_Bool(REGB2
)) {
13075 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13076 if (UNTAG_Bool(REGB2
)) {
13078 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13080 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13081 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13082 if (UNTAG_Bool(REGB0
)) {
13084 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13086 /* ./../lib/standard//kernel.nit:232 */
13087 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13089 /* ./../lib/standard//collection//array.nit:280 */
13090 REGB0
= TAG_Bool(false);
13093 if (UNTAG_Bool(REGB2
)) {
13095 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13097 /* ./../lib/standard//collection//array.nit:281 */
13098 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13099 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13100 if (UNTAG_Bool(REGB2
)) {
13101 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13103 /* ./../lib/standard//collection//array.nit:718 */
13104 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13105 /* ./../lib/standard//collection//array.nit:281 */
13107 label370
: while(0);
13108 /* ./compiling//compiling_icode.nit:854 */
13109 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13110 if (!once_value_371
) {
13111 fra
.me
.REG
[7] = BOX_NativeString(")->val[UNTAG_Int(");
13112 REGB1
= TAG_Int(17);
13113 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13114 once_value_371
= fra
.me
.REG
[7];
13115 register_static_object(&once_value_371
);
13116 } else fra
.me
.REG
[7] = once_value_371
;
13117 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13118 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13119 REGB1
= TAG_Int(1);
13120 /* ./../lib/standard//collection//array.nit:278 */
13121 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13122 /* ./../lib/standard//collection//array.nit:280 */
13123 REGB2
= TAG_Int(0);
13124 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13125 if (UNTAG_Bool(REGB0
)) {
13127 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13129 /* ./../lib/standard//kernel.nit:233 */
13130 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13131 /* ./../lib/standard//collection//array.nit:280 */
13132 if (UNTAG_Bool(REGB2
)) {
13133 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13134 if (UNTAG_Bool(REGB2
)) {
13136 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13138 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13139 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13140 if (UNTAG_Bool(REGB0
)) {
13142 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13144 /* ./../lib/standard//kernel.nit:232 */
13145 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13147 /* ./../lib/standard//collection//array.nit:280 */
13148 REGB0
= TAG_Bool(false);
13151 if (UNTAG_Bool(REGB2
)) {
13153 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13155 /* ./../lib/standard//collection//array.nit:281 */
13156 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13157 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13158 if (UNTAG_Bool(REGB2
)) {
13159 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13161 /* ./../lib/standard//collection//array.nit:718 */
13162 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13163 /* ./../lib/standard//collection//array.nit:281 */
13165 label372
: while(0);
13166 /* ./compiling//compiling_icode.nit:854 */
13167 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13168 if (!once_value_373
) {
13169 fra
.me
.REG
[7] = BOX_NativeString(")]");
13170 REGB1
= TAG_Int(2);
13171 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13172 once_value_373
= fra
.me
.REG
[7];
13173 register_static_object(&once_value_373
);
13174 } else fra
.me
.REG
[7] = once_value_373
;
13175 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13176 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13177 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13178 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13180 /* ./compiling//compiling_icode.nit:855 */
13181 if (!once_value_374
) {
13182 if (!once_value_375
) {
13183 fra
.me
.REG
[6] = BOX_NativeString("[]=");
13184 REGB1
= TAG_Int(3);
13185 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13186 once_value_375
= fra
.me
.REG
[6];
13187 register_static_object(&once_value_375
);
13188 } else fra
.me
.REG
[6] = once_value_375
;
13189 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13190 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13191 once_value_374
= fra
.me
.REG
[6];
13192 register_static_object(&once_value_374
);
13193 } else fra
.me
.REG
[6] = once_value_374
;
13194 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13195 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13196 if (UNTAG_Bool(REGB1
)) {
13198 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13201 if (UNTAG_Bool(REGB1
)) {
13202 /* ./compiling//compiling_icode.nit:856 */
13203 REGB1
= TAG_Int(7);
13204 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13205 if (!once_value_376
) {
13206 fra
.me
.REG
[7] = BOX_NativeString("((Nit_NativeArray)");
13207 REGB1
= TAG_Int(18);
13208 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13209 once_value_376
= fra
.me
.REG
[7];
13210 register_static_object(&once_value_376
);
13211 } else fra
.me
.REG
[7] = once_value_376
;
13212 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13213 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13214 REGB1
= TAG_Int(0);
13215 /* ./../lib/standard//collection//array.nit:278 */
13216 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13217 /* ./../lib/standard//collection//array.nit:280 */
13218 REGB2
= TAG_Int(0);
13219 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13220 if (UNTAG_Bool(REGB0
)) {
13222 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13224 /* ./../lib/standard//kernel.nit:233 */
13225 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13226 /* ./../lib/standard//collection//array.nit:280 */
13227 if (UNTAG_Bool(REGB2
)) {
13228 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13229 if (UNTAG_Bool(REGB2
)) {
13231 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13233 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13234 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13235 if (UNTAG_Bool(REGB0
)) {
13237 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13239 /* ./../lib/standard//kernel.nit:232 */
13240 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13242 /* ./../lib/standard//collection//array.nit:280 */
13243 REGB0
= TAG_Bool(false);
13246 if (UNTAG_Bool(REGB2
)) {
13248 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13250 /* ./../lib/standard//collection//array.nit:281 */
13251 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13252 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13253 if (UNTAG_Bool(REGB2
)) {
13254 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13256 /* ./../lib/standard//collection//array.nit:718 */
13257 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13258 /* ./../lib/standard//collection//array.nit:281 */
13260 label377
: while(0);
13261 /* ./compiling//compiling_icode.nit:856 */
13262 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13263 if (!once_value_378
) {
13264 fra
.me
.REG
[7] = BOX_NativeString(")->val[UNTAG_Int(");
13265 REGB1
= TAG_Int(17);
13266 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13267 once_value_378
= fra
.me
.REG
[7];
13268 register_static_object(&once_value_378
);
13269 } else fra
.me
.REG
[7] = once_value_378
;
13270 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13271 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13272 REGB1
= TAG_Int(1);
13273 /* ./../lib/standard//collection//array.nit:278 */
13274 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13275 /* ./../lib/standard//collection//array.nit:280 */
13276 REGB2
= TAG_Int(0);
13277 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13278 if (UNTAG_Bool(REGB0
)) {
13280 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13282 /* ./../lib/standard//kernel.nit:233 */
13283 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13284 /* ./../lib/standard//collection//array.nit:280 */
13285 if (UNTAG_Bool(REGB2
)) {
13286 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13287 if (UNTAG_Bool(REGB2
)) {
13289 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13291 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13292 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13293 if (UNTAG_Bool(REGB0
)) {
13295 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13297 /* ./../lib/standard//kernel.nit:232 */
13298 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13300 /* ./../lib/standard//collection//array.nit:280 */
13301 REGB0
= TAG_Bool(false);
13304 if (UNTAG_Bool(REGB2
)) {
13306 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13308 /* ./../lib/standard//collection//array.nit:281 */
13309 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13310 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13311 if (UNTAG_Bool(REGB2
)) {
13312 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13314 /* ./../lib/standard//collection//array.nit:718 */
13315 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13316 /* ./../lib/standard//collection//array.nit:281 */
13318 label379
: while(0);
13319 /* ./compiling//compiling_icode.nit:856 */
13320 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13321 if (!once_value_380
) {
13322 fra
.me
.REG
[7] = BOX_NativeString(")]=");
13323 REGB1
= TAG_Int(3);
13324 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13325 once_value_380
= fra
.me
.REG
[7];
13326 register_static_object(&once_value_380
);
13327 } else fra
.me
.REG
[7] = once_value_380
;
13328 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13329 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13330 REGB1
= TAG_Int(2);
13331 /* ./../lib/standard//collection//array.nit:278 */
13332 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13333 /* ./../lib/standard//collection//array.nit:280 */
13334 REGB2
= TAG_Int(0);
13335 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13336 if (UNTAG_Bool(REGB0
)) {
13338 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13340 /* ./../lib/standard//kernel.nit:233 */
13341 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13342 /* ./../lib/standard//collection//array.nit:280 */
13343 if (UNTAG_Bool(REGB2
)) {
13344 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13345 if (UNTAG_Bool(REGB2
)) {
13347 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13349 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13350 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13351 if (UNTAG_Bool(REGB0
)) {
13353 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13355 /* ./../lib/standard//kernel.nit:232 */
13356 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13358 /* ./../lib/standard//collection//array.nit:280 */
13359 REGB0
= TAG_Bool(false);
13362 if (UNTAG_Bool(REGB2
)) {
13364 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13366 /* ./../lib/standard//collection//array.nit:281 */
13367 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13368 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13369 if (UNTAG_Bool(REGB2
)) {
13370 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13372 /* ./../lib/standard//collection//array.nit:718 */
13373 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13374 /* ./../lib/standard//collection//array.nit:281 */
13376 label381
: while(0);
13377 /* ./compiling//compiling_icode.nit:856 */
13378 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13379 if (!once_value_382
) {
13380 fra
.me
.REG
[7] = BOX_NativeString("");
13381 REGB1
= TAG_Int(0);
13382 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13383 once_value_382
= fra
.me
.REG
[7];
13384 register_static_object(&once_value_382
);
13385 } else fra
.me
.REG
[7] = once_value_382
;
13386 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13387 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13388 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13389 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13391 /* ./compiling//compiling_icode.nit:857 */
13392 if (!once_value_383
) {
13393 if (!once_value_384
) {
13394 fra
.me
.REG
[6] = BOX_NativeString("copy_to");
13395 REGB1
= TAG_Int(7);
13396 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13397 once_value_384
= fra
.me
.REG
[6];
13398 register_static_object(&once_value_384
);
13399 } else fra
.me
.REG
[6] = once_value_384
;
13400 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13401 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13402 once_value_383
= fra
.me
.REG
[6];
13403 register_static_object(&once_value_383
);
13404 } else fra
.me
.REG
[6] = once_value_383
;
13405 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13406 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13407 if (UNTAG_Bool(REGB1
)) {
13409 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13412 if (UNTAG_Bool(REGB1
)) {
13413 /* ./compiling//compiling_icode.nit:858 */
13414 REGB1
= TAG_Int(7);
13415 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13416 if (!once_value_385
) {
13417 fra
.me
.REG
[7] = BOX_NativeString("(void)memcpy(((Nit_NativeArray )");
13418 REGB1
= TAG_Int(32);
13419 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13420 once_value_385
= fra
.me
.REG
[7];
13421 register_static_object(&once_value_385
);
13422 } else fra
.me
.REG
[7] = once_value_385
;
13423 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13424 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13425 REGB1
= TAG_Int(1);
13426 /* ./../lib/standard//collection//array.nit:278 */
13427 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13428 /* ./../lib/standard//collection//array.nit:280 */
13429 REGB2
= TAG_Int(0);
13430 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13431 if (UNTAG_Bool(REGB0
)) {
13433 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13435 /* ./../lib/standard//kernel.nit:233 */
13436 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13437 /* ./../lib/standard//collection//array.nit:280 */
13438 if (UNTAG_Bool(REGB2
)) {
13439 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13440 if (UNTAG_Bool(REGB2
)) {
13442 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13444 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13445 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13446 if (UNTAG_Bool(REGB0
)) {
13448 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13450 /* ./../lib/standard//kernel.nit:232 */
13451 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13453 /* ./../lib/standard//collection//array.nit:280 */
13454 REGB0
= TAG_Bool(false);
13457 if (UNTAG_Bool(REGB2
)) {
13459 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13461 /* ./../lib/standard//collection//array.nit:281 */
13462 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13463 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13464 if (UNTAG_Bool(REGB2
)) {
13465 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13467 /* ./../lib/standard//collection//array.nit:718 */
13468 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13469 /* ./../lib/standard//collection//array.nit:281 */
13471 label386
: while(0);
13472 /* ./compiling//compiling_icode.nit:858 */
13473 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13474 if (!once_value_387
) {
13475 fra
.me
.REG
[7] = BOX_NativeString(")->val, ((Nit_NativeArray)");
13476 REGB1
= TAG_Int(26);
13477 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13478 once_value_387
= fra
.me
.REG
[7];
13479 register_static_object(&once_value_387
);
13480 } else fra
.me
.REG
[7] = once_value_387
;
13481 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13482 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13483 REGB1
= TAG_Int(0);
13484 /* ./../lib/standard//collection//array.nit:278 */
13485 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13486 /* ./../lib/standard//collection//array.nit:280 */
13487 REGB2
= TAG_Int(0);
13488 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13489 if (UNTAG_Bool(REGB0
)) {
13491 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13493 /* ./../lib/standard//kernel.nit:233 */
13494 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13495 /* ./../lib/standard//collection//array.nit:280 */
13496 if (UNTAG_Bool(REGB2
)) {
13497 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13498 if (UNTAG_Bool(REGB2
)) {
13500 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13502 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13503 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13504 if (UNTAG_Bool(REGB0
)) {
13506 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13508 /* ./../lib/standard//kernel.nit:232 */
13509 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13511 /* ./../lib/standard//collection//array.nit:280 */
13512 REGB0
= TAG_Bool(false);
13515 if (UNTAG_Bool(REGB2
)) {
13517 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13519 /* ./../lib/standard//collection//array.nit:281 */
13520 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13521 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13522 if (UNTAG_Bool(REGB2
)) {
13523 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13525 /* ./../lib/standard//collection//array.nit:718 */
13526 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13527 /* ./../lib/standard//collection//array.nit:281 */
13529 label388
: while(0);
13530 /* ./compiling//compiling_icode.nit:858 */
13531 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13532 if (!once_value_389
) {
13533 fra
.me
.REG
[7] = BOX_NativeString(")->val, UNTAG_Int(");
13534 REGB1
= TAG_Int(18);
13535 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13536 once_value_389
= fra
.me
.REG
[7];
13537 register_static_object(&once_value_389
);
13538 } else fra
.me
.REG
[7] = once_value_389
;
13539 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13540 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13541 REGB1
= TAG_Int(2);
13542 /* ./../lib/standard//collection//array.nit:278 */
13543 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13544 /* ./../lib/standard//collection//array.nit:280 */
13545 REGB2
= TAG_Int(0);
13546 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13547 if (UNTAG_Bool(REGB0
)) {
13549 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13551 /* ./../lib/standard//kernel.nit:233 */
13552 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13553 /* ./../lib/standard//collection//array.nit:280 */
13554 if (UNTAG_Bool(REGB2
)) {
13555 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13556 if (UNTAG_Bool(REGB2
)) {
13558 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13560 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13561 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13562 if (UNTAG_Bool(REGB0
)) {
13564 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13566 /* ./../lib/standard//kernel.nit:232 */
13567 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13569 /* ./../lib/standard//collection//array.nit:280 */
13570 REGB0
= TAG_Bool(false);
13573 if (UNTAG_Bool(REGB2
)) {
13575 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13577 /* ./../lib/standard//collection//array.nit:281 */
13578 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13579 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13580 if (UNTAG_Bool(REGB2
)) {
13581 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13583 /* ./../lib/standard//collection//array.nit:718 */
13584 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13585 /* ./../lib/standard//collection//array.nit:281 */
13587 label390
: while(0);
13588 /* ./compiling//compiling_icode.nit:858 */
13589 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13590 if (!once_value_391
) {
13591 fra
.me
.REG
[7] = BOX_NativeString(")*sizeof(val_t))");
13592 REGB1
= TAG_Int(16);
13593 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13594 once_value_391
= fra
.me
.REG
[7];
13595 register_static_object(&once_value_391
);
13596 } else fra
.me
.REG
[7] = once_value_391
;
13597 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13598 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13599 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13600 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13606 /* ./compiling//compiling_icode.nit:860 */
13607 if (!once_value_392
) {
13608 if (!once_value_393
) {
13609 fra
.me
.REG
[6] = BOX_NativeString("NativeString");
13610 REGB1
= TAG_Int(12);
13611 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13612 once_value_393
= fra
.me
.REG
[6];
13613 register_static_object(&once_value_393
);
13614 } else fra
.me
.REG
[6] = once_value_393
;
13615 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13616 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13617 once_value_392
= fra
.me
.REG
[6];
13618 register_static_object(&once_value_392
);
13619 } else fra
.me
.REG
[6] = once_value_392
;
13620 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13621 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
13622 if (UNTAG_Bool(REGB1
)) {
13624 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
13627 if (UNTAG_Bool(REGB1
)) {
13628 /* ./compiling//compiling_icode.nit:861 */
13629 if (!once_value_394
) {
13630 if (!once_value_395
) {
13631 fra
.me
.REG
[6] = BOX_NativeString("object_id");
13632 REGB1
= TAG_Int(9);
13633 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13634 once_value_395
= fra
.me
.REG
[6];
13635 register_static_object(&once_value_395
);
13636 } else fra
.me
.REG
[6] = once_value_395
;
13637 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13638 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13639 once_value_394
= fra
.me
.REG
[6];
13640 register_static_object(&once_value_394
);
13641 } else fra
.me
.REG
[6] = once_value_394
;
13642 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13643 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13644 if (UNTAG_Bool(REGB1
)) {
13646 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13649 if (UNTAG_Bool(REGB1
)) {
13650 /* ./compiling//compiling_icode.nit:862 */
13651 REGB1
= TAG_Int(3);
13652 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13653 if (!once_value_396
) {
13654 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNBOX_NativeString(");
13655 REGB1
= TAG_Int(27);
13656 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13657 once_value_396
= fra
.me
.REG
[7];
13658 register_static_object(&once_value_396
);
13659 } else fra
.me
.REG
[7] = once_value_396
;
13660 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13661 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13662 REGB1
= TAG_Int(0);
13663 /* ./../lib/standard//collection//array.nit:278 */
13664 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13665 /* ./../lib/standard//collection//array.nit:280 */
13666 REGB2
= TAG_Int(0);
13667 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13668 if (UNTAG_Bool(REGB0
)) {
13670 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13672 /* ./../lib/standard//kernel.nit:233 */
13673 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13674 /* ./../lib/standard//collection//array.nit:280 */
13675 if (UNTAG_Bool(REGB2
)) {
13676 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13677 if (UNTAG_Bool(REGB2
)) {
13679 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13681 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13682 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13683 if (UNTAG_Bool(REGB0
)) {
13685 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13687 /* ./../lib/standard//kernel.nit:232 */
13688 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13690 /* ./../lib/standard//collection//array.nit:280 */
13691 REGB0
= TAG_Bool(false);
13694 if (UNTAG_Bool(REGB2
)) {
13696 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13698 /* ./../lib/standard//collection//array.nit:281 */
13699 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13700 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13701 if (UNTAG_Bool(REGB2
)) {
13702 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13704 /* ./../lib/standard//collection//array.nit:718 */
13705 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13706 /* ./../lib/standard//collection//array.nit:281 */
13708 label397
: while(0);
13709 /* ./compiling//compiling_icode.nit:862 */
13710 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13711 if (!once_value_398
) {
13712 fra
.me
.REG
[7] = BOX_NativeString("))");
13713 REGB1
= TAG_Int(2);
13714 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13715 once_value_398
= fra
.me
.REG
[7];
13716 register_static_object(&once_value_398
);
13717 } else fra
.me
.REG
[7] = once_value_398
;
13718 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13719 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13720 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13721 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13723 /* ./compiling//compiling_icode.nit:863 */
13724 if (!once_value_399
) {
13725 if (!once_value_400
) {
13726 fra
.me
.REG
[6] = BOX_NativeString("atoi");
13727 REGB1
= TAG_Int(4);
13728 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13729 once_value_400
= fra
.me
.REG
[6];
13730 register_static_object(&once_value_400
);
13731 } else fra
.me
.REG
[6] = once_value_400
;
13732 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13733 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13734 once_value_399
= fra
.me
.REG
[6];
13735 register_static_object(&once_value_399
);
13736 } else fra
.me
.REG
[6] = once_value_399
;
13737 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13738 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13739 if (UNTAG_Bool(REGB1
)) {
13741 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13744 if (UNTAG_Bool(REGB1
)) {
13745 /* ./compiling//compiling_icode.nit:864 */
13746 REGB1
= TAG_Int(3);
13747 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13748 if (!once_value_401
) {
13749 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(atoi(UNBOX_NativeString(");
13750 REGB1
= TAG_Int(32);
13751 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13752 once_value_401
= fra
.me
.REG
[7];
13753 register_static_object(&once_value_401
);
13754 } else fra
.me
.REG
[7] = once_value_401
;
13755 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13756 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13757 REGB1
= TAG_Int(0);
13758 /* ./../lib/standard//collection//array.nit:278 */
13759 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13760 /* ./../lib/standard//collection//array.nit:280 */
13761 REGB2
= TAG_Int(0);
13762 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13763 if (UNTAG_Bool(REGB0
)) {
13765 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13767 /* ./../lib/standard//kernel.nit:233 */
13768 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13769 /* ./../lib/standard//collection//array.nit:280 */
13770 if (UNTAG_Bool(REGB2
)) {
13771 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13772 if (UNTAG_Bool(REGB2
)) {
13774 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13776 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13777 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13778 if (UNTAG_Bool(REGB0
)) {
13780 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13782 /* ./../lib/standard//kernel.nit:232 */
13783 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13785 /* ./../lib/standard//collection//array.nit:280 */
13786 REGB0
= TAG_Bool(false);
13789 if (UNTAG_Bool(REGB2
)) {
13791 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13793 /* ./../lib/standard//collection//array.nit:281 */
13794 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13795 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13796 if (UNTAG_Bool(REGB2
)) {
13797 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13799 /* ./../lib/standard//collection//array.nit:718 */
13800 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13801 /* ./../lib/standard//collection//array.nit:281 */
13803 label402
: while(0);
13804 /* ./compiling//compiling_icode.nit:864 */
13805 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13806 if (!once_value_403
) {
13807 fra
.me
.REG
[7] = BOX_NativeString(")))");
13808 REGB1
= TAG_Int(3);
13809 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13810 once_value_403
= fra
.me
.REG
[7];
13811 register_static_object(&once_value_403
);
13812 } else fra
.me
.REG
[7] = once_value_403
;
13813 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13814 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13815 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13816 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13818 /* ./compiling//compiling_icode.nit:865 */
13819 if (!once_value_404
) {
13820 if (!once_value_405
) {
13821 fra
.me
.REG
[6] = BOX_NativeString("[]");
13822 REGB1
= TAG_Int(2);
13823 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13824 once_value_405
= fra
.me
.REG
[6];
13825 register_static_object(&once_value_405
);
13826 } else fra
.me
.REG
[6] = once_value_405
;
13827 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13828 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13829 once_value_404
= fra
.me
.REG
[6];
13830 register_static_object(&once_value_404
);
13831 } else fra
.me
.REG
[6] = once_value_404
;
13832 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13833 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13834 if (UNTAG_Bool(REGB1
)) {
13836 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13839 if (UNTAG_Bool(REGB1
)) {
13840 /* ./compiling//compiling_icode.nit:866 */
13841 REGB1
= TAG_Int(5);
13842 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13843 if (!once_value_406
) {
13844 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNBOX_NativeString(");
13845 REGB1
= TAG_Int(28);
13846 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13847 once_value_406
= fra
.me
.REG
[7];
13848 register_static_object(&once_value_406
);
13849 } else fra
.me
.REG
[7] = once_value_406
;
13850 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13851 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13852 REGB1
= TAG_Int(0);
13853 /* ./../lib/standard//collection//array.nit:278 */
13854 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13855 /* ./../lib/standard//collection//array.nit:280 */
13856 REGB2
= TAG_Int(0);
13857 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13858 if (UNTAG_Bool(REGB0
)) {
13860 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13862 /* ./../lib/standard//kernel.nit:233 */
13863 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13864 /* ./../lib/standard//collection//array.nit:280 */
13865 if (UNTAG_Bool(REGB2
)) {
13866 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13867 if (UNTAG_Bool(REGB2
)) {
13869 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13871 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13872 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13873 if (UNTAG_Bool(REGB0
)) {
13875 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13877 /* ./../lib/standard//kernel.nit:232 */
13878 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13880 /* ./../lib/standard//collection//array.nit:280 */
13881 REGB0
= TAG_Bool(false);
13884 if (UNTAG_Bool(REGB2
)) {
13886 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13888 /* ./../lib/standard//collection//array.nit:281 */
13889 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13890 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13891 if (UNTAG_Bool(REGB2
)) {
13892 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13894 /* ./../lib/standard//collection//array.nit:718 */
13895 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13896 /* ./../lib/standard//collection//array.nit:281 */
13898 label407
: while(0);
13899 /* ./compiling//compiling_icode.nit:866 */
13900 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13901 if (!once_value_408
) {
13902 fra
.me
.REG
[7] = BOX_NativeString(")[UNTAG_Int(");
13903 REGB1
= TAG_Int(12);
13904 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13905 once_value_408
= fra
.me
.REG
[7];
13906 register_static_object(&once_value_408
);
13907 } else fra
.me
.REG
[7] = once_value_408
;
13908 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13909 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13910 REGB1
= TAG_Int(1);
13911 /* ./../lib/standard//collection//array.nit:278 */
13912 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13913 /* ./../lib/standard//collection//array.nit:280 */
13914 REGB2
= TAG_Int(0);
13915 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13916 if (UNTAG_Bool(REGB0
)) {
13918 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13920 /* ./../lib/standard//kernel.nit:233 */
13921 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13922 /* ./../lib/standard//collection//array.nit:280 */
13923 if (UNTAG_Bool(REGB2
)) {
13924 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13925 if (UNTAG_Bool(REGB2
)) {
13927 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13929 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13930 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13931 if (UNTAG_Bool(REGB0
)) {
13933 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13935 /* ./../lib/standard//kernel.nit:232 */
13936 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13938 /* ./../lib/standard//collection//array.nit:280 */
13939 REGB0
= TAG_Bool(false);
13942 if (UNTAG_Bool(REGB2
)) {
13944 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13946 /* ./../lib/standard//collection//array.nit:281 */
13947 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13948 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13949 if (UNTAG_Bool(REGB2
)) {
13950 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13952 /* ./../lib/standard//collection//array.nit:718 */
13953 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13954 /* ./../lib/standard//collection//array.nit:281 */
13956 label409
: while(0);
13957 /* ./compiling//compiling_icode.nit:866 */
13958 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13959 if (!once_value_410
) {
13960 fra
.me
.REG
[7] = BOX_NativeString(")])");
13961 REGB1
= TAG_Int(3);
13962 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13963 once_value_410
= fra
.me
.REG
[7];
13964 register_static_object(&once_value_410
);
13965 } else fra
.me
.REG
[7] = once_value_410
;
13966 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13967 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13968 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13969 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13971 /* ./compiling//compiling_icode.nit:867 */
13972 if (!once_value_411
) {
13973 if (!once_value_412
) {
13974 fra
.me
.REG
[6] = BOX_NativeString("[]=");
13975 REGB1
= TAG_Int(3);
13976 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13977 once_value_412
= fra
.me
.REG
[6];
13978 register_static_object(&once_value_412
);
13979 } else fra
.me
.REG
[6] = once_value_412
;
13980 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13981 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13982 once_value_411
= fra
.me
.REG
[6];
13983 register_static_object(&once_value_411
);
13984 } else fra
.me
.REG
[6] = once_value_411
;
13985 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13986 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13987 if (UNTAG_Bool(REGB1
)) {
13989 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13992 if (UNTAG_Bool(REGB1
)) {
13993 /* ./compiling//compiling_icode.nit:868 */
13994 REGB1
= TAG_Int(7);
13995 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13996 if (!once_value_413
) {
13997 fra
.me
.REG
[7] = BOX_NativeString("UNBOX_NativeString(");
13998 REGB1
= TAG_Int(19);
13999 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14000 once_value_413
= fra
.me
.REG
[7];
14001 register_static_object(&once_value_413
);
14002 } else fra
.me
.REG
[7] = once_value_413
;
14003 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14004 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14005 REGB1
= TAG_Int(0);
14006 /* ./../lib/standard//collection//array.nit:278 */
14007 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14008 /* ./../lib/standard//collection//array.nit:280 */
14009 REGB2
= TAG_Int(0);
14010 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14011 if (UNTAG_Bool(REGB0
)) {
14013 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14015 /* ./../lib/standard//kernel.nit:233 */
14016 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14017 /* ./../lib/standard//collection//array.nit:280 */
14018 if (UNTAG_Bool(REGB2
)) {
14019 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14020 if (UNTAG_Bool(REGB2
)) {
14022 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14024 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14025 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14026 if (UNTAG_Bool(REGB0
)) {
14028 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14030 /* ./../lib/standard//kernel.nit:232 */
14031 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14033 /* ./../lib/standard//collection//array.nit:280 */
14034 REGB0
= TAG_Bool(false);
14037 if (UNTAG_Bool(REGB2
)) {
14039 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14041 /* ./../lib/standard//collection//array.nit:281 */
14042 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14043 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14044 if (UNTAG_Bool(REGB2
)) {
14045 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14047 /* ./../lib/standard//collection//array.nit:718 */
14048 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14049 /* ./../lib/standard//collection//array.nit:281 */
14051 label414
: while(0);
14052 /* ./compiling//compiling_icode.nit:868 */
14053 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14054 if (!once_value_415
) {
14055 fra
.me
.REG
[7] = BOX_NativeString(")[UNTAG_Int(");
14056 REGB1
= TAG_Int(12);
14057 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14058 once_value_415
= fra
.me
.REG
[7];
14059 register_static_object(&once_value_415
);
14060 } else fra
.me
.REG
[7] = once_value_415
;
14061 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14062 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14063 REGB1
= TAG_Int(1);
14064 /* ./../lib/standard//collection//array.nit:278 */
14065 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14066 /* ./../lib/standard//collection//array.nit:280 */
14067 REGB2
= TAG_Int(0);
14068 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14069 if (UNTAG_Bool(REGB0
)) {
14071 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14073 /* ./../lib/standard//kernel.nit:233 */
14074 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14075 /* ./../lib/standard//collection//array.nit:280 */
14076 if (UNTAG_Bool(REGB2
)) {
14077 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14078 if (UNTAG_Bool(REGB2
)) {
14080 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14082 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14083 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14084 if (UNTAG_Bool(REGB0
)) {
14086 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14088 /* ./../lib/standard//kernel.nit:232 */
14089 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14091 /* ./../lib/standard//collection//array.nit:280 */
14092 REGB0
= TAG_Bool(false);
14095 if (UNTAG_Bool(REGB2
)) {
14097 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14099 /* ./../lib/standard//collection//array.nit:281 */
14100 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14101 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14102 if (UNTAG_Bool(REGB2
)) {
14103 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14105 /* ./../lib/standard//collection//array.nit:718 */
14106 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14107 /* ./../lib/standard//collection//array.nit:281 */
14109 label416
: while(0);
14110 /* ./compiling//compiling_icode.nit:868 */
14111 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14112 if (!once_value_417
) {
14113 fra
.me
.REG
[7] = BOX_NativeString(")]=UNTAG_Char(");
14114 REGB1
= TAG_Int(14);
14115 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14116 once_value_417
= fra
.me
.REG
[7];
14117 register_static_object(&once_value_417
);
14118 } else fra
.me
.REG
[7] = once_value_417
;
14119 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14120 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14121 REGB1
= TAG_Int(2);
14122 /* ./../lib/standard//collection//array.nit:278 */
14123 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14124 /* ./../lib/standard//collection//array.nit:280 */
14125 REGB2
= TAG_Int(0);
14126 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14127 if (UNTAG_Bool(REGB0
)) {
14129 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14131 /* ./../lib/standard//kernel.nit:233 */
14132 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14133 /* ./../lib/standard//collection//array.nit:280 */
14134 if (UNTAG_Bool(REGB2
)) {
14135 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14136 if (UNTAG_Bool(REGB2
)) {
14138 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14140 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14141 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14142 if (UNTAG_Bool(REGB0
)) {
14144 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14146 /* ./../lib/standard//kernel.nit:232 */
14147 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14149 /* ./../lib/standard//collection//array.nit:280 */
14150 REGB0
= TAG_Bool(false);
14153 if (UNTAG_Bool(REGB2
)) {
14155 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14157 /* ./../lib/standard//collection//array.nit:281 */
14158 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14159 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14160 if (UNTAG_Bool(REGB2
)) {
14161 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14163 /* ./../lib/standard//collection//array.nit:718 */
14164 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14165 /* ./../lib/standard//collection//array.nit:281 */
14167 label418
: while(0);
14168 /* ./compiling//compiling_icode.nit:868 */
14169 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14170 if (!once_value_419
) {
14171 fra
.me
.REG
[7] = BOX_NativeString(");");
14172 REGB1
= TAG_Int(2);
14173 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14174 once_value_419
= fra
.me
.REG
[7];
14175 register_static_object(&once_value_419
);
14176 } else fra
.me
.REG
[7] = once_value_419
;
14177 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14178 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14179 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14180 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14182 /* ./compiling//compiling_icode.nit:869 */
14183 if (!once_value_420
) {
14184 if (!once_value_421
) {
14185 fra
.me
.REG
[6] = BOX_NativeString("copy_to");
14186 REGB1
= TAG_Int(7);
14187 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14188 once_value_421
= fra
.me
.REG
[6];
14189 register_static_object(&once_value_421
);
14190 } else fra
.me
.REG
[6] = once_value_421
;
14191 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14192 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14193 once_value_420
= fra
.me
.REG
[6];
14194 register_static_object(&once_value_420
);
14195 } else fra
.me
.REG
[6] = once_value_420
;
14196 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14197 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14198 if (UNTAG_Bool(REGB1
)) {
14200 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14203 if (UNTAG_Bool(REGB1
)) {
14204 /* ./compiling//compiling_icode.nit:870 */
14205 REGB1
= TAG_Int(11);
14206 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14207 if (!once_value_422
) {
14208 fra
.me
.REG
[7] = BOX_NativeString("(void)memcpy(UNBOX_NativeString(");
14209 REGB1
= TAG_Int(32);
14210 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14211 once_value_422
= fra
.me
.REG
[7];
14212 register_static_object(&once_value_422
);
14213 } else fra
.me
.REG
[7] = once_value_422
;
14214 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14215 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14216 REGB1
= TAG_Int(1);
14217 /* ./../lib/standard//collection//array.nit:278 */
14218 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14219 /* ./../lib/standard//collection//array.nit:280 */
14220 REGB2
= TAG_Int(0);
14221 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14222 if (UNTAG_Bool(REGB0
)) {
14224 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14226 /* ./../lib/standard//kernel.nit:233 */
14227 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14228 /* ./../lib/standard//collection//array.nit:280 */
14229 if (UNTAG_Bool(REGB2
)) {
14230 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14231 if (UNTAG_Bool(REGB2
)) {
14233 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14235 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14236 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14237 if (UNTAG_Bool(REGB0
)) {
14239 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14241 /* ./../lib/standard//kernel.nit:232 */
14242 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14244 /* ./../lib/standard//collection//array.nit:280 */
14245 REGB0
= TAG_Bool(false);
14248 if (UNTAG_Bool(REGB2
)) {
14250 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14252 /* ./../lib/standard//collection//array.nit:281 */
14253 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14254 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14255 if (UNTAG_Bool(REGB2
)) {
14256 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14258 /* ./../lib/standard//collection//array.nit:718 */
14259 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14260 /* ./../lib/standard//collection//array.nit:281 */
14262 label423
: while(0);
14263 /* ./compiling//compiling_icode.nit:870 */
14264 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14265 if (!once_value_424
) {
14266 fra
.me
.REG
[7] = BOX_NativeString(")+UNTAG_Int(");
14267 REGB1
= TAG_Int(12);
14268 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14269 once_value_424
= fra
.me
.REG
[7];
14270 register_static_object(&once_value_424
);
14271 } else fra
.me
.REG
[7] = once_value_424
;
14272 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14273 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14274 REGB1
= TAG_Int(4);
14275 /* ./../lib/standard//collection//array.nit:278 */
14276 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14277 /* ./../lib/standard//collection//array.nit:280 */
14278 REGB2
= TAG_Int(0);
14279 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14280 if (UNTAG_Bool(REGB0
)) {
14282 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14284 /* ./../lib/standard//kernel.nit:233 */
14285 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14286 /* ./../lib/standard//collection//array.nit:280 */
14287 if (UNTAG_Bool(REGB2
)) {
14288 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14289 if (UNTAG_Bool(REGB2
)) {
14291 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14293 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14294 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14295 if (UNTAG_Bool(REGB0
)) {
14297 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14299 /* ./../lib/standard//kernel.nit:232 */
14300 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14302 /* ./../lib/standard//collection//array.nit:280 */
14303 REGB0
= TAG_Bool(false);
14306 if (UNTAG_Bool(REGB2
)) {
14308 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14310 /* ./../lib/standard//collection//array.nit:281 */
14311 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14312 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14313 if (UNTAG_Bool(REGB2
)) {
14314 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14316 /* ./../lib/standard//collection//array.nit:718 */
14317 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14318 /* ./../lib/standard//collection//array.nit:281 */
14320 label425
: while(0);
14321 /* ./compiling//compiling_icode.nit:870 */
14322 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14323 if (!once_value_426
) {
14324 fra
.me
.REG
[7] = BOX_NativeString("), UNBOX_NativeString(");
14325 REGB1
= TAG_Int(22);
14326 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14327 once_value_426
= fra
.me
.REG
[7];
14328 register_static_object(&once_value_426
);
14329 } else fra
.me
.REG
[7] = once_value_426
;
14330 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14331 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14332 REGB1
= TAG_Int(0);
14333 /* ./../lib/standard//collection//array.nit:278 */
14334 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14335 /* ./../lib/standard//collection//array.nit:280 */
14336 REGB2
= TAG_Int(0);
14337 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14338 if (UNTAG_Bool(REGB0
)) {
14340 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14342 /* ./../lib/standard//kernel.nit:233 */
14343 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14344 /* ./../lib/standard//collection//array.nit:280 */
14345 if (UNTAG_Bool(REGB2
)) {
14346 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14347 if (UNTAG_Bool(REGB2
)) {
14349 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14351 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14352 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14353 if (UNTAG_Bool(REGB0
)) {
14355 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14357 /* ./../lib/standard//kernel.nit:232 */
14358 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14360 /* ./../lib/standard//collection//array.nit:280 */
14361 REGB0
= TAG_Bool(false);
14364 if (UNTAG_Bool(REGB2
)) {
14366 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14368 /* ./../lib/standard//collection//array.nit:281 */
14369 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14370 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14371 if (UNTAG_Bool(REGB2
)) {
14372 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14374 /* ./../lib/standard//collection//array.nit:718 */
14375 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14376 /* ./../lib/standard//collection//array.nit:281 */
14378 label427
: while(0);
14379 /* ./compiling//compiling_icode.nit:870 */
14380 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14381 if (!once_value_428
) {
14382 fra
.me
.REG
[7] = BOX_NativeString(")+UNTAG_Int(");
14383 REGB1
= TAG_Int(12);
14384 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14385 once_value_428
= fra
.me
.REG
[7];
14386 register_static_object(&once_value_428
);
14387 } else fra
.me
.REG
[7] = once_value_428
;
14388 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14389 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14390 REGB1
= TAG_Int(3);
14391 /* ./../lib/standard//collection//array.nit:278 */
14392 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14393 /* ./../lib/standard//collection//array.nit:280 */
14394 REGB2
= TAG_Int(0);
14395 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14396 if (UNTAG_Bool(REGB0
)) {
14398 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14400 /* ./../lib/standard//kernel.nit:233 */
14401 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14402 /* ./../lib/standard//collection//array.nit:280 */
14403 if (UNTAG_Bool(REGB2
)) {
14404 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14405 if (UNTAG_Bool(REGB2
)) {
14407 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14409 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14410 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14411 if (UNTAG_Bool(REGB0
)) {
14413 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14415 /* ./../lib/standard//kernel.nit:232 */
14416 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14418 /* ./../lib/standard//collection//array.nit:280 */
14419 REGB0
= TAG_Bool(false);
14422 if (UNTAG_Bool(REGB2
)) {
14424 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14426 /* ./../lib/standard//collection//array.nit:281 */
14427 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14428 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14429 if (UNTAG_Bool(REGB2
)) {
14430 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14432 /* ./../lib/standard//collection//array.nit:718 */
14433 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14434 /* ./../lib/standard//collection//array.nit:281 */
14436 label429
: while(0);
14437 /* ./compiling//compiling_icode.nit:870 */
14438 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14439 if (!once_value_430
) {
14440 fra
.me
.REG
[7] = BOX_NativeString("), UNTAG_Int(");
14441 REGB1
= TAG_Int(13);
14442 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14443 once_value_430
= fra
.me
.REG
[7];
14444 register_static_object(&once_value_430
);
14445 } else fra
.me
.REG
[7] = once_value_430
;
14446 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14447 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14448 REGB1
= TAG_Int(2);
14449 /* ./../lib/standard//collection//array.nit:278 */
14450 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14451 /* ./../lib/standard//collection//array.nit:280 */
14452 REGB2
= TAG_Int(0);
14453 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14454 if (UNTAG_Bool(REGB0
)) {
14456 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14458 /* ./../lib/standard//kernel.nit:233 */
14459 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14460 /* ./../lib/standard//collection//array.nit:280 */
14461 if (UNTAG_Bool(REGB2
)) {
14462 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14463 if (UNTAG_Bool(REGB2
)) {
14465 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14467 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14468 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14469 if (UNTAG_Bool(REGB0
)) {
14471 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14473 /* ./../lib/standard//kernel.nit:232 */
14474 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14476 /* ./../lib/standard//collection//array.nit:280 */
14477 REGB0
= TAG_Bool(false);
14480 if (UNTAG_Bool(REGB2
)) {
14482 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14484 /* ./../lib/standard//collection//array.nit:281 */
14485 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14486 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14487 if (UNTAG_Bool(REGB2
)) {
14488 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14490 /* ./../lib/standard//collection//array.nit:718 */
14491 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14492 /* ./../lib/standard//collection//array.nit:281 */
14494 label431
: while(0);
14495 /* ./compiling//compiling_icode.nit:870 */
14496 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14497 if (!once_value_432
) {
14498 fra
.me
.REG
[7] = BOX_NativeString("));");
14499 REGB1
= TAG_Int(3);
14500 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14501 once_value_432
= fra
.me
.REG
[7];
14502 register_static_object(&once_value_432
);
14503 } else fra
.me
.REG
[7] = once_value_432
;
14504 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14505 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14506 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14507 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14514 /* ./compiling//compiling_icode.nit:872 */
14515 if (!once_value_433
) {
14516 if (!once_value_434
) {
14517 fra
.me
.REG
[6] = BOX_NativeString("Sys");
14518 REGB1
= TAG_Int(3);
14519 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14520 once_value_434
= fra
.me
.REG
[6];
14521 register_static_object(&once_value_434
);
14522 } else fra
.me
.REG
[6] = once_value_434
;
14523 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14524 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14525 once_value_433
= fra
.me
.REG
[6];
14526 register_static_object(&once_value_433
);
14527 } else fra
.me
.REG
[6] = once_value_433
;
14528 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14529 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
14530 if (UNTAG_Bool(REGB1
)) {
14532 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
14535 if (UNTAG_Bool(REGB1
)) {
14536 /* ./compiling//compiling_icode.nit:873 */
14537 if (!once_value_435
) {
14538 if (!once_value_436
) {
14539 fra
.me
.REG
[6] = BOX_NativeString("force_garbage_collection");
14540 REGB1
= TAG_Int(24);
14541 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14542 once_value_436
= fra
.me
.REG
[6];
14543 register_static_object(&once_value_436
);
14544 } else fra
.me
.REG
[6] = once_value_436
;
14545 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14546 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14547 once_value_435
= fra
.me
.REG
[6];
14548 register_static_object(&once_value_435
);
14549 } else fra
.me
.REG
[6] = once_value_435
;
14550 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14551 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14552 if (UNTAG_Bool(REGB1
)) {
14554 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14557 if (UNTAG_Bool(REGB1
)) {
14558 /* ./compiling//compiling_icode.nit:874 */
14559 if (!once_value_437
) {
14560 fra
.me
.REG
[6] = BOX_NativeString("Nit_gc_force_garbage_collection()");
14561 REGB1
= TAG_Int(33);
14562 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14563 once_value_437
= fra
.me
.REG
[6];
14564 register_static_object(&once_value_437
);
14565 } else fra
.me
.REG
[6] = once_value_437
;
14566 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14567 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14570 /* ./compiling//compiling_icode.nit:876 */
14571 if (!once_value_438
) {
14572 if (!once_value_439
) {
14573 fra
.me
.REG
[6] = BOX_NativeString("object_id");
14574 REGB1
= TAG_Int(9);
14575 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14576 once_value_439
= fra
.me
.REG
[6];
14577 register_static_object(&once_value_439
);
14578 } else fra
.me
.REG
[6] = once_value_439
;
14579 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14580 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14581 once_value_438
= fra
.me
.REG
[6];
14582 register_static_object(&once_value_438
);
14583 } else fra
.me
.REG
[6] = once_value_438
;
14584 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14585 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14586 if (UNTAG_Bool(REGB1
)) {
14588 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14591 if (UNTAG_Bool(REGB1
)) {
14592 /* ./compiling//compiling_icode.nit:877 */
14593 REGB1
= TAG_Int(3);
14594 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14595 if (!once_value_440
) {
14596 fra
.me
.REG
[2] = BOX_NativeString("TAG_Int((bigint)((obj_t)");
14597 REGB1
= TAG_Int(24);
14598 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14599 once_value_440
= fra
.me
.REG
[2];
14600 register_static_object(&once_value_440
);
14601 } else fra
.me
.REG
[2] = once_value_440
;
14602 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14603 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14604 REGB1
= TAG_Int(0);
14605 /* ./../lib/standard//collection//array.nit:278 */
14606 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14607 /* ./../lib/standard//collection//array.nit:280 */
14608 REGB2
= TAG_Int(0);
14609 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14610 if (UNTAG_Bool(REGB0
)) {
14612 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14614 /* ./../lib/standard//kernel.nit:233 */
14615 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14616 /* ./../lib/standard//collection//array.nit:280 */
14617 if (UNTAG_Bool(REGB2
)) {
14618 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14619 if (UNTAG_Bool(REGB2
)) {
14621 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14623 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14624 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14625 if (UNTAG_Bool(REGB0
)) {
14627 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14629 /* ./../lib/standard//kernel.nit:232 */
14630 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14632 /* ./../lib/standard//collection//array.nit:280 */
14633 REGB0
= TAG_Bool(false);
14636 if (UNTAG_Bool(REGB2
)) {
14638 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14640 /* ./../lib/standard//collection//array.nit:281 */
14641 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14642 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14643 if (UNTAG_Bool(REGB2
)) {
14644 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14646 /* ./../lib/standard//collection//array.nit:718 */
14647 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14648 /* ./../lib/standard//collection//array.nit:281 */
14650 label441
: while(0);
14651 /* ./compiling//compiling_icode.nit:877 */
14652 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14653 if (!once_value_442
) {
14654 fra
.me
.REG
[2] = BOX_NativeString(")[1].object_id)");
14655 REGB1
= TAG_Int(15);
14656 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14657 once_value_442
= fra
.me
.REG
[2];
14658 register_static_object(&once_value_442
);
14659 } else fra
.me
.REG
[2] = once_value_442
;
14660 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14661 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14662 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14663 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14665 /* ./compiling//compiling_icode.nit:878 */
14666 if (!once_value_443
) {
14667 if (!once_value_444
) {
14668 fra
.me
.REG
[6] = BOX_NativeString("sys");
14669 REGB1
= TAG_Int(3);
14670 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14671 once_value_444
= fra
.me
.REG
[6];
14672 register_static_object(&once_value_444
);
14673 } else fra
.me
.REG
[6] = once_value_444
;
14674 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14675 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14676 once_value_443
= fra
.me
.REG
[6];
14677 register_static_object(&once_value_443
);
14678 } else fra
.me
.REG
[6] = once_value_443
;
14679 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14680 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14681 if (UNTAG_Bool(REGB1
)) {
14683 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14686 if (UNTAG_Bool(REGB1
)) {
14687 /* ./compiling//compiling_icode.nit:879 */
14688 if (!once_value_445
) {
14689 fra
.me
.REG
[6] = BOX_NativeString("(G_sys)");
14690 REGB1
= TAG_Int(7);
14691 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14692 once_value_445
= fra
.me
.REG
[6];
14693 register_static_object(&once_value_445
);
14694 } else fra
.me
.REG
[6] = once_value_445
;
14695 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14696 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14698 /* ./compiling//compiling_icode.nit:880 */
14699 if (!once_value_446
) {
14700 if (!once_value_447
) {
14701 fra
.me
.REG
[6] = BOX_NativeString("is_same_type");
14702 REGB1
= TAG_Int(12);
14703 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14704 once_value_447
= fra
.me
.REG
[6];
14705 register_static_object(&once_value_447
);
14706 } else fra
.me
.REG
[6] = once_value_447
;
14707 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14708 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14709 once_value_446
= fra
.me
.REG
[6];
14710 register_static_object(&once_value_446
);
14711 } else fra
.me
.REG
[6] = once_value_446
;
14712 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14713 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14714 if (UNTAG_Bool(REGB1
)) {
14716 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14719 if (UNTAG_Bool(REGB1
)) {
14720 /* ./compiling//compiling_icode.nit:881 */
14721 REGB1
= TAG_Int(5);
14722 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14723 if (!once_value_448
) {
14724 fra
.me
.REG
[2] = BOX_NativeString("TAG_Bool((VAL2VFT(");
14725 REGB1
= TAG_Int(18);
14726 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14727 once_value_448
= fra
.me
.REG
[2];
14728 register_static_object(&once_value_448
);
14729 } else fra
.me
.REG
[2] = once_value_448
;
14730 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14731 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14732 REGB1
= TAG_Int(0);
14733 /* ./../lib/standard//collection//array.nit:278 */
14734 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14735 /* ./../lib/standard//collection//array.nit:280 */
14736 REGB2
= TAG_Int(0);
14737 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14738 if (UNTAG_Bool(REGB0
)) {
14740 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14742 /* ./../lib/standard//kernel.nit:233 */
14743 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14744 /* ./../lib/standard//collection//array.nit:280 */
14745 if (UNTAG_Bool(REGB2
)) {
14746 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14747 if (UNTAG_Bool(REGB2
)) {
14749 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14751 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14752 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14753 if (UNTAG_Bool(REGB0
)) {
14755 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14757 /* ./../lib/standard//kernel.nit:232 */
14758 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14760 /* ./../lib/standard//collection//array.nit:280 */
14761 REGB0
= TAG_Bool(false);
14764 if (UNTAG_Bool(REGB2
)) {
14766 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14768 /* ./../lib/standard//collection//array.nit:281 */
14769 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14770 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14771 if (UNTAG_Bool(REGB2
)) {
14772 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14774 /* ./../lib/standard//collection//array.nit:718 */
14775 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14776 /* ./../lib/standard//collection//array.nit:281 */
14778 label449
: while(0);
14779 /* ./compiling//compiling_icode.nit:881 */
14780 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14781 if (!once_value_450
) {
14782 fra
.me
.REG
[2] = BOX_NativeString(")==VAL2VFT(");
14783 REGB1
= TAG_Int(11);
14784 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14785 once_value_450
= fra
.me
.REG
[2];
14786 register_static_object(&once_value_450
);
14787 } else fra
.me
.REG
[2] = once_value_450
;
14788 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14789 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14790 REGB1
= TAG_Int(1);
14791 /* ./../lib/standard//collection//array.nit:278 */
14792 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14793 /* ./../lib/standard//collection//array.nit:280 */
14794 REGB2
= TAG_Int(0);
14795 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14796 if (UNTAG_Bool(REGB0
)) {
14798 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14800 /* ./../lib/standard//kernel.nit:233 */
14801 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14802 /* ./../lib/standard//collection//array.nit:280 */
14803 if (UNTAG_Bool(REGB2
)) {
14804 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14805 if (UNTAG_Bool(REGB2
)) {
14807 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14809 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14810 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14811 if (UNTAG_Bool(REGB0
)) {
14813 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14815 /* ./../lib/standard//kernel.nit:232 */
14816 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14818 /* ./../lib/standard//collection//array.nit:280 */
14819 REGB0
= TAG_Bool(false);
14822 if (UNTAG_Bool(REGB2
)) {
14824 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14826 /* ./../lib/standard//collection//array.nit:281 */
14827 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14828 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14829 if (UNTAG_Bool(REGB2
)) {
14830 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14832 /* ./../lib/standard//collection//array.nit:718 */
14833 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14834 /* ./../lib/standard//collection//array.nit:281 */
14836 label451
: while(0);
14837 /* ./compiling//compiling_icode.nit:881 */
14838 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14839 if (!once_value_452
) {
14840 fra
.me
.REG
[2] = BOX_NativeString(")))");
14841 REGB1
= TAG_Int(3);
14842 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14843 once_value_452
= fra
.me
.REG
[2];
14844 register_static_object(&once_value_452
);
14845 } else fra
.me
.REG
[2] = once_value_452
;
14846 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14847 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14848 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14849 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14851 /* ./compiling//compiling_icode.nit:882 */
14852 if (!once_value_453
) {
14853 if (!once_value_454
) {
14854 fra
.me
.REG
[6] = BOX_NativeString("exit");
14855 REGB1
= TAG_Int(4);
14856 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14857 once_value_454
= fra
.me
.REG
[6];
14858 register_static_object(&once_value_454
);
14859 } else fra
.me
.REG
[6] = once_value_454
;
14860 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14861 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14862 once_value_453
= fra
.me
.REG
[6];
14863 register_static_object(&once_value_453
);
14864 } else fra
.me
.REG
[6] = once_value_453
;
14865 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14866 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14867 if (UNTAG_Bool(REGB1
)) {
14869 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14872 if (UNTAG_Bool(REGB1
)) {
14873 /* ./compiling//compiling_icode.nit:883 */
14874 REGB1
= TAG_Int(3);
14875 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14876 if (!once_value_455
) {
14877 fra
.me
.REG
[2] = BOX_NativeString("exit(UNTAG_Int(");
14878 REGB1
= TAG_Int(15);
14879 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14880 once_value_455
= fra
.me
.REG
[2];
14881 register_static_object(&once_value_455
);
14882 } else fra
.me
.REG
[2] = once_value_455
;
14883 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14884 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14885 REGB1
= TAG_Int(1);
14886 /* ./../lib/standard//collection//array.nit:278 */
14887 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14888 /* ./../lib/standard//collection//array.nit:280 */
14889 REGB2
= TAG_Int(0);
14890 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14891 if (UNTAG_Bool(REGB0
)) {
14893 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14895 /* ./../lib/standard//kernel.nit:233 */
14896 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14897 /* ./../lib/standard//collection//array.nit:280 */
14898 if (UNTAG_Bool(REGB2
)) {
14899 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14900 if (UNTAG_Bool(REGB2
)) {
14902 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14904 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14905 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14906 if (UNTAG_Bool(REGB0
)) {
14908 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14910 /* ./../lib/standard//kernel.nit:232 */
14911 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14913 /* ./../lib/standard//collection//array.nit:280 */
14914 REGB0
= TAG_Bool(false);
14917 if (UNTAG_Bool(REGB2
)) {
14919 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14921 /* ./../lib/standard//collection//array.nit:281 */
14922 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14923 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14924 if (UNTAG_Bool(REGB2
)) {
14925 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14927 /* ./../lib/standard//collection//array.nit:718 */
14928 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14929 /* ./../lib/standard//collection//array.nit:281 */
14931 label456
: while(0);
14932 /* ./compiling//compiling_icode.nit:883 */
14933 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14934 if (!once_value_457
) {
14935 fra
.me
.REG
[2] = BOX_NativeString("));");
14936 REGB1
= TAG_Int(3);
14937 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14938 once_value_457
= fra
.me
.REG
[2];
14939 register_static_object(&once_value_457
);
14940 } else fra
.me
.REG
[2] = once_value_457
;
14941 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14942 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14943 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14944 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14946 /* ./compiling//compiling_icode.nit:884 */
14947 if (!once_value_458
) {
14948 if (!once_value_459
) {
14949 fra
.me
.REG
[6] = BOX_NativeString("calloc_array");
14950 REGB1
= TAG_Int(12);
14951 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14952 once_value_459
= fra
.me
.REG
[6];
14953 register_static_object(&once_value_459
);
14954 } else fra
.me
.REG
[6] = once_value_459
;
14955 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14956 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14957 once_value_458
= fra
.me
.REG
[6];
14958 register_static_object(&once_value_458
);
14959 } else fra
.me
.REG
[6] = once_value_458
;
14960 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14961 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14962 if (UNTAG_Bool(REGB1
)) {
14964 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14967 if (UNTAG_Bool(REGB1
)) {
14968 /* ./compiling//compiling_icode.nit:885 */
14969 REGB1
= TAG_Int(3);
14970 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14971 if (!once_value_460
) {
14972 fra
.me
.REG
[2] = BOX_NativeString("NEW_NativeArray(UNTAG_Int(");
14973 REGB1
= TAG_Int(26);
14974 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14975 once_value_460
= fra
.me
.REG
[2];
14976 register_static_object(&once_value_460
);
14977 } else fra
.me
.REG
[2] = once_value_460
;
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:278 */
14982 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14983 /* ./../lib/standard//collection//array.nit:280 */
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:233 */
14991 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14992 /* ./../lib/standard//collection//array.nit:280 */
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
, 280);
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:232 */
15006 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
15008 /* ./../lib/standard//collection//array.nit:280 */
15009 REGB0
= TAG_Bool(false);
15012 if (UNTAG_Bool(REGB2
)) {
15014 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
15016 /* ./../lib/standard//collection//array.nit:281 */
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
, 281);
15022 /* ./../lib/standard//collection//array.nit:718 */
15023 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
15024 /* ./../lib/standard//collection//array.nit:281 */
15026 label461
: while(0);
15027 /* ./compiling//compiling_icode.nit:885 */
15028 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15029 if (!once_value_462
) {
15030 fra
.me
.REG
[2] = BOX_NativeString("), sizeof(val_t))");
15031 REGB1
= TAG_Int(17);
15032 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15033 once_value_462
= fra
.me
.REG
[2];
15034 register_static_object(&once_value_462
);
15035 } else fra
.me
.REG
[2] = once_value_462
;
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:886 */
15042 if (!once_value_463
) {
15043 if (!once_value_464
) {
15044 fra
.me
.REG
[6] = BOX_NativeString("calloc_string");
15045 REGB1
= TAG_Int(13);
15046 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15047 once_value_464
= fra
.me
.REG
[6];
15048 register_static_object(&once_value_464
);
15049 } else fra
.me
.REG
[6] = once_value_464
;
15050 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15051 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15052 once_value_463
= fra
.me
.REG
[6];
15053 register_static_object(&once_value_463
);
15054 } else fra
.me
.REG
[6] = once_value_463
;
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:887 */
15064 REGB1
= TAG_Int(3);
15065 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15066 if (!once_value_465
) {
15067 fra
.me
.REG
[2] = BOX_NativeString("BOX_NativeString((char*)raw_alloc((UNTAG_Int(");
15068 REGB1
= TAG_Int(45);
15069 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15070 once_value_465
= fra
.me
.REG
[2];
15071 register_static_object(&once_value_465
);
15072 } else fra
.me
.REG
[2] = once_value_465
;
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:278 */
15077 fra
.me
.REG
[2] = fra
.me
.REG
[4];
15078 /* ./../lib/standard//collection//array.nit:280 */
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:233 */
15086 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
15087 /* ./../lib/standard//collection//array.nit:280 */
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
, 280);
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:232 */
15101 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
15103 /* ./../lib/standard//collection//array.nit:280 */
15104 REGB0
= TAG_Bool(false);
15107 if (UNTAG_Bool(REGB2
)) {
15109 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
15111 /* ./../lib/standard//collection//array.nit:281 */
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
, 281);
15117 /* ./../lib/standard//collection//array.nit:718 */
15118 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
15119 /* ./../lib/standard//collection//array.nit:281 */
15121 label466
: while(0);
15122 /* ./compiling//compiling_icode.nit:887 */
15123 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15124 if (!once_value_467
) {
15125 fra
.me
.REG
[2] = BOX_NativeString(") * sizeof(char))))");
15126 REGB1
= TAG_Int(19);
15127 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15128 once_value_467
= fra
.me
.REG
[2];
15129 register_static_object(&once_value_467
);
15130 } else fra
.me
.REG
[2] = once_value_467
;
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:889 */
15137 if (!once_value_468
) {
15138 if (!once_value_469
) {
15139 fra
.me
.REG
[6] = BOX_NativeString("output_class_name");
15140 REGB1
= TAG_Int(17);
15141 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15142 once_value_469
= fra
.me
.REG
[6];
15143 register_static_object(&once_value_469
);
15144 } else fra
.me
.REG
[6] = once_value_469
;
15145 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15146 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15147 once_value_468
= fra
.me
.REG
[6];
15148 register_static_object(&once_value_468
);
15149 } else fra
.me
.REG
[6] = once_value_468
;
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:890 */
15159 REGB1
= TAG_Int(3);
15160 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15161 if (!once_value_470
) {
15162 fra
.me
.REG
[2] = BOX_NativeString("printf(\"%s\\n\", VAL2VFT(");
15163 REGB1
= TAG_Int(23);
15164 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15165 once_value_470
= fra
.me
.REG
[2];
15166 register_static_object(&once_value_470
);
15167 } else fra
.me
.REG
[2] = once_value_470
;
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(0);
15171 /* ./../lib/standard//collection//array.nit:278 */
15172 fra
.me
.REG
[2] = fra
.me
.REG
[4];
15173 /* ./../lib/standard//collection//array.nit:280 */
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:233 */
15181 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
15182 /* ./../lib/standard//collection//array.nit:280 */
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
, 280);
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:232 */
15196 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
15198 /* ./../lib/standard//collection//array.nit:280 */
15199 REGB0
= TAG_Bool(false);
15202 if (UNTAG_Bool(REGB2
)) {
15204 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
15206 /* ./../lib/standard//collection//array.nit:281 */
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
, 281);
15212 /* ./../lib/standard//collection//array.nit:718 */
15213 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
15214 /* ./../lib/standard//collection//array.nit:281 */
15216 label471
: while(0);
15217 /* ./compiling//compiling_icode.nit:890 */
15218 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15219 if (!once_value_472
) {
15220 fra
.me
.REG
[2] = BOX_NativeString(")[2].cname);");
15221 REGB1
= TAG_Int(12);
15222 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15223 once_value_472
= fra
.me
.REG
[2];
15224 register_static_object(&once_value_472
);
15225 } else fra
.me
.REG
[2] = once_value_472
;
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_473
) {
15233 if (!once_value_474
) {
15234 fra
.me
.REG
[6] = BOX_NativeString("native_class_name");
15235 REGB1
= TAG_Int(17);
15236 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15237 once_value_474
= fra
.me
.REG
[6];
15238 register_static_object(&once_value_474
);
15239 } else fra
.me
.REG
[6] = once_value_474
;
15240 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15241 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15242 once_value_473
= fra
.me
.REG
[6];
15243 register_static_object(&once_value_473
);
15244 } else fra
.me
.REG
[6] = once_value_473
;
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_475
) {
15257 fra
.me
.REG
[3] = BOX_NativeString("BOX_NativeString(VAL2VFT(");
15258 REGB1
= TAG_Int(25);
15259 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
15260 once_value_475
= fra
.me
.REG
[3];
15261 register_static_object(&once_value_475
);
15262 } else fra
.me
.REG
[3] = once_value_475
;
15263 fra
.me
.REG
[3] = fra
.me
.REG
[3];
15264 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
15265 REGB1
= TAG_Int(0);
15266 /* ./../lib/standard//collection//array.nit:280 */
15267 REGB2
= TAG_Int(0);
15268 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15269 if (UNTAG_Bool(REGB0
)) {
15271 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15273 /* ./../lib/standard//kernel.nit:233 */
15274 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
15275 /* ./../lib/standard//collection//array.nit:280 */
15276 if (UNTAG_Bool(REGB2
)) {
15277 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
15278 if (UNTAG_Bool(REGB2
)) {
15280 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
15282 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
15283 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15284 if (UNTAG_Bool(REGB0
)) {
15286 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15288 /* ./../lib/standard//kernel.nit:232 */
15289 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
15291 /* ./../lib/standard//collection//array.nit:280 */
15292 REGB0
= TAG_Bool(false);
15295 if (UNTAG_Bool(REGB2
)) {
15297 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
15299 /* ./../lib/standard//collection//array.nit:281 */
15300 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
15301 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
15302 if (UNTAG_Bool(REGB2
)) {
15303 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
15305 /* ./../lib/standard//collection//array.nit:718 */
15306 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB1
)];
15307 /* ./../lib/standard//collection//array.nit:281 */
15309 label476
: while(0);
15310 /* ./compiling//compiling_icode.nit:893 */
15311 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
15312 if (!once_value_477
) {
15313 fra
.me
.REG
[4] = BOX_NativeString(")[2].cname);");
15314 REGB1
= TAG_Int(12);
15315 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
15316 once_value_477
= fra
.me
.REG
[4];
15317 register_static_object(&once_value_477
);
15318 } else fra
.me
.REG
[4] = once_value_477
;
15319 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15320 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
15321 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15322 fra
.me
.REG
[5] = fra
.me
.REG
[6];
15338 /* ./compiling//compiling_icode.nit:896 */
15339 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
15340 if (UNTAG_Bool(REGB1
)) {
15342 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
15343 if (UNTAG_Bool(REGB2
)) {
15344 REGB2
= TAG_Bool(false);
15347 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
15351 if (UNTAG_Bool(REGB1
)) {
15352 /* ./compiling//compiling_icode.nit:897 */
15353 fra
.me
.REG
[6] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15354 /* ./compiling//compiling_icode.nit:898 */
15355 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
15356 if (UNTAG_Bool(REGB1
)) {
15358 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
15359 if (UNTAG_Bool(REGB2
)) {
15360 REGB2
= TAG_Bool(false);
15363 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
15367 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
15368 if (UNTAG_Bool(REGB1
)) {
15369 REGB1
= TAG_Int(3);
15370 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15371 if (!once_value_478
) {
15372 fra
.me
.REG
[3] = BOX_NativeString("fprintf(stderr, \"");
15373 REGB1
= TAG_Int(17);
15374 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
15375 once_value_478
= fra
.me
.REG
[3];
15376 register_static_object(&once_value_478
);
15377 } else fra
.me
.REG
[3] = once_value_478
;
15378 fra
.me
.REG
[3] = fra
.me
.REG
[3];
15379 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
15380 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
15381 if (UNTAG_Bool(REGB1
)) {
15382 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 898);
15384 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15385 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15386 if (!once_value_479
) {
15387 fra
.me
.REG
[6] = BOX_NativeString(": \");");
15388 REGB1
= TAG_Int(5);
15389 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15390 once_value_479
= fra
.me
.REG
[6];
15391 register_static_object(&once_value_479
);
15392 } else fra
.me
.REG
[6] = once_value_479
;
15393 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15394 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15395 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
15396 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
15398 /* ./compiling//compiling_icode.nit:899 */
15399 REGB1
= TAG_Int(3);
15400 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15401 if (!once_value_480
) {
15402 fra
.me
.REG
[6] = BOX_NativeString("fprintf(stderr, \"Fatal error: unknown intern method ");
15403 REGB1
= TAG_Int(52);
15404 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15405 once_value_480
= fra
.me
.REG
[6];
15406 register_static_object(&once_value_480
);
15407 } else fra
.me
.REG
[6] = once_value_480
;
15408 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15409 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15410 fra
.me
.REG
[6] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15411 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15412 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15413 if (!once_value_481
) {
15414 fra
.me
.REG
[6] = BOX_NativeString(".\\n\");");
15415 REGB1
= TAG_Int(6);
15416 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15417 once_value_481
= fra
.me
.REG
[6];
15418 register_static_object(&once_value_481
);
15419 } else fra
.me
.REG
[6] = once_value_481
;
15420 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15421 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15422 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
15423 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
15424 /* ./compiling//compiling_icode.nit:900 */
15425 if (!once_value_482
) {
15426 fra
.me
.REG
[4] = BOX_NativeString("nit_exit(1);");
15427 REGB1
= TAG_Int(12);
15428 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
15429 once_value_482
= fra
.me
.REG
[4];
15430 register_static_object(&once_value_482
);
15431 } else fra
.me
.REG
[4] = once_value_482
;
15432 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15433 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
15434 /* ./compiling//compiling_icode.nit:901 */
15435 if (!once_value_483
) {
15436 fra
.me
.REG
[4] = BOX_NativeString("NIT_NULL");
15437 REGB1
= TAG_Int(8);
15438 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
15439 once_value_483
= fra
.me
.REG
[4];
15440 register_static_object(&once_value_483
);
15441 } else fra
.me
.REG
[4] = once_value_483
;
15442 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15443 fra
.me
.REG
[5] = fra
.me
.REG
[4];
15445 /* ./compiling//compiling_icode.nit:903 */
15446 fra
.me
.REG
[4] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15447 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
15448 if (UNTAG_Bool(REGB1
)) {
15450 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
15451 if (UNTAG_Bool(REGB2
)) {
15452 REGB2
= TAG_Bool(false);
15455 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
15459 if (UNTAG_Bool(REGB1
)) {
15460 /* ./compiling//compiling_icode.nit:904 */
15461 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15462 fra
.me
.REG
[4] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
15463 if (!once_value_484
) {
15464 fra
.me
.REG
[6] = BOX_NativeString(";\n");
15465 REGB1
= TAG_Int(2);
15466 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15467 once_value_484
= fra
.me
.REG
[6];
15468 register_static_object(&once_value_484
);
15469 } else fra
.me
.REG
[6] = once_value_484
;
15470 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15471 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15473 /* ./compiling//compiling_icode.nit:905 */
15474 REGB1
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15475 if (UNTAG_Bool(REGB1
)) {
15476 /* ./compiling//compiling_icode.nit:906 */
15477 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15478 /* ./compiling//compiling_icode.nit:907 */
15479 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
15482 stack_frame_head
= fra
.me
.prev
;
15485 void compiling___compiling_icode___IIntValue___compile_to_c(val_t p0
, val_t p1
){
15486 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15489 static val_t once_value_1
; /* Once value */
15490 static val_t once_value_2
; /* Once value */
15491 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15492 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15494 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IIntValue___compile_to_c
;
15495 fra
.me
.has_broke
= 0;
15496 fra
.me
.REG_size
= 3;
15497 fra
.me
.nitni_local_ref_head
= NULL
;
15498 fra
.me
.REG
[0] = NIT_NULL
;
15499 fra
.me
.REG
[1] = NIT_NULL
;
15500 fra
.me
.REG
[2] = NIT_NULL
;
15501 fra
.me
.REG
[0] = p0
;
15502 fra
.me
.REG
[1] = p1
;
15503 /* ./compiling//compiling_icode.nit:915 */
15504 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15505 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15506 /* ./compiling//compiling_icode.nit:916 */
15507 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15508 /* ./compiling//compiling_icode.nit:917 */
15509 if (!once_value_1
) {
15510 fra
.me
.REG
[2] = BOX_NativeString("TAG_Int(");
15511 REGB0
= TAG_Int(8);
15512 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15513 once_value_1
= fra
.me
.REG
[2];
15514 register_static_object(&once_value_1
);
15515 } else fra
.me
.REG
[2] = once_value_1
;
15516 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15517 fra
.me
.REG
[2] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15518 fra
.me
.REG
[0] = CALL_icode___icode_base___IIntValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15519 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15520 fra
.me
.REG
[0] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15521 if (!once_value_2
) {
15522 fra
.me
.REG
[2] = BOX_NativeString(")");
15523 REGB0
= TAG_Int(1);
15524 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15525 once_value_2
= fra
.me
.REG
[2];
15526 register_static_object(&once_value_2
);
15527 } else fra
.me
.REG
[2] = once_value_2
;
15528 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15529 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
15530 stack_frame_head
= fra
.me
.prev
;
15533 void compiling___compiling_icode___IBoolValue___compile_to_c(val_t p0
, val_t p1
){
15534 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15537 static val_t once_value_1
; /* Once value */
15538 static val_t once_value_2
; /* Once value */
15539 static val_t once_value_3
; /* Once value */
15540 static val_t once_value_4
; /* Once value */
15541 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15542 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15544 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IBoolValue___compile_to_c
;
15545 fra
.me
.has_broke
= 0;
15546 fra
.me
.REG_size
= 3;
15547 fra
.me
.nitni_local_ref_head
= NULL
;
15548 fra
.me
.REG
[0] = NIT_NULL
;
15549 fra
.me
.REG
[1] = NIT_NULL
;
15550 fra
.me
.REG
[2] = NIT_NULL
;
15551 fra
.me
.REG
[0] = p0
;
15552 fra
.me
.REG
[1] = p1
;
15553 /* ./compiling//compiling_icode.nit:924 */
15554 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15555 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15556 /* ./compiling//compiling_icode.nit:925 */
15557 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15558 /* ./compiling//compiling_icode.nit:926 */
15559 if (!once_value_1
) {
15560 fra
.me
.REG
[2] = BOX_NativeString("TAG_Bool(");
15561 REGB0
= TAG_Int(9);
15562 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15563 once_value_1
= fra
.me
.REG
[2];
15564 register_static_object(&once_value_1
);
15565 } else fra
.me
.REG
[2] = once_value_1
;
15566 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15567 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15568 /* ./compiling//compiling_icode.nit:927 */
15569 REGB0
= CALL_icode___icode_base___IBoolValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15570 if (UNTAG_Bool(REGB0
)) {
15571 if (!once_value_2
) {
15572 fra
.me
.REG
[0] = BOX_NativeString("true");
15573 REGB0
= TAG_Int(4);
15574 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
15575 once_value_2
= fra
.me
.REG
[0];
15576 register_static_object(&once_value_2
);
15577 } else fra
.me
.REG
[0] = once_value_2
;
15578 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15579 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15581 if (!once_value_3
) {
15582 fra
.me
.REG
[0] = BOX_NativeString("false");
15583 REGB0
= TAG_Int(5);
15584 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
15585 once_value_3
= fra
.me
.REG
[0];
15586 register_static_object(&once_value_3
);
15587 } else fra
.me
.REG
[0] = once_value_3
;
15588 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15589 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15591 /* ./compiling//compiling_icode.nit:928 */
15592 if (!once_value_4
) {
15593 fra
.me
.REG
[0] = BOX_NativeString(")");
15594 REGB0
= TAG_Int(1);
15595 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
15596 once_value_4
= fra
.me
.REG
[0];
15597 register_static_object(&once_value_4
);
15598 } else fra
.me
.REG
[0] = once_value_4
;
15599 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15600 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15601 stack_frame_head
= fra
.me
.prev
;
15604 void compiling___compiling_icode___ICharValue___compile_to_c(val_t p0
, val_t p1
){
15605 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15608 static val_t once_value_1
; /* Once value */
15609 static val_t once_value_2
; /* Once value */
15610 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15611 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15613 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICharValue___compile_to_c
;
15614 fra
.me
.has_broke
= 0;
15615 fra
.me
.REG_size
= 3;
15616 fra
.me
.nitni_local_ref_head
= NULL
;
15617 fra
.me
.REG
[0] = NIT_NULL
;
15618 fra
.me
.REG
[1] = NIT_NULL
;
15619 fra
.me
.REG
[2] = NIT_NULL
;
15620 fra
.me
.REG
[0] = p0
;
15621 fra
.me
.REG
[1] = p1
;
15622 /* ./compiling//compiling_icode.nit:935 */
15623 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15624 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15625 /* ./compiling//compiling_icode.nit:936 */
15626 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15627 /* ./compiling//compiling_icode.nit:937 */
15628 if (!once_value_1
) {
15629 fra
.me
.REG
[2] = BOX_NativeString("TAG_Char(");
15630 REGB0
= TAG_Int(9);
15631 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15632 once_value_1
= fra
.me
.REG
[2];
15633 register_static_object(&once_value_1
);
15634 } else fra
.me
.REG
[2] = once_value_1
;
15635 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15636 fra
.me
.REG
[2] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15637 fra
.me
.REG
[0] = CALL_icode___icode_base___ICharValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15638 fra
.me
.REG
[0] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15639 if (!once_value_2
) {
15640 fra
.me
.REG
[2] = BOX_NativeString(")");
15641 REGB0
= TAG_Int(1);
15642 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15643 once_value_2
= fra
.me
.REG
[2];
15644 register_static_object(&once_value_2
);
15645 } else fra
.me
.REG
[2] = once_value_2
;
15646 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15647 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
15648 stack_frame_head
= fra
.me
.prev
;
15651 void compiling___compiling_icode___IFloatValue___compile_to_c(val_t p0
, val_t p1
){
15652 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15655 static val_t once_value_1
; /* Once value */
15656 static val_t once_value_2
; /* Once value */
15657 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15658 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15660 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IFloatValue___compile_to_c
;
15661 fra
.me
.has_broke
= 0;
15662 fra
.me
.REG_size
= 3;
15663 fra
.me
.nitni_local_ref_head
= NULL
;
15664 fra
.me
.REG
[0] = NIT_NULL
;
15665 fra
.me
.REG
[1] = NIT_NULL
;
15666 fra
.me
.REG
[2] = NIT_NULL
;
15667 fra
.me
.REG
[0] = p0
;
15668 fra
.me
.REG
[1] = p1
;
15669 /* ./compiling//compiling_icode.nit:944 */
15670 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15671 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15672 /* ./compiling//compiling_icode.nit:945 */
15673 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15674 /* ./compiling//compiling_icode.nit:946 */
15675 if (!once_value_1
) {
15676 fra
.me
.REG
[2] = BOX_NativeString("BOX_Float(");
15677 REGB0
= TAG_Int(10);
15678 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15679 once_value_1
= fra
.me
.REG
[2];
15680 register_static_object(&once_value_1
);
15681 } else fra
.me
.REG
[2] = once_value_1
;
15682 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15683 fra
.me
.REG
[2] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15684 fra
.me
.REG
[0] = CALL_icode___icode_base___IFloatValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15685 fra
.me
.REG
[0] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15686 if (!once_value_2
) {
15687 fra
.me
.REG
[2] = BOX_NativeString(")");
15688 REGB0
= TAG_Int(1);
15689 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15690 once_value_2
= fra
.me
.REG
[2];
15691 register_static_object(&once_value_2
);
15692 } else fra
.me
.REG
[2] = once_value_2
;
15693 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15694 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
15695 stack_frame_head
= fra
.me
.prev
;
15698 void compiling___compiling_icode___IStringValue___compile_to_c(val_t p0
, val_t p1
){
15699 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15702 static val_t once_value_1
; /* Once value */
15703 static val_t once_value_2
; /* Once value */
15704 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15705 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15707 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IStringValue___compile_to_c
;
15708 fra
.me
.has_broke
= 0;
15709 fra
.me
.REG_size
= 3;
15710 fra
.me
.nitni_local_ref_head
= NULL
;
15711 fra
.me
.REG
[0] = NIT_NULL
;
15712 fra
.me
.REG
[1] = NIT_NULL
;
15713 fra
.me
.REG
[2] = NIT_NULL
;
15714 fra
.me
.REG
[0] = p0
;
15715 fra
.me
.REG
[1] = p1
;
15716 /* ./compiling//compiling_icode.nit:953 */
15717 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15718 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15719 /* ./compiling//compiling_icode.nit:954 */
15720 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15721 /* ./compiling//compiling_icode.nit:955 */
15722 if (!once_value_1
) {
15723 fra
.me
.REG
[2] = BOX_NativeString("BOX_NativeString(\"");
15724 REGB0
= TAG_Int(18);
15725 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15726 once_value_1
= fra
.me
.REG
[2];
15727 register_static_object(&once_value_1
);
15728 } else fra
.me
.REG
[2] = once_value_1
;
15729 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15730 fra
.me
.REG
[2] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15731 fra
.me
.REG
[0] = CALL_icode___icode_base___IStringValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15732 fra
.me
.REG
[0] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15733 if (!once_value_2
) {
15734 fra
.me
.REG
[2] = BOX_NativeString("\")");
15735 REGB0
= TAG_Int(2);
15736 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15737 once_value_2
= fra
.me
.REG
[2];
15738 register_static_object(&once_value_2
);
15739 } else fra
.me
.REG
[2] = once_value_2
;
15740 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15741 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
15742 stack_frame_head
= fra
.me
.prev
;
15745 void compiling___compiling_icode___IAbort___compile_to_c(val_t p0
, val_t p1
){
15746 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15751 static val_t once_value_1
; /* Once value */
15752 static val_t once_value_3
; /* Once value */
15753 static val_t once_value_5
; /* Once value */
15754 static val_t once_value_6
; /* Once value */
15755 static val_t once_value_7
; /* Once value */
15756 static val_t once_value_8
; /* Once value */
15757 static val_t once_value_9
; /* Once value */
15758 static val_t once_value_10
; /* Once value */
15759 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15760 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15762 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAbort___compile_to_c
;
15763 fra
.me
.has_broke
= 0;
15764 fra
.me
.REG_size
= 3;
15765 fra
.me
.nitni_local_ref_head
= NULL
;
15766 fra
.me
.REG
[0] = NIT_NULL
;
15767 fra
.me
.REG
[1] = NIT_NULL
;
15768 fra
.me
.REG
[2] = NIT_NULL
;
15769 fra
.me
.REG
[0] = p0
;
15770 fra
.me
.REG
[1] = p1
;
15771 /* ./compiling//compiling_icode.nit:962 */
15772 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15773 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15774 /* ./compiling//compiling_icode.nit:963 */
15775 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15776 /* ./compiling//compiling_icode.nit:964 */
15777 if (!once_value_1
) {
15778 fra
.me
.REG
[2] = BOX_NativeString("nit_abort(\"");
15779 REGB0
= TAG_Int(11);
15780 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15781 once_value_1
= fra
.me
.REG
[2];
15782 register_static_object(&once_value_1
);
15783 } else fra
.me
.REG
[2] = once_value_1
;
15784 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15785 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15786 /* ./compiling//compiling_icode.nit:965 */
15787 fra
.me
.REG
[2] = CALL_icode___icode_base___IAbort___texts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15788 REGB0
= TAG_Int(0);
15789 /* ./../lib/standard//collection//array.nit:280 */
15790 REGB1
= TAG_Int(0);
15791 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
15792 if (UNTAG_Bool(REGB2
)) {
15794 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15796 /* ./../lib/standard//kernel.nit:233 */
15797 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
15798 /* ./../lib/standard//collection//array.nit:280 */
15799 if (UNTAG_Bool(REGB1
)) {
15800 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
15801 if (UNTAG_Bool(REGB1
)) {
15803 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
15805 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
15806 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
15807 if (UNTAG_Bool(REGB2
)) {
15809 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15811 /* ./../lib/standard//kernel.nit:232 */
15812 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
15814 /* ./../lib/standard//collection//array.nit:280 */
15815 REGB2
= TAG_Bool(false);
15818 if (UNTAG_Bool(REGB1
)) {
15820 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
15822 /* ./../lib/standard//collection//array.nit:281 */
15823 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
15824 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
15825 if (UNTAG_Bool(REGB1
)) {
15826 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
15828 /* ./../lib/standard//collection//array.nit:718 */
15829 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
15830 /* ./../lib/standard//collection//array.nit:281 */
15833 /* ./compiling//compiling_icode.nit:965 */
15834 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15835 /* ./compiling//compiling_icode.nit:966 */
15836 fra
.me
.REG
[2] = CALL_icode___icode_base___IAbort___texts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15837 /* ./../lib/standard//collection//array.nit:24 */
15838 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
15839 if (UNTAG_Bool(REGB0
)) {
15841 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
15843 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
15844 /* ./compiling//compiling_icode.nit:966 */
15845 REGB1
= TAG_Int(1);
15846 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
15847 if (UNTAG_Bool(REGB2
)) {
15849 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15851 /* ./../lib/standard//kernel.nit:234 */
15852 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
15853 /* ./compiling//compiling_icode.nit:966 */
15854 if (UNTAG_Bool(REGB1
)) {
15855 /* ./compiling//compiling_icode.nit:967 */
15856 if (!once_value_3
) {
15857 fra
.me
.REG
[2] = BOX_NativeString("\", \"");
15858 REGB1
= TAG_Int(4);
15859 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15860 once_value_3
= fra
.me
.REG
[2];
15861 register_static_object(&once_value_3
);
15862 } else fra
.me
.REG
[2] = once_value_3
;
15863 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15864 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15865 /* ./compiling//compiling_icode.nit:968 */
15866 fra
.me
.REG
[2] = CALL_icode___icode_base___IAbort___texts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15867 REGB1
= TAG_Int(1);
15868 /* ./../lib/standard//collection//array.nit:280 */
15869 REGB0
= TAG_Int(0);
15870 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15871 if (UNTAG_Bool(REGB2
)) {
15873 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15875 /* ./../lib/standard//kernel.nit:233 */
15876 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
15877 /* ./../lib/standard//collection//array.nit:280 */
15878 if (UNTAG_Bool(REGB0
)) {
15879 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
15880 if (UNTAG_Bool(REGB0
)) {
15882 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
15884 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
15885 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15886 if (UNTAG_Bool(REGB2
)) {
15888 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15890 /* ./../lib/standard//kernel.nit:232 */
15891 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
15893 /* ./../lib/standard//collection//array.nit:280 */
15894 REGB2
= TAG_Bool(false);
15897 if (UNTAG_Bool(REGB0
)) {
15899 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
15901 /* ./../lib/standard//collection//array.nit:281 */
15902 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
15903 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
15904 if (UNTAG_Bool(REGB0
)) {
15905 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
15907 /* ./../lib/standard//collection//array.nit:718 */
15908 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
15909 /* ./../lib/standard//collection//array.nit:281 */
15912 /* ./compiling//compiling_icode.nit:968 */
15913 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15914 /* ./compiling//compiling_icode.nit:969 */
15915 if (!once_value_5
) {
15916 fra
.me
.REG
[2] = BOX_NativeString("\"");
15917 REGB1
= TAG_Int(1);
15918 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15919 once_value_5
= fra
.me
.REG
[2];
15920 register_static_object(&once_value_5
);
15921 } else fra
.me
.REG
[2] = once_value_5
;
15922 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15923 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15925 /* ./compiling//compiling_icode.nit:971 */
15926 if (!once_value_6
) {
15927 fra
.me
.REG
[2] = BOX_NativeString("\", NULL");
15928 REGB1
= TAG_Int(7);
15929 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15930 once_value_6
= fra
.me
.REG
[2];
15931 register_static_object(&once_value_6
);
15932 } else fra
.me
.REG
[2] = once_value_6
;
15933 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15934 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15936 /* ./compiling//compiling_icode.nit:973 */
15937 if (!once_value_7
) {
15938 fra
.me
.REG
[2] = BOX_NativeString(", LOCATE_");
15939 REGB1
= TAG_Int(9);
15940 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15941 once_value_7
= fra
.me
.REG
[2];
15942 register_static_object(&once_value_7
);
15943 } else fra
.me
.REG
[2] = once_value_7
;
15944 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15945 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15946 /* ./compiling//compiling_icode.nit:974 */
15947 fra
.me
.REG
[2] = CALL_icode___icode_base___IAbort___module_location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15948 fra
.me
.REG
[2] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
15949 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15950 /* ./compiling//compiling_icode.nit:975 */
15951 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15952 /* ./compiling//compiling_icode.nit:976 */
15953 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
15954 if (UNTAG_Bool(REGB1
)) {
15956 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
15957 if (UNTAG_Bool(REGB0
)) {
15958 REGB0
= TAG_Bool(false);
15961 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
15965 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
15966 if (UNTAG_Bool(REGB1
)) {
15967 /* ./compiling//compiling_icode.nit:977 */
15968 if (!once_value_8
) {
15969 fra
.me
.REG
[2] = BOX_NativeString(", ");
15970 REGB1
= TAG_Int(2);
15971 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15972 once_value_8
= fra
.me
.REG
[2];
15973 register_static_object(&once_value_8
);
15974 } else fra
.me
.REG
[2] = once_value_8
;
15975 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15976 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15977 /* ./compiling//compiling_icode.nit:978 */
15978 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
15979 if (UNTAG_Bool(REGB1
)) {
15980 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 978);
15982 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15983 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
15984 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15986 /* ./compiling//compiling_icode.nit:980 */
15987 if (!once_value_9
) {
15988 fra
.me
.REG
[0] = BOX_NativeString(", 0");
15989 REGB1
= TAG_Int(3);
15990 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB1
);
15991 once_value_9
= fra
.me
.REG
[0];
15992 register_static_object(&once_value_9
);
15993 } else fra
.me
.REG
[0] = once_value_9
;
15994 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15995 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15997 /* ./compiling//compiling_icode.nit:982 */
15998 if (!once_value_10
) {
15999 fra
.me
.REG
[0] = BOX_NativeString(");\n");
16000 REGB1
= TAG_Int(3);
16001 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB1
);
16002 once_value_10
= fra
.me
.REG
[0];
16003 register_static_object(&once_value_10
);
16004 } else fra
.me
.REG
[0] = once_value_10
;
16005 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16006 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16007 stack_frame_head
= fra
.me
.prev
;
16010 void compiling___compiling_icode___IMove___compile_to_c(val_t p0
, val_t p1
){
16011 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
16015 static val_t once_value_2
; /* Once value */
16016 static val_t once_value_3
; /* Once value */
16017 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16018 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16020 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IMove___compile_to_c
;
16021 fra
.me
.has_broke
= 0;
16022 fra
.me
.REG_size
= 5;
16023 fra
.me
.nitni_local_ref_head
= NULL
;
16024 fra
.me
.REG
[0] = NIT_NULL
;
16025 fra
.me
.REG
[1] = NIT_NULL
;
16026 fra
.me
.REG
[2] = NIT_NULL
;
16027 fra
.me
.REG
[3] = NIT_NULL
;
16028 fra
.me
.REG
[4] = NIT_NULL
;
16029 fra
.me
.REG
[0] = p0
;
16030 fra
.me
.REG
[1] = p1
;
16031 /* ./compiling//compiling_icode.nit:987 */
16032 fra
.me
.REG
[2] = fra
.me
.REG
[0];
16033 /* ./compiling//compiling_icode.nit:989 */
16034 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
16035 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16036 if (UNTAG_Bool(REGB0
)) {
16039 /* ./compiling//compiling_icode.nit:990 */
16040 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
16041 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16042 /* ./compiling//compiling_icode.nit:991 */
16043 fra
.me
.REG
[4] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
16044 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*/;
16045 if (UNTAG_Bool(REGB0
)) {
16047 nit_abort("Cast failed", NULL
, LOCATE_compiling___compiling_icode
, 991);
16049 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
16050 /* ./compiling//compiling_icode.nit:992 */
16051 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
16052 if (UNTAG_Bool(REGB0
)) {
16054 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16057 if (UNTAG_Bool(REGB0
)) {
16060 /* ./compiling//compiling_icode.nit:993 */
16061 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
16062 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16063 /* ./compiling//compiling_icode.nit:994 */
16064 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16065 /* ./compiling//compiling_icode.nit:995 */
16066 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
16067 /* ./compiling//compiling_icode.nit:996 */
16068 if (!once_value_2
) {
16069 fra
.me
.REG
[4] = BOX_NativeString(" = ");
16070 REGB0
= TAG_Int(3);
16071 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16072 once_value_2
= fra
.me
.REG
[4];
16073 register_static_object(&once_value_2
);
16074 } else fra
.me
.REG
[4] = once_value_2
;
16075 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16076 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
16077 /* ./compiling//compiling_icode.nit:997 */
16078 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16079 /* ./compiling//compiling_icode.nit:998 */
16080 if (!once_value_3
) {
16081 fra
.me
.REG
[3] = BOX_NativeString(";\n");
16082 REGB0
= TAG_Int(2);
16083 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16084 once_value_3
= fra
.me
.REG
[3];
16085 register_static_object(&once_value_3
);
16086 } else fra
.me
.REG
[3] = once_value_3
;
16087 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16088 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16090 stack_frame_head
= fra
.me
.prev
;
16093 void compiling___compiling_icode___IAttrRead___compile_to_c(val_t p0
, val_t p1
){
16094 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
16097 static val_t once_value_2
; /* Once value */
16098 static val_t once_value_3
; /* Once value */
16099 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16100 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16101 fra
.me
.line
= 1003;
16102 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAttrRead___compile_to_c
;
16103 fra
.me
.has_broke
= 0;
16104 fra
.me
.REG_size
= 4;
16105 fra
.me
.nitni_local_ref_head
= NULL
;
16106 fra
.me
.REG
[0] = NIT_NULL
;
16107 fra
.me
.REG
[1] = NIT_NULL
;
16108 fra
.me
.REG
[2] = NIT_NULL
;
16109 fra
.me
.REG
[3] = NIT_NULL
;
16110 fra
.me
.REG
[0] = p0
;
16111 fra
.me
.REG
[1] = p1
;
16112 /* ./compiling//compiling_icode.nit:1005 */
16113 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16114 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16115 if (UNTAG_Bool(REGB0
)) {
16118 /* ./compiling//compiling_icode.nit:1006 */
16119 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16120 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16121 /* ./compiling//compiling_icode.nit:1007 */
16122 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
16123 /* ./compiling//compiling_icode.nit:1008 */
16124 fra
.me
.REG
[3] = CALL_icode___icode_base___IAttrRead___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16125 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16126 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMGlobalProperty___attr_access(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16127 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16128 /* ./compiling//compiling_icode.nit:1009 */
16129 if (!once_value_2
) {
16130 fra
.me
.REG
[3] = BOX_NativeString("(");
16131 REGB0
= TAG_Int(1);
16132 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16133 once_value_2
= fra
.me
.REG
[3];
16134 register_static_object(&once_value_2
);
16135 } else fra
.me
.REG
[3] = once_value_2
;
16136 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16137 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16138 /* ./compiling//compiling_icode.nit:1010 */
16139 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16140 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16141 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16142 /* ./compiling//compiling_icode.nit:1011 */
16143 if (!once_value_3
) {
16144 fra
.me
.REG
[0] = BOX_NativeString(")");
16145 REGB0
= TAG_Int(1);
16146 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16147 once_value_3
= fra
.me
.REG
[0];
16148 register_static_object(&once_value_3
);
16149 } else fra
.me
.REG
[0] = once_value_3
;
16150 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16151 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16153 stack_frame_head
= fra
.me
.prev
;
16156 void compiling___compiling_icode___IAttrIsset___compile_to_c(val_t p0
, val_t p1
){
16157 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
16160 static val_t once_value_2
; /* Once value */
16161 static val_t once_value_3
; /* Once value */
16162 static val_t once_value_4
; /* Once value */
16163 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16164 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16165 fra
.me
.line
= 1016;
16166 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAttrIsset___compile_to_c
;
16167 fra
.me
.has_broke
= 0;
16168 fra
.me
.REG_size
= 4;
16169 fra
.me
.nitni_local_ref_head
= NULL
;
16170 fra
.me
.REG
[0] = NIT_NULL
;
16171 fra
.me
.REG
[1] = NIT_NULL
;
16172 fra
.me
.REG
[2] = NIT_NULL
;
16173 fra
.me
.REG
[3] = NIT_NULL
;
16174 fra
.me
.REG
[0] = p0
;
16175 fra
.me
.REG
[1] = p1
;
16176 /* ./compiling//compiling_icode.nit:1018 */
16177 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16178 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16179 if (UNTAG_Bool(REGB0
)) {
16182 /* ./compiling//compiling_icode.nit:1019 */
16183 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16184 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16185 /* ./compiling//compiling_icode.nit:1020 */
16186 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
16187 /* ./compiling//compiling_icode.nit:1021 */
16188 if (!once_value_2
) {
16189 fra
.me
.REG
[3] = BOX_NativeString("TAG_Bool(");
16190 REGB0
= TAG_Int(9);
16191 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16192 once_value_2
= fra
.me
.REG
[3];
16193 register_static_object(&once_value_2
);
16194 } else fra
.me
.REG
[3] = once_value_2
;
16195 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16196 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16197 /* ./compiling//compiling_icode.nit:1022 */
16198 fra
.me
.REG
[3] = CALL_icode___icode_base___IAttrIsset___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16199 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16200 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMGlobalProperty___attr_access(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16201 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16202 /* ./compiling//compiling_icode.nit:1023 */
16203 if (!once_value_3
) {
16204 fra
.me
.REG
[3] = BOX_NativeString("(");
16205 REGB0
= TAG_Int(1);
16206 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16207 once_value_3
= fra
.me
.REG
[3];
16208 register_static_object(&once_value_3
);
16209 } else fra
.me
.REG
[3] = once_value_3
;
16210 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16211 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16212 /* ./compiling//compiling_icode.nit:1024 */
16213 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16214 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16215 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16216 /* ./compiling//compiling_icode.nit:1025 */
16217 if (!once_value_4
) {
16218 fra
.me
.REG
[0] = BOX_NativeString(")!=NIT_NULL)");
16219 REGB0
= TAG_Int(12);
16220 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16221 once_value_4
= fra
.me
.REG
[0];
16222 register_static_object(&once_value_4
);
16223 } else fra
.me
.REG
[0] = once_value_4
;
16224 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16225 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16227 stack_frame_head
= fra
.me
.prev
;
16230 void compiling___compiling_icode___IAttrWrite___compile_to_c(val_t p0
, val_t p1
){
16231 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
16234 static val_t once_value_1
; /* Once value */
16235 static val_t once_value_2
; /* Once value */
16236 static val_t once_value_3
; /* Once value */
16237 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16238 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16239 fra
.me
.line
= 1030;
16240 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAttrWrite___compile_to_c
;
16241 fra
.me
.has_broke
= 0;
16242 fra
.me
.REG_size
= 4;
16243 fra
.me
.nitni_local_ref_head
= NULL
;
16244 fra
.me
.REG
[0] = NIT_NULL
;
16245 fra
.me
.REG
[1] = NIT_NULL
;
16246 fra
.me
.REG
[2] = NIT_NULL
;
16247 fra
.me
.REG
[3] = NIT_NULL
;
16248 fra
.me
.REG
[0] = p0
;
16249 fra
.me
.REG
[1] = p1
;
16250 /* ./compiling//compiling_icode.nit:1032 */
16251 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16252 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16253 /* ./compiling//compiling_icode.nit:1033 */
16254 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16255 /* ./compiling//compiling_icode.nit:1034 */
16256 fra
.me
.REG
[3] = CALL_icode___icode_base___IAttrWrite___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16257 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16258 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMGlobalProperty___attr_access(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16259 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16260 /* ./compiling//compiling_icode.nit:1035 */
16261 if (!once_value_1
) {
16262 fra
.me
.REG
[3] = BOX_NativeString("(");
16263 REGB0
= TAG_Int(1);
16264 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16265 once_value_1
= fra
.me
.REG
[3];
16266 register_static_object(&once_value_1
);
16267 } else fra
.me
.REG
[3] = once_value_1
;
16268 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16269 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16270 /* ./compiling//compiling_icode.nit:1036 */
16271 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16272 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16273 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16274 /* ./compiling//compiling_icode.nit:1037 */
16275 if (!once_value_2
) {
16276 fra
.me
.REG
[3] = BOX_NativeString(") = ");
16277 REGB0
= TAG_Int(4);
16278 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16279 once_value_2
= fra
.me
.REG
[3];
16280 register_static_object(&once_value_2
);
16281 } else fra
.me
.REG
[3] = once_value_2
;
16282 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16283 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16284 /* ./compiling//compiling_icode.nit:1038 */
16285 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16286 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16287 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16288 /* ./compiling//compiling_icode.nit:1039 */
16289 if (!once_value_3
) {
16290 fra
.me
.REG
[0] = BOX_NativeString(";\n");
16291 REGB0
= TAG_Int(2);
16292 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16293 once_value_3
= fra
.me
.REG
[0];
16294 register_static_object(&once_value_3
);
16295 } else fra
.me
.REG
[0] = once_value_3
;
16296 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16297 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16298 stack_frame_head
= fra
.me
.prev
;
16301 void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0
, val_t p1
){
16302 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
16306 static val_t once_value_2
; /* Once value */
16307 static val_t once_value_3
; /* Once value */
16308 static val_t once_value_4
; /* Once value */
16309 static val_t once_value_5
; /* Once value */
16310 static val_t once_value_6
; /* Once value */
16311 static val_t once_value_7
; /* Once value */
16312 static val_t once_value_8
; /* Once value */
16313 static val_t once_value_9
; /* Once value */
16314 static val_t once_value_10
; /* Once value */
16315 static val_t once_value_11
; /* Once value */
16316 static val_t once_value_12
; /* Once value */
16317 static val_t once_value_13
; /* Once value */
16318 static val_t once_value_14
; /* Once value */
16319 static val_t once_value_15
; /* Once value */
16320 static val_t once_value_16
; /* Once value */
16321 static val_t once_value_17
; /* Once value */
16322 static val_t once_value_18
; /* Once value */
16323 static val_t once_value_19
; /* Once value */
16324 static val_t once_value_20
; /* Once value */
16325 static val_t once_value_21
; /* Once value */
16326 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16327 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16328 fra
.me
.line
= 1044;
16329 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ITypeCheck___compile_to_c
;
16330 fra
.me
.has_broke
= 0;
16331 fra
.me
.REG_size
= 6;
16332 fra
.me
.nitni_local_ref_head
= NULL
;
16333 fra
.me
.REG
[0] = NIT_NULL
;
16334 fra
.me
.REG
[1] = NIT_NULL
;
16335 fra
.me
.REG
[2] = NIT_NULL
;
16336 fra
.me
.REG
[3] = NIT_NULL
;
16337 fra
.me
.REG
[4] = NIT_NULL
;
16338 fra
.me
.REG
[5] = NIT_NULL
;
16339 fra
.me
.REG
[0] = p0
;
16340 fra
.me
.REG
[1] = p1
;
16341 /* ./compiling//compiling_icode.nit:1046 */
16342 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16343 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16344 if (UNTAG_Bool(REGB0
)) {
16347 /* ./compiling//compiling_icode.nit:1047 */
16348 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16349 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16350 /* ./compiling//compiling_icode.nit:1048 */
16351 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16352 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16353 /* ./compiling//compiling_icode.nit:1049 */
16354 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
16355 /* ./compiling//compiling_icode.nit:1050 */
16356 if (!once_value_2
) {
16357 fra
.me
.REG
[4] = BOX_NativeString("TAG_Bool(");
16358 REGB0
= TAG_Int(9);
16359 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16360 once_value_2
= fra
.me
.REG
[4];
16361 register_static_object(&once_value_2
);
16362 } else fra
.me
.REG
[4] = once_value_2
;
16363 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16364 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16365 /* ./compiling//compiling_icode.nit:1051 */
16366 fra
.me
.REG
[4] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16367 fra
.me
.REG
[4] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16368 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16369 if (UNTAG_Bool(REGB0
)) {
16370 /* ./compiling//compiling_icode.nit:1052 */
16371 fra
.me
.REG
[4] = CALL_icode___icode_base___ITypeCheck___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16372 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16373 if (UNTAG_Bool(REGB0
)) {
16374 /* ./compiling//compiling_icode.nit:1053 */
16375 if (!once_value_3
) {
16376 fra
.me
.REG
[4] = BOX_NativeString("(");
16377 REGB0
= TAG_Int(1);
16378 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16379 once_value_3
= fra
.me
.REG
[4];
16380 register_static_object(&once_value_3
);
16381 } else fra
.me
.REG
[4] = once_value_3
;
16382 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16383 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16384 /* ./compiling//compiling_icode.nit:1054 */
16385 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16386 /* ./compiling//compiling_icode.nit:1055 */
16387 if (!once_value_4
) {
16388 fra
.me
.REG
[4] = BOX_NativeString("==NIT_NULL) || ");
16389 REGB0
= TAG_Int(15);
16390 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16391 once_value_4
= fra
.me
.REG
[4];
16392 register_static_object(&once_value_4
);
16393 } else fra
.me
.REG
[4] = once_value_4
;
16394 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16395 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16397 /* ./compiling//compiling_icode.nit:1056 */
16398 fra
.me
.REG
[4] = CALL_icode___icode_base___ITypeCheck___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16399 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMType___as_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16400 fra
.me
.REG
[5] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16401 fra
.me
.REG
[5] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
16402 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[4],fra
.me
.REG
[5]));
16403 if (UNTAG_Bool(REGB0
)) {
16405 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
16408 if (UNTAG_Bool(REGB0
)) {
16409 /* ./compiling//compiling_icode.nit:1057 */
16410 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16411 /* ./compiling//compiling_icode.nit:1058 */
16412 if (!once_value_5
) {
16413 fra
.me
.REG
[5] = BOX_NativeString("!=NIT_NULL)");
16414 REGB0
= TAG_Int(11);
16415 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16416 once_value_5
= fra
.me
.REG
[5];
16417 register_static_object(&once_value_5
);
16418 } else fra
.me
.REG
[5] = once_value_5
;
16419 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16420 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
16421 /* ./compiling//compiling_icode.nit:1059 */
16424 /* ./compiling//compiling_icode.nit:1061 */
16425 if (!once_value_6
) {
16426 fra
.me
.REG
[5] = BOX_NativeString("(");
16427 REGB0
= TAG_Int(1);
16428 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16429 once_value_6
= fra
.me
.REG
[5];
16430 register_static_object(&once_value_6
);
16431 } else fra
.me
.REG
[5] = once_value_6
;
16432 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16433 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
16434 /* ./compiling//compiling_icode.nit:1062 */
16435 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16436 /* ./compiling//compiling_icode.nit:1063 */
16437 if (!once_value_7
) {
16438 fra
.me
.REG
[5] = BOX_NativeString("!=NIT_NULL) && ");
16439 REGB0
= TAG_Int(15);
16440 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16441 once_value_7
= fra
.me
.REG
[5];
16442 register_static_object(&once_value_7
);
16443 } else fra
.me
.REG
[5] = once_value_7
;
16444 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16445 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
16449 /* ./compiling//compiling_icode.nit:1067 */
16450 fra
.me
.REG
[5] = CALL_icode___icode_base___ITypeCheck___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16451 /* ./compiling//compiling_icode.nit:1068 */
16452 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[5], COLOR_metamodel___virtualtype___MMVirtualType
, ID_metamodel___virtualtype___MMVirtualType
)) /*cast MMVirtualType*/;
16453 if (UNTAG_Bool(REGB0
)) {
16454 /* ./compiling//compiling_icode.nit:1069 */
16455 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16456 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16457 /* ./compiling//compiling_icode.nit:1070 */
16458 fra
.me
.REG
[1] = CALL_metamodel___virtualtype___MMVirtualType___property(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
16459 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16460 /* ./compiling//compiling_icode.nit:1071 */
16461 if (!once_value_8
) {
16462 fra
.me
.REG
[4] = BOX_NativeString("VAL_ISA(");
16463 REGB0
= TAG_Int(8);
16464 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16465 once_value_8
= fra
.me
.REG
[4];
16466 register_static_object(&once_value_8
);
16467 } else fra
.me
.REG
[4] = once_value_8
;
16468 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16469 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16470 /* ./compiling//compiling_icode.nit:1072 */
16471 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16472 /* ./compiling//compiling_icode.nit:1073 */
16473 if (!once_value_9
) {
16474 fra
.me
.REG
[4] = BOX_NativeString(", ");
16475 REGB0
= TAG_Int(2);
16476 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16477 once_value_9
= fra
.me
.REG
[4];
16478 register_static_object(&once_value_9
);
16479 } else fra
.me
.REG
[4] = once_value_9
;
16480 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16481 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16482 /* ./compiling//compiling_icode.nit:1074 */
16483 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMGlobalProperty___vt_class_color(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16484 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16485 /* ./compiling//compiling_icode.nit:1075 */
16486 if (!once_value_10
) {
16487 fra
.me
.REG
[4] = BOX_NativeString("(");
16488 REGB0
= TAG_Int(1);
16489 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16490 once_value_10
= fra
.me
.REG
[4];
16491 register_static_object(&once_value_10
);
16492 } else fra
.me
.REG
[4] = once_value_10
;
16493 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16494 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16495 /* ./compiling//compiling_icode.nit:1076 */
16496 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16497 /* ./compiling//compiling_icode.nit:1077 */
16498 if (!once_value_11
) {
16499 fra
.me
.REG
[4] = BOX_NativeString(")");
16500 REGB0
= TAG_Int(1);
16501 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16502 once_value_11
= fra
.me
.REG
[4];
16503 register_static_object(&once_value_11
);
16504 } else fra
.me
.REG
[4] = once_value_11
;
16505 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16506 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16507 /* ./compiling//compiling_icode.nit:1078 */
16508 if (!once_value_12
) {
16509 fra
.me
.REG
[4] = BOX_NativeString(", ");
16510 REGB0
= TAG_Int(2);
16511 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16512 once_value_12
= fra
.me
.REG
[4];
16513 register_static_object(&once_value_12
);
16514 } else fra
.me
.REG
[4] = once_value_12
;
16515 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16516 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16517 /* ./compiling//compiling_icode.nit:1079 */
16518 fra
.me
.REG
[1] = CALL_compiling___compiling_base___MMGlobalProperty___vt_class_id(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16519 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
16520 /* ./compiling//compiling_icode.nit:1080 */
16521 if (!once_value_13
) {
16522 fra
.me
.REG
[1] = BOX_NativeString("(");
16523 REGB0
= TAG_Int(1);
16524 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
16525 once_value_13
= fra
.me
.REG
[1];
16526 register_static_object(&once_value_13
);
16527 } else fra
.me
.REG
[1] = once_value_13
;
16528 fra
.me
.REG
[1] = fra
.me
.REG
[1];
16529 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
16530 /* ./compiling//compiling_icode.nit:1081 */
16531 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16532 /* ./compiling//compiling_icode.nit:1082 */
16533 if (!once_value_14
) {
16534 fra
.me
.REG
[0] = BOX_NativeString(")");
16535 REGB0
= TAG_Int(1);
16536 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16537 once_value_14
= fra
.me
.REG
[0];
16538 register_static_object(&once_value_14
);
16539 } else fra
.me
.REG
[0] = once_value_14
;
16540 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16541 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16542 /* ./compiling//compiling_icode.nit:1083 */
16543 if (!once_value_15
) {
16544 fra
.me
.REG
[0] = BOX_NativeString(")) /*cast ");
16545 REGB0
= TAG_Int(10);
16546 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16547 once_value_15
= fra
.me
.REG
[0];
16548 register_static_object(&once_value_15
);
16549 } else fra
.me
.REG
[0] = once_value_15
;
16550 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16551 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16552 /* ./compiling//compiling_icode.nit:1084 */
16553 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
16554 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16555 /* ./compiling//compiling_icode.nit:1085 */
16556 if (!once_value_16
) {
16557 fra
.me
.REG
[0] = BOX_NativeString("*/");
16558 REGB0
= TAG_Int(2);
16559 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16560 once_value_16
= fra
.me
.REG
[0];
16561 register_static_object(&once_value_16
);
16562 } else fra
.me
.REG
[0] = once_value_16
;
16563 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16564 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16566 /* ./compiling//compiling_icode.nit:1087 */
16567 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
16568 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16569 /* ./compiling//compiling_icode.nit:1088 */
16570 if (!once_value_17
) {
16571 fra
.me
.REG
[1] = BOX_NativeString("VAL_ISA(");
16572 REGB0
= TAG_Int(8);
16573 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
16574 once_value_17
= fra
.me
.REG
[1];
16575 register_static_object(&once_value_17
);
16576 } else fra
.me
.REG
[1] = once_value_17
;
16577 fra
.me
.REG
[1] = fra
.me
.REG
[1];
16578 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
16579 /* ./compiling//compiling_icode.nit:1089 */
16580 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16581 /* ./compiling//compiling_icode.nit:1090 */
16582 if (!once_value_18
) {
16583 fra
.me
.REG
[2] = BOX_NativeString(", ");
16584 REGB0
= TAG_Int(2);
16585 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
16586 once_value_18
= fra
.me
.REG
[2];
16587 register_static_object(&once_value_18
);
16588 } else fra
.me
.REG
[2] = once_value_18
;
16589 fra
.me
.REG
[2] = fra
.me
.REG
[2];
16590 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16591 /* ./compiling//compiling_icode.nit:1091 */
16592 fra
.me
.REG
[2] = CALL_compiling___compiling_base___MMGlobalClass___color_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16593 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16594 /* ./compiling//compiling_icode.nit:1092 */
16595 if (!once_value_19
) {
16596 fra
.me
.REG
[2] = BOX_NativeString(", ");
16597 REGB0
= TAG_Int(2);
16598 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
16599 once_value_19
= fra
.me
.REG
[2];
16600 register_static_object(&once_value_19
);
16601 } else fra
.me
.REG
[2] = once_value_19
;
16602 fra
.me
.REG
[2] = fra
.me
.REG
[2];
16603 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16604 /* ./compiling//compiling_icode.nit:1093 */
16605 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalClass___id_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16606 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16607 /* ./compiling//compiling_icode.nit:1094 */
16608 if (!once_value_20
) {
16609 fra
.me
.REG
[0] = BOX_NativeString(")) /*cast ");
16610 REGB0
= TAG_Int(10);
16611 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16612 once_value_20
= fra
.me
.REG
[0];
16613 register_static_object(&once_value_20
);
16614 } else fra
.me
.REG
[0] = once_value_20
;
16615 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16616 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16617 /* ./compiling//compiling_icode.nit:1095 */
16618 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
16619 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
16620 /* ./compiling//compiling_icode.nit:1096 */
16621 if (!once_value_21
) {
16622 fra
.me
.REG
[5] = BOX_NativeString("*/");
16623 REGB0
= TAG_Int(2);
16624 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16625 once_value_21
= fra
.me
.REG
[5];
16626 register_static_object(&once_value_21
);
16627 } else fra
.me
.REG
[5] = once_value_21
;
16628 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16629 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
16632 stack_frame_head
= fra
.me
.prev
;
16635 void compiling___compiling_icode___IIs___compile_to_c(val_t p0
, val_t p1
){
16636 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
16639 static val_t once_value_2
; /* Once value */
16640 static val_t once_value_3
; /* Once value */
16641 static val_t once_value_4
; /* Once value */
16642 static val_t once_value_5
; /* Once value */
16643 static val_t once_value_6
; /* Once value */
16644 static val_t once_value_7
; /* Once value */
16645 static val_t once_value_8
; /* Once value */
16646 static val_t once_value_9
; /* Once value */
16647 static val_t once_value_10
; /* Once value */
16648 static val_t once_value_11
; /* Once value */
16649 static val_t once_value_12
; /* Once value */
16650 static val_t once_value_13
; /* Once value */
16651 static val_t once_value_14
; /* Once value */
16652 static val_t once_value_15
; /* Once value */
16653 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16654 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16655 fra
.me
.line
= 1102;
16656 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IIs___compile_to_c
;
16657 fra
.me
.has_broke
= 0;
16658 fra
.me
.REG_size
= 6;
16659 fra
.me
.nitni_local_ref_head
= NULL
;
16660 fra
.me
.REG
[0] = NIT_NULL
;
16661 fra
.me
.REG
[1] = NIT_NULL
;
16662 fra
.me
.REG
[2] = NIT_NULL
;
16663 fra
.me
.REG
[3] = NIT_NULL
;
16664 fra
.me
.REG
[4] = NIT_NULL
;
16665 fra
.me
.REG
[5] = NIT_NULL
;
16666 fra
.me
.REG
[0] = p0
;
16667 fra
.me
.REG
[1] = p1
;
16668 /* ./compiling//compiling_icode.nit:1104 */
16669 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16670 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16671 if (UNTAG_Bool(REGB0
)) {
16674 /* ./compiling//compiling_icode.nit:1105 */
16675 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16676 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16677 /* ./compiling//compiling_icode.nit:1106 */
16678 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
16679 /* ./compiling//compiling_icode.nit:1107 */
16680 if (!once_value_2
) {
16681 fra
.me
.REG
[3] = BOX_NativeString("TAG_Bool(");
16682 REGB0
= TAG_Int(9);
16683 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16684 once_value_2
= fra
.me
.REG
[3];
16685 register_static_object(&once_value_2
);
16686 } else fra
.me
.REG
[3] = once_value_2
;
16687 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16688 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16689 /* ./compiling//compiling_icode.nit:1108 */
16690 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16691 fra
.me
.REG
[3] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16692 /* ./compiling//compiling_icode.nit:1109 */
16693 fra
.me
.REG
[4] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16694 fra
.me
.REG
[4] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16695 /* ./compiling//compiling_icode.nit:1110 */
16696 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[3], COLOR_metamodel___static_type___MMTypeNone
, ID_metamodel___static_type___MMTypeNone
)) /*cast MMTypeNone*/;
16697 if (UNTAG_Bool(REGB0
)) {
16698 /* ./compiling//compiling_icode.nit:1111 */
16699 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_metamodel___static_type___MMTypeNone
, ID_metamodel___static_type___MMTypeNone
)) /*cast MMTypeNone*/;
16700 if (UNTAG_Bool(REGB0
)) {
16701 /* ./compiling//compiling_icode.nit:1112 */
16702 if (!once_value_3
) {
16703 fra
.me
.REG
[5] = BOX_NativeString("1)");
16704 REGB0
= TAG_Int(2);
16705 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16706 once_value_3
= fra
.me
.REG
[5];
16707 register_static_object(&once_value_3
);
16708 } else fra
.me
.REG
[5] = once_value_3
;
16709 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16710 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
16711 /* ./compiling//compiling_icode.nit:1113 */
16714 /* ./compiling//compiling_icode.nit:1114 */
16715 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16716 if (UNTAG_Bool(REGB0
)) {
16717 /* ./compiling//compiling_icode.nit:1115 */
16718 fra
.me
.REG
[5] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16719 fra
.me
.REG
[5] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
16720 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
16721 /* ./compiling//compiling_icode.nit:1116 */
16722 if (!once_value_4
) {
16723 fra
.me
.REG
[5] = BOX_NativeString("==NIT_NULL)");
16724 REGB0
= TAG_Int(11);
16725 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16726 once_value_4
= fra
.me
.REG
[5];
16727 register_static_object(&once_value_4
);
16728 } else fra
.me
.REG
[5] = once_value_4
;
16729 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16730 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
16731 /* ./compiling//compiling_icode.nit:1117 */
16734 /* ./compiling//compiling_icode.nit:1119 */
16735 if (!once_value_5
) {
16736 fra
.me
.REG
[5] = BOX_NativeString("0)");
16737 REGB0
= TAG_Int(2);
16738 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16739 once_value_5
= fra
.me
.REG
[5];
16740 register_static_object(&once_value_5
);
16741 } else fra
.me
.REG
[5] = once_value_5
;
16742 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16743 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
16744 /* ./compiling//compiling_icode.nit:1120 */
16749 /* ./compiling//compiling_icode.nit:1122 */
16750 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16751 if (UNTAG_Bool(REGB0
)) {
16752 /* ./compiling//compiling_icode.nit:1123 */
16753 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_metamodel___static_type___MMTypeNone
, ID_metamodel___static_type___MMTypeNone
)) /*cast MMTypeNone*/;
16754 if (UNTAG_Bool(REGB0
)) {
16755 /* ./compiling//compiling_icode.nit:1124 */
16756 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16757 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16758 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16759 /* ./compiling//compiling_icode.nit:1125 */
16760 if (!once_value_6
) {
16761 fra
.me
.REG
[3] = BOX_NativeString("==NIT_NULL)");
16762 REGB0
= TAG_Int(11);
16763 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16764 once_value_6
= fra
.me
.REG
[3];
16765 register_static_object(&once_value_6
);
16766 } else fra
.me
.REG
[3] = once_value_6
;
16767 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16768 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16769 /* ./compiling//compiling_icode.nit:1126 */
16772 /* ./compiling//compiling_icode.nit:1127 */
16773 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16774 if (UNTAG_Bool(REGB0
)) {
16775 /* ./compiling//compiling_icode.nit:1128 */
16776 if (!once_value_7
) {
16777 fra
.me
.REG
[3] = BOX_NativeString("IS_EQUAL_NN(");
16778 REGB0
= TAG_Int(12);
16779 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16780 once_value_7
= fra
.me
.REG
[3];
16781 register_static_object(&once_value_7
);
16782 } else fra
.me
.REG
[3] = once_value_7
;
16783 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16784 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16786 /* ./compiling//compiling_icode.nit:1130 */
16787 if (!once_value_8
) {
16788 fra
.me
.REG
[3] = BOX_NativeString("IS_EQUAL_ON(");
16789 REGB0
= TAG_Int(12);
16790 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16791 once_value_8
= fra
.me
.REG
[3];
16792 register_static_object(&once_value_8
);
16793 } else fra
.me
.REG
[3] = once_value_8
;
16794 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16795 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16796 /* ./compiling//compiling_icode.nit:1131 */
16797 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16798 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16799 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16800 /* ./compiling//compiling_icode.nit:1132 */
16801 if (!once_value_9
) {
16802 fra
.me
.REG
[3] = BOX_NativeString(",");
16803 REGB0
= TAG_Int(1);
16804 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16805 once_value_9
= fra
.me
.REG
[3];
16806 register_static_object(&once_value_9
);
16807 } else fra
.me
.REG
[3] = once_value_9
;
16808 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16809 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16810 /* ./compiling//compiling_icode.nit:1133 */
16811 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16812 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16813 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16814 /* ./compiling//compiling_icode.nit:1134 */
16815 if (!once_value_10
) {
16816 fra
.me
.REG
[3] = BOX_NativeString("))");
16817 REGB0
= TAG_Int(2);
16818 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16819 once_value_10
= fra
.me
.REG
[3];
16820 register_static_object(&once_value_10
);
16821 } else fra
.me
.REG
[3] = once_value_10
;
16822 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16823 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16824 /* ./compiling//compiling_icode.nit:1135 */
16829 /* ./compiling//compiling_icode.nit:1138 */
16830 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_metamodel___static_type___MMTypeNone
, ID_metamodel___static_type___MMTypeNone
)) /*cast MMTypeNone*/;
16831 if (UNTAG_Bool(REGB0
)) {
16832 /* ./compiling//compiling_icode.nit:1139 */
16833 if (!once_value_11
) {
16834 fra
.me
.REG
[3] = BOX_NativeString("0)");
16835 REGB0
= TAG_Int(2);
16836 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16837 once_value_11
= fra
.me
.REG
[3];
16838 register_static_object(&once_value_11
);
16839 } else fra
.me
.REG
[3] = once_value_11
;
16840 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16841 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16842 /* ./compiling//compiling_icode.nit:1140 */
16845 /* ./compiling//compiling_icode.nit:1141 */
16846 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16847 if (UNTAG_Bool(REGB0
)) {
16848 /* ./compiling//compiling_icode.nit:1142 */
16849 if (!once_value_12
) {
16850 fra
.me
.REG
[4] = BOX_NativeString("IS_EQUAL_ON(");
16851 REGB0
= TAG_Int(12);
16852 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16853 once_value_12
= fra
.me
.REG
[4];
16854 register_static_object(&once_value_12
);
16855 } else fra
.me
.REG
[4] = once_value_12
;
16856 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16857 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
16859 /* ./compiling//compiling_icode.nit:1144 */
16860 if (!once_value_13
) {
16861 fra
.me
.REG
[4] = BOX_NativeString("IS_EQUAL_OO(");
16862 REGB0
= TAG_Int(12);
16863 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16864 once_value_13
= fra
.me
.REG
[4];
16865 register_static_object(&once_value_13
);
16866 } else fra
.me
.REG
[4] = once_value_13
;
16867 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16868 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
16873 /* ./compiling//compiling_icode.nit:1147 */
16874 fra
.me
.REG
[4] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16875 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
16876 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
16877 /* ./compiling//compiling_icode.nit:1148 */
16878 if (!once_value_14
) {
16879 fra
.me
.REG
[4] = BOX_NativeString(",");
16880 REGB0
= TAG_Int(1);
16881 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16882 once_value_14
= fra
.me
.REG
[4];
16883 register_static_object(&once_value_14
);
16884 } else fra
.me
.REG
[4] = once_value_14
;
16885 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16886 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
16887 /* ./compiling//compiling_icode.nit:1149 */
16888 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16889 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16890 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16891 /* ./compiling//compiling_icode.nit:1150 */
16892 if (!once_value_15
) {
16893 fra
.me
.REG
[0] = BOX_NativeString("))");
16894 REGB0
= TAG_Int(2);
16895 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16896 once_value_15
= fra
.me
.REG
[0];
16897 register_static_object(&once_value_15
);
16898 } else fra
.me
.REG
[0] = once_value_15
;
16899 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16900 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16902 stack_frame_head
= fra
.me
.prev
;
16905 void compiling___compiling_icode___INot___compile_to_c(val_t p0
, val_t p1
){
16906 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
16909 static val_t once_value_2
; /* Once value */
16910 static val_t once_value_3
; /* Once value */
16911 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16912 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16913 fra
.me
.line
= 1155;
16914 fra
.me
.meth
= LOCATE_compiling___compiling_icode___INot___compile_to_c
;
16915 fra
.me
.has_broke
= 0;
16916 fra
.me
.REG_size
= 4;
16917 fra
.me
.nitni_local_ref_head
= NULL
;
16918 fra
.me
.REG
[0] = NIT_NULL
;
16919 fra
.me
.REG
[1] = NIT_NULL
;
16920 fra
.me
.REG
[2] = NIT_NULL
;
16921 fra
.me
.REG
[3] = NIT_NULL
;
16922 fra
.me
.REG
[0] = p0
;
16923 fra
.me
.REG
[1] = p1
;
16924 /* ./compiling//compiling_icode.nit:1157 */
16925 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16926 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16927 if (UNTAG_Bool(REGB0
)) {
16930 /* ./compiling//compiling_icode.nit:1158 */
16931 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16932 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16933 /* ./compiling//compiling_icode.nit:1159 */
16934 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
16935 /* ./compiling//compiling_icode.nit:1160 */
16936 if (!once_value_2
) {
16937 fra
.me
.REG
[3] = BOX_NativeString("TAG_Bool(!UNTAG_Bool(");
16938 REGB0
= TAG_Int(21);
16939 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16940 once_value_2
= fra
.me
.REG
[3];
16941 register_static_object(&once_value_2
);
16942 } else fra
.me
.REG
[3] = once_value_2
;
16943 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16944 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16945 /* ./compiling//compiling_icode.nit:1161 */
16946 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16947 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16948 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16949 /* ./compiling//compiling_icode.nit:1162 */
16950 if (!once_value_3
) {
16951 fra
.me
.REG
[0] = BOX_NativeString("))");
16952 REGB0
= TAG_Int(2);
16953 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16954 once_value_3
= fra
.me
.REG
[0];
16955 register_static_object(&once_value_3
);
16956 } else fra
.me
.REG
[0] = once_value_3
;
16957 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16958 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16960 stack_frame_head
= fra
.me
.prev
;
16963 void compiling___compiling_icode___IOnce___compile_to_c(val_t p0
, val_t p1
){
16964 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
16968 static val_t once_value_1
; /* Once value */
16969 static val_t once_value_2
; /* Once value */
16970 static val_t once_value_3
; /* Once value */
16971 static val_t once_value_4
; /* Once value */
16972 static val_t once_value_5
; /* Once value */
16973 static val_t once_value_6
; /* Once value */
16974 static val_t once_value_7
; /* Once value */
16975 static val_t once_value_8
; /* Once value */
16976 static val_t once_value_9
; /* Once value */
16977 static val_t once_value_10
; /* Once value */
16978 static val_t once_value_11
; /* Once value */
16979 static val_t once_value_12
; /* Once value */
16980 static val_t once_value_13
; /* Once value */
16981 static val_t once_value_14
; /* Once value */
16982 static val_t once_value_15
; /* Once value */
16983 static val_t once_value_16
; /* Once value */
16984 static val_t once_value_17
; /* Once value */
16985 static val_t once_value_18
; /* Once value */
16986 static val_t once_value_19
; /* Once value */
16987 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16988 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16989 fra
.me
.line
= 1167;
16990 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IOnce___compile_to_c
;
16991 fra
.me
.has_broke
= 0;
16992 fra
.me
.REG_size
= 6;
16993 fra
.me
.nitni_local_ref_head
= NULL
;
16994 fra
.me
.REG
[0] = NIT_NULL
;
16995 fra
.me
.REG
[1] = NIT_NULL
;
16996 fra
.me
.REG
[2] = NIT_NULL
;
16997 fra
.me
.REG
[3] = NIT_NULL
;
16998 fra
.me
.REG
[4] = NIT_NULL
;
16999 fra
.me
.REG
[5] = NIT_NULL
;
17000 fra
.me
.REG
[0] = p0
;
17001 fra
.me
.REG
[1] = p1
;
17002 /* ./compiling//compiling_icode.nit:1167 */
17003 fra
.me
.REG
[2] = fra
.me
.REG
[0];
17004 /* ./compiling//compiling_icode.nit:1169 */
17005 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17006 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17007 /* ./compiling//compiling_icode.nit:1170 */
17008 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___new_number(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17009 /* ./compiling//compiling_icode.nit:1171 */
17010 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17011 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*/;
17012 if (UNTAG_Bool(REGB1
)) {
17014 nit_abort("Cast failed", NULL
, LOCATE_compiling___compiling_icode
, 1171);
17016 /* ./compiling//compiling_icode.nit:1172 */
17017 fra
.me
.REG
[0] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17018 REGB1
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17019 if (UNTAG_Bool(REGB1
)) {
17020 /* ./compiling//compiling_icode.nit:1173 */
17021 REGB1
= TAG_Int(5);
17022 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17023 if (!once_value_1
) {
17024 fra
.me
.REG
[4] = BOX_NativeString("static val_t once_value_");
17025 REGB1
= TAG_Int(24);
17026 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17027 once_value_1
= fra
.me
.REG
[4];
17028 register_static_object(&once_value_1
);
17029 } else fra
.me
.REG
[4] = once_value_1
;
17030 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17031 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17032 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17033 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17034 if (!once_value_2
) {
17035 fra
.me
.REG
[4] = BOX_NativeString("; static int once_bool_");
17036 REGB1
= TAG_Int(23);
17037 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17038 once_value_2
= fra
.me
.REG
[4];
17039 register_static_object(&once_value_2
);
17040 } else fra
.me
.REG
[4] = once_value_2
;
17041 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17042 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17043 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17044 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17045 if (!once_value_3
) {
17046 fra
.me
.REG
[4] = BOX_NativeString("; /* Once value */");
17047 REGB1
= TAG_Int(18);
17048 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17049 once_value_3
= fra
.me
.REG
[4];
17050 register_static_object(&once_value_3
);
17051 } else fra
.me
.REG
[4] = once_value_3
;
17052 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17053 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17054 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17055 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17056 /* ./compiling//compiling_icode.nit:1174 */
17057 REGB1
= TAG_Int(3);
17058 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17059 if (!once_value_4
) {
17060 fra
.me
.REG
[4] = BOX_NativeString("if (!once_bool_");
17061 REGB1
= TAG_Int(15);
17062 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17063 once_value_4
= fra
.me
.REG
[4];
17064 register_static_object(&once_value_4
);
17065 } else fra
.me
.REG
[4] = once_value_4
;
17066 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17067 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17068 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17069 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17070 if (!once_value_5
) {
17071 fra
.me
.REG
[4] = BOX_NativeString(") {");
17072 REGB1
= TAG_Int(3);
17073 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17074 once_value_5
= fra
.me
.REG
[4];
17075 register_static_object(&once_value_5
);
17076 } else fra
.me
.REG
[4] = once_value_5
;
17077 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17078 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17079 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17080 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17082 /* ./compiling//compiling_icode.nit:1177 */
17083 REGB1
= TAG_Int(3);
17084 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17085 if (!once_value_6
) {
17086 fra
.me
.REG
[4] = BOX_NativeString("static val_t once_value_");
17087 REGB1
= TAG_Int(24);
17088 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17089 once_value_6
= fra
.me
.REG
[4];
17090 register_static_object(&once_value_6
);
17091 } else fra
.me
.REG
[4] = once_value_6
;
17092 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17093 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17094 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17095 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17096 if (!once_value_7
) {
17097 fra
.me
.REG
[4] = BOX_NativeString("; /* Once value */");
17098 REGB1
= TAG_Int(18);
17099 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17100 once_value_7
= fra
.me
.REG
[4];
17101 register_static_object(&once_value_7
);
17102 } else fra
.me
.REG
[4] = once_value_7
;
17103 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17104 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17105 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17106 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17107 /* ./compiling//compiling_icode.nit:1178 */
17108 REGB1
= TAG_Int(3);
17109 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17110 if (!once_value_8
) {
17111 fra
.me
.REG
[4] = BOX_NativeString("if (!once_value_");
17112 REGB1
= TAG_Int(16);
17113 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17114 once_value_8
= fra
.me
.REG
[4];
17115 register_static_object(&once_value_8
);
17116 } else fra
.me
.REG
[4] = once_value_8
;
17117 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17118 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17119 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17120 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17121 if (!once_value_9
) {
17122 fra
.me
.REG
[4] = BOX_NativeString(") {");
17123 REGB1
= TAG_Int(3);
17124 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17125 once_value_9
= fra
.me
.REG
[4];
17126 register_static_object(&once_value_9
);
17127 } else fra
.me
.REG
[4] = once_value_9
;
17128 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17129 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17130 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17131 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17133 /* ./compiling//compiling_icode.nit:1180 */
17134 CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17135 /* ./compiling//compiling_icode.nit:1181 */
17136 fra
.me
.REG
[0] = CALL_icode___icode_base___IOnce___body(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17137 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
17138 /* ./compiling//compiling_icode.nit:1182 */
17139 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17140 /* ./compiling//compiling_icode.nit:1183 */
17141 REGB1
= TAG_Int(5);
17142 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17143 if (!once_value_10
) {
17144 fra
.me
.REG
[5] = BOX_NativeString("once_value_");
17145 REGB1
= TAG_Int(11);
17146 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
17147 once_value_10
= fra
.me
.REG
[5];
17148 register_static_object(&once_value_10
);
17149 } else fra
.me
.REG
[5] = once_value_10
;
17150 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17151 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17152 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17153 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17154 if (!once_value_11
) {
17155 fra
.me
.REG
[5] = BOX_NativeString(" = ");
17156 REGB1
= TAG_Int(3);
17157 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
17158 once_value_11
= fra
.me
.REG
[5];
17159 register_static_object(&once_value_11
);
17160 } else fra
.me
.REG
[5] = once_value_11
;
17161 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17162 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17163 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
17164 if (!once_value_12
) {
17165 fra
.me
.REG
[5] = BOX_NativeString(";");
17166 REGB1
= TAG_Int(1);
17167 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
17168 once_value_12
= fra
.me
.REG
[5];
17169 register_static_object(&once_value_12
);
17170 } else fra
.me
.REG
[5] = once_value_12
;
17171 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17172 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17173 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
17174 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
17175 /* ./compiling//compiling_icode.nit:1184 */
17176 REGB1
= TAG_Int(3);
17177 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17178 if (!once_value_13
) {
17179 fra
.me
.REG
[5] = BOX_NativeString("register_static_object(&once_value_");
17180 REGB1
= TAG_Int(35);
17181 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
17182 once_value_13
= fra
.me
.REG
[5];
17183 register_static_object(&once_value_13
);
17184 } else fra
.me
.REG
[5] = once_value_13
;
17185 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17186 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17187 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17188 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17189 if (!once_value_14
) {
17190 fra
.me
.REG
[5] = BOX_NativeString(");");
17191 REGB1
= TAG_Int(2);
17192 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
17193 once_value_14
= fra
.me
.REG
[5];
17194 register_static_object(&once_value_14
);
17195 } else fra
.me
.REG
[5] = once_value_14
;
17196 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17197 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17198 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
17199 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
17200 /* ./compiling//compiling_icode.nit:1185 */
17201 fra
.me
.REG
[3] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17202 REGB1
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17203 if (UNTAG_Bool(REGB1
)) {
17204 REGB1
= TAG_Int(3);
17205 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17206 if (!once_value_15
) {
17207 fra
.me
.REG
[4] = BOX_NativeString("once_bool_");
17208 REGB1
= TAG_Int(10);
17209 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17210 once_value_15
= fra
.me
.REG
[4];
17211 register_static_object(&once_value_15
);
17212 } else fra
.me
.REG
[4] = once_value_15
;
17213 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17214 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17215 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17216 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17217 if (!once_value_16
) {
17218 fra
.me
.REG
[4] = BOX_NativeString(" = true;");
17219 REGB1
= TAG_Int(8);
17220 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17221 once_value_16
= fra
.me
.REG
[4];
17222 register_static_object(&once_value_16
);
17223 } else fra
.me
.REG
[4] = once_value_16
;
17224 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17225 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17226 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17227 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17229 /* ./compiling//compiling_icode.nit:1186 */
17230 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17231 /* ./compiling//compiling_icode.nit:1187 */
17232 REGB1
= TAG_Int(5);
17233 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17234 if (!once_value_17
) {
17235 fra
.me
.REG
[4] = BOX_NativeString("} else ");
17236 REGB1
= TAG_Int(7);
17237 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17238 once_value_17
= fra
.me
.REG
[4];
17239 register_static_object(&once_value_17
);
17240 } else fra
.me
.REG
[4] = once_value_17
;
17241 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17242 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17243 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
17244 if (!once_value_18
) {
17245 fra
.me
.REG
[4] = BOX_NativeString(" = once_value_");
17246 REGB1
= TAG_Int(14);
17247 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17248 once_value_18
= fra
.me
.REG
[4];
17249 register_static_object(&once_value_18
);
17250 } else fra
.me
.REG
[4] = once_value_18
;
17251 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17252 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17253 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17254 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17255 if (!once_value_19
) {
17256 fra
.me
.REG
[4] = BOX_NativeString(";");
17257 REGB0
= TAG_Int(1);
17258 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
17259 once_value_19
= fra
.me
.REG
[4];
17260 register_static_object(&once_value_19
);
17261 } else fra
.me
.REG
[4] = once_value_19
;
17262 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17263 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17264 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17265 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17266 /* ./compiling//compiling_icode.nit:1188 */
17267 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
17268 /* ./compiling//compiling_icode.nit:1189 */
17269 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17270 stack_frame_head
= fra
.me
.prev
;
17273 void compiling___compiling_icode___IClosCall___compile_to_c(val_t p0
, val_t p1
){
17274 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
17278 static val_t once_value_1
; /* Once value */
17279 static val_t once_value_2
; /* Once value */
17280 static val_t once_value_3
; /* Once value */
17281 static val_t once_value_4
; /* Once value */
17282 static val_t once_value_5
; /* Once value */
17283 static val_t once_value_6
; /* Once value */
17284 static val_t once_value_7
; /* Once value */
17285 static val_t once_value_8
; /* Once value */
17286 static val_t once_value_9
; /* Once value */
17287 static val_t once_value_10
; /* Once value */
17288 static val_t once_value_11
; /* Once value */
17289 static val_t once_value_12
; /* Once value */
17290 static val_t once_value_13
; /* Once value */
17291 static val_t once_value_14
; /* Once value */
17292 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
17293 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
17294 fra
.me
.line
= 1194;
17295 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IClosCall___compile_to_c
;
17296 fra
.me
.has_broke
= 0;
17297 fra
.me
.REG_size
= 7;
17298 fra
.me
.nitni_local_ref_head
= NULL
;
17299 fra
.me
.REG
[0] = NIT_NULL
;
17300 fra
.me
.REG
[1] = NIT_NULL
;
17301 fra
.me
.REG
[2] = NIT_NULL
;
17302 fra
.me
.REG
[3] = NIT_NULL
;
17303 fra
.me
.REG
[4] = NIT_NULL
;
17304 fra
.me
.REG
[5] = NIT_NULL
;
17305 fra
.me
.REG
[6] = NIT_NULL
;
17306 fra
.me
.REG
[0] = p0
;
17307 fra
.me
.REG
[1] = p1
;
17308 /* ./compiling//compiling_icode.nit:1196 */
17309 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17310 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
17311 /* ./compiling//compiling_icode.nit:1199 */
17312 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17313 if (UNTAG_Bool(REGB0
)) {
17314 /* ./compiling//compiling_icode.nit:1200 */
17315 REGB0
= TAG_Int(3);
17316 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17317 if (!once_value_1
) {
17318 fra
.me
.REG
[3] = BOX_NativeString("closctx->closure_funs[");
17319 REGB0
= TAG_Int(22);
17320 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
17321 once_value_1
= fra
.me
.REG
[3];
17322 register_static_object(&once_value_1
);
17323 } else fra
.me
.REG
[3] = once_value_1
;
17324 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17325 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17326 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17327 fra
.me
.REG
[4] = CALL_icode___icode_base___IClosCall___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17328 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17329 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17330 if (!once_value_2
) {
17331 fra
.me
.REG
[4] = BOX_NativeString("]");
17332 REGB0
= TAG_Int(1);
17333 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
17334 once_value_2
= fra
.me
.REG
[4];
17335 register_static_object(&once_value_2
);
17336 } else fra
.me
.REG
[4] = once_value_2
;
17337 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17338 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17339 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17340 /* ./compiling//compiling_icode.nit:1201 */
17341 REGB0
= TAG_Int(1);
17342 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17343 if (!once_value_3
) {
17344 fra
.me
.REG
[3] = BOX_NativeString("closctx->closure_ctx");
17345 REGB0
= TAG_Int(20);
17346 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
17347 once_value_3
= fra
.me
.REG
[3];
17348 register_static_object(&once_value_3
);
17349 } else fra
.me
.REG
[3] = once_value_3
;
17350 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17351 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
17353 /* ./compiling//compiling_icode.nit:1203 */
17354 REGB0
= TAG_Int(3);
17355 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17356 if (!once_value_4
) {
17357 fra
.me
.REG
[5] = BOX_NativeString("CREG[");
17358 REGB0
= TAG_Int(5);
17359 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
17360 once_value_4
= fra
.me
.REG
[5];
17361 register_static_object(&once_value_4
);
17362 } else fra
.me
.REG
[5] = once_value_4
;
17363 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17364 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
17365 fra
.me
.REG
[5] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17366 fra
.me
.REG
[6] = CALL_icode___icode_base___IClosCall___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17367 fra
.me
.REG
[6] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
17368 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17369 if (!once_value_5
) {
17370 fra
.me
.REG
[6] = BOX_NativeString("]");
17371 REGB0
= TAG_Int(1);
17372 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
17373 once_value_5
= fra
.me
.REG
[6];
17374 register_static_object(&once_value_5
);
17375 } else fra
.me
.REG
[6] = once_value_5
;
17376 fra
.me
.REG
[6] = fra
.me
.REG
[6];
17377 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17378 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17379 fra
.me
.REG
[2] = fra
.me
.REG
[3];
17380 /* ./compiling//compiling_icode.nit:1204 */
17381 REGB0
= TAG_Int(1);
17382 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17383 if (!once_value_6
) {
17384 fra
.me
.REG
[6] = BOX_NativeString("closctx_param");
17385 REGB0
= TAG_Int(13);
17386 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
17387 once_value_6
= fra
.me
.REG
[6];
17388 register_static_object(&once_value_6
);
17389 } else fra
.me
.REG
[6] = once_value_6
;
17390 fra
.me
.REG
[6] = fra
.me
.REG
[6];
17391 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17392 fra
.me
.REG
[4] = fra
.me
.REG
[3];
17394 /* ./compiling//compiling_icode.nit:1206 */
17395 fra
.me
.REG
[3] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17396 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___registers(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17397 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
17398 /* ./compiling//compiling_icode.nit:1208 */
17399 REGB0
= TAG_Int(7);
17400 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17401 if (!once_value_7
) {
17402 fra
.me
.REG
[6] = BOX_NativeString("((");
17403 REGB0
= TAG_Int(2);
17404 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
17405 once_value_7
= fra
.me
.REG
[6];
17406 register_static_object(&once_value_7
);
17407 } else fra
.me
.REG
[6] = once_value_7
;
17408 fra
.me
.REG
[6] = fra
.me
.REG
[6];
17409 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17410 fra
.me
.REG
[6] = CALL_compiling___compiling_icode___I2CCompilerVisitor___clostypes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17411 fra
.me
.REG
[5] = CALL_icode___icode_base___IClosCall___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17412 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
17413 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
17414 if (!once_value_8
) {
17415 fra
.me
.REG
[5] = BOX_NativeString(")(");
17416 REGB0
= TAG_Int(2);
17417 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
17418 once_value_8
= fra
.me
.REG
[5];
17419 register_static_object(&once_value_8
);
17420 } else fra
.me
.REG
[5] = once_value_8
;
17421 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17422 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
17423 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
17424 if (!once_value_9
) {
17425 fra
.me
.REG
[2] = BOX_NativeString("))(");
17426 REGB0
= TAG_Int(3);
17427 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
17428 once_value_9
= fra
.me
.REG
[2];
17429 register_static_object(&once_value_9
);
17430 } else fra
.me
.REG
[2] = once_value_9
;
17431 fra
.me
.REG
[2] = fra
.me
.REG
[2];
17432 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
17433 if (!once_value_10
) {
17434 fra
.me
.REG
[2] = BOX_NativeString(", ");
17435 REGB0
= TAG_Int(2);
17436 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
17437 once_value_10
= fra
.me
.REG
[2];
17438 register_static_object(&once_value_10
);
17439 } else fra
.me
.REG
[2] = once_value_10
;
17440 fra
.me
.REG
[2] = fra
.me
.REG
[2];
17441 fra
.me
.REG
[2] = CALL_standard___string___Collection___join(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
17442 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
17443 if (!once_value_11
) {
17444 fra
.me
.REG
[2] = BOX_NativeString(")");
17445 REGB0
= TAG_Int(1);
17446 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
17447 once_value_11
= fra
.me
.REG
[2];
17448 register_static_object(&once_value_11
);
17449 } else fra
.me
.REG
[2] = once_value_11
;
17450 fra
.me
.REG
[2] = fra
.me
.REG
[2];
17451 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
17452 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17453 /* ./compiling//compiling_icode.nit:1209 */
17454 fra
.me
.REG
[2] = NEW_Writer_compiling___compiling_writer___Writer___init();
17455 /* ./compiling//compiling_icode.nit:1210 */
17456 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17457 /* ./compiling//compiling_icode.nit:1211 */
17458 CALL_compiling___compiling_icode___ICode___store_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
17459 /* ./compiling//compiling_icode.nit:1214 */
17460 REGB0
= TAG_Int(3);
17461 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17462 if (!once_value_12
) {
17463 fra
.me
.REG
[3] = BOX_NativeString("if (");
17464 REGB0
= TAG_Int(4);
17465 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
17466 once_value_12
= fra
.me
.REG
[3];
17467 register_static_object(&once_value_12
);
17468 } else fra
.me
.REG
[3] = once_value_12
;
17469 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17470 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17471 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
17472 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17473 if (!once_value_13
) {
17474 fra
.me
.REG
[4] = BOX_NativeString("->has_broke) {");
17475 REGB0
= TAG_Int(14);
17476 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
17477 once_value_13
= fra
.me
.REG
[4];
17478 register_static_object(&once_value_13
);
17479 } else fra
.me
.REG
[4] = once_value_13
;
17480 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17481 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17482 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17483 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
17484 /* ./compiling//compiling_icode.nit:1215 */
17485 CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17486 /* ./compiling//compiling_icode.nit:1216 */
17487 fra
.me
.REG
[0] = CALL_icode___icode_base___IClosCall___break_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17488 /* ./compiling//compiling_icode.nit:1217 */
17489 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
17490 if (UNTAG_Bool(REGB0
)) {
17492 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
17493 if (UNTAG_Bool(REGB1
)) {
17494 REGB1
= TAG_Bool(false);
17497 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
17501 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
17502 if (UNTAG_Bool(REGB0
)) {
17503 /* ./compiling//compiling_icode.nit:1218 */
17504 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
17505 if (UNTAG_Bool(REGB0
)) {
17506 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 1218);
17508 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
17510 /* ./compiling//compiling_icode.nit:1220 */
17511 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___iroutine(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17512 fra
.me
.REG
[0] = CALL_icode___icode_base___IRoutine___body(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17513 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_goto(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17514 /* ./compiling//compiling_icode.nit:1221 */
17515 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17516 /* ./compiling//compiling_icode.nit:1222 */
17517 if (!once_value_14
) {
17518 fra
.me
.REG
[0] = BOX_NativeString("}");
17519 REGB0
= TAG_Int(1);
17520 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
17521 once_value_14
= fra
.me
.REG
[0];
17522 register_static_object(&once_value_14
);
17523 } else fra
.me
.REG
[0] = once_value_14
;
17524 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17525 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17526 stack_frame_head
= fra
.me
.prev
;
17529 void compiling___compiling_icode___IHasClos___compile_to_c(val_t p0
, val_t p1
){
17530 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
17533 static val_t once_value_2
; /* Once value */
17534 static val_t once_value_3
; /* Once value */
17535 static val_t once_value_4
; /* Once value */
17536 static val_t once_value_5
; /* Once value */
17537 static val_t once_value_6
; /* Once value */
17538 static val_t once_value_7
; /* Once value */
17539 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
17540 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
17541 fra
.me
.line
= 1227;
17542 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IHasClos___compile_to_c
;
17543 fra
.me
.has_broke
= 0;
17544 fra
.me
.REG_size
= 5;
17545 fra
.me
.nitni_local_ref_head
= NULL
;
17546 fra
.me
.REG
[0] = NIT_NULL
;
17547 fra
.me
.REG
[1] = NIT_NULL
;
17548 fra
.me
.REG
[2] = NIT_NULL
;
17549 fra
.me
.REG
[3] = NIT_NULL
;
17550 fra
.me
.REG
[4] = NIT_NULL
;
17551 fra
.me
.REG
[0] = p0
;
17552 fra
.me
.REG
[1] = p1
;
17553 /* ./compiling//compiling_icode.nit:1229 */
17554 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17555 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
17556 if (UNTAG_Bool(REGB0
)) {
17559 /* ./compiling//compiling_icode.nit:1230 */
17560 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17561 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
17562 /* ./compiling//compiling_icode.nit:1231 */
17563 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
17564 /* ./compiling//compiling_icode.nit:1232 */
17565 if (!once_value_2
) {
17566 fra
.me
.REG
[3] = BOX_NativeString("TAG_Bool(");
17567 REGB0
= TAG_Int(9);
17568 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
17569 once_value_2
= fra
.me
.REG
[3];
17570 register_static_object(&once_value_2
);
17571 } else fra
.me
.REG
[3] = once_value_2
;
17572 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17573 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17574 /* ./compiling//compiling_icode.nit:1233 */
17575 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17576 if (UNTAG_Bool(REGB0
)) {
17577 /* ./compiling//compiling_icode.nit:1234 */
17578 if (!once_value_3
) {
17579 fra
.me
.REG
[3] = BOX_NativeString("closctx->closure_funs[");
17580 REGB0
= TAG_Int(22);
17581 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
17582 once_value_3
= fra
.me
.REG
[3];
17583 register_static_object(&once_value_3
);
17584 } else fra
.me
.REG
[3] = once_value_3
;
17585 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17586 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17587 /* ./compiling//compiling_icode.nit:1235 */
17588 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17589 fra
.me
.REG
[4] = CALL_icode___icode_base___IHasClos___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17590 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17591 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17592 /* ./compiling//compiling_icode.nit:1236 */
17593 if (!once_value_4
) {
17594 fra
.me
.REG
[4] = BOX_NativeString("]");
17595 REGB0
= TAG_Int(1);
17596 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
17597 once_value_4
= fra
.me
.REG
[4];
17598 register_static_object(&once_value_4
);
17599 } else fra
.me
.REG
[4] = once_value_4
;
17600 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17601 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17603 /* ./compiling//compiling_icode.nit:1238 */
17604 if (!once_value_5
) {
17605 fra
.me
.REG
[4] = BOX_NativeString("CREG[");
17606 REGB0
= TAG_Int(5);
17607 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
17608 once_value_5
= fra
.me
.REG
[4];
17609 register_static_object(&once_value_5
);
17610 } else fra
.me
.REG
[4] = once_value_5
;
17611 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17612 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17613 /* ./compiling//compiling_icode.nit:1239 */
17614 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17615 fra
.me
.REG
[0] = CALL_icode___icode_base___IHasClos___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17616 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17617 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
17618 /* ./compiling//compiling_icode.nit:1240 */
17619 if (!once_value_6
) {
17620 fra
.me
.REG
[0] = BOX_NativeString("]");
17621 REGB0
= TAG_Int(1);
17622 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
17623 once_value_6
= fra
.me
.REG
[0];
17624 register_static_object(&once_value_6
);
17625 } else fra
.me
.REG
[0] = once_value_6
;
17626 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17627 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
17629 /* ./compiling//compiling_icode.nit:1242 */
17630 if (!once_value_7
) {
17631 fra
.me
.REG
[0] = BOX_NativeString(" != NULL)");
17632 REGB0
= TAG_Int(9);
17633 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
17634 once_value_7
= fra
.me
.REG
[0];
17635 register_static_object(&once_value_7
);
17636 } else fra
.me
.REG
[0] = once_value_7
;
17637 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17638 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
17640 stack_frame_head
= fra
.me
.prev
;
17643 val_t
compiling___compiling_icode___IClosureDef___compile_closure(val_t p0
, val_t p1
){
17644 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
17649 static val_t once_value_1
; /* Once value */
17650 static val_t once_value_2
; /* Once value */
17651 static val_t once_value_3
; /* Once value */
17652 static val_t once_value_4
; /* Once value */
17653 static val_t once_value_5
; /* Once value */
17654 static val_t once_value_6
; /* Once value */
17655 static val_t once_value_7
; /* Once value */
17656 static val_t once_value_8
; /* Once value */
17657 static val_t once_value_9
; /* Once value */
17658 static val_t once_value_10
; /* Once value */
17659 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
17660 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
17661 fra
.me
.line
= 1247;
17662 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IClosureDef___compile_closure
;
17663 fra
.me
.has_broke
= 0;
17664 fra
.me
.REG_size
= 9;
17665 fra
.me
.nitni_local_ref_head
= NULL
;
17666 fra
.me
.REG
[0] = NIT_NULL
;
17667 fra
.me
.REG
[1] = NIT_NULL
;
17668 fra
.me
.REG
[2] = NIT_NULL
;
17669 fra
.me
.REG
[3] = NIT_NULL
;
17670 fra
.me
.REG
[4] = NIT_NULL
;
17671 fra
.me
.REG
[5] = NIT_NULL
;
17672 fra
.me
.REG
[6] = NIT_NULL
;
17673 fra
.me
.REG
[7] = NIT_NULL
;
17674 fra
.me
.REG
[8] = NIT_NULL
;
17675 fra
.me
.REG
[0] = p0
;
17676 fra
.me
.REG
[1] = p1
;
17677 /* ./compiling//compiling_icode.nit:1251 */
17678 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17679 /* ./compiling//compiling_icode.nit:1254 */
17680 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17681 /* ./compiling//compiling_icode.nit:1255 */
17682 REGB1
= TAG_Bool(true);
17683 CALL_compiling___compiling_icode___I2CCompilerVisitor___closure__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
17684 /* ./compiling//compiling_icode.nit:1258 */
17685 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17686 /* ./compiling//compiling_icode.nit:1259 */
17687 fra
.me
.REG
[4] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
17688 CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
17689 /* ./compiling//compiling_icode.nit:1262 */
17690 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CompilerVisitor___decl_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17691 /* ./compiling//compiling_icode.nit:1263 */
17692 fra
.me
.REG
[5] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17693 /* ./compiling//compiling_icode.nit:1264 */
17694 fra
.me
.REG
[6] = CALL_compiling___compiling_base___CompilerVisitor___top_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17695 fra
.me
.REG
[6] = CALL_compiling___compiling_writer___Writer___sub(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
17696 CALL_compiling___compiling_base___CompilerVisitor___writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
17697 /* ./compiling//compiling_icode.nit:1265 */
17698 fra
.me
.REG
[6] = CALL_compiling___compiling_base___CompilerVisitor___header_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17699 fra
.me
.REG
[6] = CALL_compiling___compiling_writer___Writer___sub(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
17700 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
17701 /* ./compiling//compiling_icode.nit:1268 */
17702 REGB1
= TAG_Int(5);
17703 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17704 if (!once_value_1
) {
17705 fra
.me
.REG
[7] = BOX_NativeString("OC_");
17706 REGB1
= TAG_Int(3);
17707 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
17708 once_value_1
= fra
.me
.REG
[7];
17709 register_static_object(&once_value_1
);
17710 } else fra
.me
.REG
[7] = once_value_1
;
17711 fra
.me
.REG
[7] = fra
.me
.REG
[7];
17712 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
17713 fra
.me
.REG
[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___basecname(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17714 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
17715 if (!once_value_2
) {
17716 fra
.me
.REG
[7] = BOX_NativeString("_");
17717 REGB1
= TAG_Int(1);
17718 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
17719 once_value_2
= fra
.me
.REG
[7];
17720 register_static_object(&once_value_2
);
17721 } else fra
.me
.REG
[7] = once_value_2
;
17722 fra
.me
.REG
[7] = fra
.me
.REG
[7];
17723 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
17724 REGB1
= CALL_compiling___compiling_icode___I2CCompilerVisitor___new_number(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17725 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
17726 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
17727 if (!once_value_3
) {
17728 fra
.me
.REG
[7] = BOX_NativeString("");
17729 REGB1
= TAG_Int(0);
17730 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
17731 once_value_3
= fra
.me
.REG
[7];
17732 register_static_object(&once_value_3
);
17733 } else fra
.me
.REG
[7] = once_value_3
;
17734 fra
.me
.REG
[7] = fra
.me
.REG
[7];
17735 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
17736 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
17737 /* ./compiling//compiling_icode.nit:1269 */
17738 fra
.me
.REG
[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17739 if (!once_value_4
) {
17740 fra
.me
.REG
[8] = BOX_NativeString("struct stack_frame_t *closctx");
17741 REGB1
= TAG_Int(29);
17742 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
17743 once_value_4
= fra
.me
.REG
[8];
17744 register_static_object(&once_value_4
);
17745 } else fra
.me
.REG
[8] = once_value_4
;
17746 fra
.me
.REG
[8] = fra
.me
.REG
[8];
17747 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
);
17748 /* ./compiling//compiling_icode.nit:1270 */
17749 fra
.me
.REG
[7] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17750 fra
.me
.REG
[7] = CALL_compiling___compiling_writer___Writer___sub(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
17751 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[7]);
17752 /* ./compiling//compiling_icode.nit:1272 */
17753 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]);
17754 /* ./compiling//compiling_icode.nit:1273 */
17755 REGB1
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
17756 if (UNTAG_Bool(REGB1
)) {
17758 REGB2
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
17759 if (UNTAG_Bool(REGB2
)) {
17760 REGB2
= TAG_Bool(false);
17763 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
17767 if (UNTAG_Bool(REGB1
)) {
17768 /* ./compiling//compiling_icode.nit:1274 */
17769 if (!once_value_5
) {
17770 fra
.me
.REG
[0] = BOX_NativeString("return;");
17771 REGB1
= TAG_Int(7);
17772 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB1
);
17773 once_value_5
= fra
.me
.REG
[0];
17774 register_static_object(&once_value_5
);
17775 } else fra
.me
.REG
[0] = once_value_5
;
17776 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17777 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17779 /* ./compiling//compiling_icode.nit:1276 */
17780 REGB1
= TAG_Int(3);
17781 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17782 if (!once_value_6
) {
17783 fra
.me
.REG
[7] = BOX_NativeString("return ");
17784 REGB1
= TAG_Int(7);
17785 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
17786 once_value_6
= fra
.me
.REG
[7];
17787 register_static_object(&once_value_6
);
17788 } else fra
.me
.REG
[7] = once_value_6
;
17789 fra
.me
.REG
[7] = fra
.me
.REG
[7];
17790 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[7]);
17791 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[8]);
17792 if (!once_value_7
) {
17793 fra
.me
.REG
[8] = BOX_NativeString(";");
17794 REGB1
= TAG_Int(1);
17795 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
17796 once_value_7
= fra
.me
.REG
[8];
17797 register_static_object(&once_value_7
);
17798 } else fra
.me
.REG
[8] = once_value_7
;
17799 fra
.me
.REG
[8] = fra
.me
.REG
[8];
17800 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[8]);
17801 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17802 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17804 /* ./compiling//compiling_icode.nit:1278 */
17805 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17806 /* ./compiling//compiling_icode.nit:1279 */
17807 if (!once_value_8
) {
17808 fra
.me
.REG
[0] = BOX_NativeString("}");
17809 REGB1
= TAG_Int(1);
17810 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB1
);
17811 once_value_8
= fra
.me
.REG
[0];
17812 register_static_object(&once_value_8
);
17813 } else fra
.me
.REG
[0] = once_value_8
;
17814 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17815 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17816 /* ./compiling//compiling_icode.nit:1282 */
17817 CALL_compiling___compiling_base___CompilerVisitor___writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
17818 /* ./compiling//compiling_icode.nit:1283 */
17819 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17820 /* ./compiling//compiling_icode.nit:1284 */
17821 CALL_compiling___compiling_icode___I2CCompilerVisitor___closure__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
17822 /* ./compiling//compiling_icode.nit:1285 */
17823 CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17824 /* ./compiling//compiling_icode.nit:1286 */
17825 REGB0
= TAG_Int(3);
17826 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17827 if (!once_value_9
) {
17828 fra
.me
.REG
[1] = BOX_NativeString("((fun_t)");
17829 REGB0
= TAG_Int(8);
17830 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
17831 once_value_9
= fra
.me
.REG
[1];
17832 register_static_object(&once_value_9
);
17833 } else fra
.me
.REG
[1] = once_value_9
;
17834 fra
.me
.REG
[1] = fra
.me
.REG
[1];
17835 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
17836 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17837 if (!once_value_10
) {
17838 fra
.me
.REG
[6] = BOX_NativeString(")");
17839 REGB0
= TAG_Int(1);
17840 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
17841 once_value_10
= fra
.me
.REG
[6];
17842 register_static_object(&once_value_10
);
17843 } else fra
.me
.REG
[6] = once_value_10
;
17844 fra
.me
.REG
[6] = fra
.me
.REG
[6];
17845 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17846 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17849 stack_frame_head
= fra
.me
.prev
;
17850 return fra
.me
.REG
[3];