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
.REG
[0] = NIT_NULL
;
26 fra
.me
.REG
[1] = NIT_NULL
;
27 fra
.me
.REG
[2] = NIT_NULL
;
28 fra
.me
.REG
[3] = NIT_NULL
;
29 fra
.me
.REG
[4] = NIT_NULL
;
30 fra
.me
.REG
[5] = NIT_NULL
;
31 fra
.me
.REG
[6] = NIT_NULL
;
32 fra
.me
.REG
[7] = NIT_NULL
;
35 /* ./compiling//compiling_icode.nit:35 */
36 fra
.me
.REG
[2] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
37 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_metamodel___static_type___MMTypeNone
, ID_metamodel___static_type___MMTypeNone
)) /*cast MMTypeNone*/;
38 if (UNTAG_Bool(REGB0
)) {
40 fra
.me
.REG
[2] = BOX_NativeString("NIT_NULL");
42 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
43 once_value_1
= fra
.me
.REG
[2];
44 register_static_object(&once_value_1
);
45 } else fra
.me
.REG
[2] = once_value_1
;
46 fra
.me
.REG
[2] = fra
.me
.REG
[2];
49 /* ./compiling//compiling_icode.nit:36 */
50 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
51 if (UNTAG_Bool(REGB0
)) {
53 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling___compiling_icode
, 36);
55 fra
.me
.REG
[3] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
56 /* ./compiling//compiling_icode.nit:37 */
57 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
58 if (UNTAG_Bool(REGB0
)) {
59 REGB0
= CALL_analysis___allocate_iregister_slots___IRegister___is_local(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
60 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
62 REGB1
= TAG_Bool(false);
65 if (UNTAG_Bool(REGB0
)) {
66 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids2(fra
.me
.REG
[0])!=NIT_NULL
);
67 if (UNTAG_Bool(REGB0
)) {
69 nit_abort("Uninitialized attribute %s", "_ids2", LOCATE_compiling___compiling_icode
, 37);
71 fra
.me
.REG
[4] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids2(fra
.me
.REG
[0]);
72 fra
.me
.REG
[3] = fra
.me
.REG
[4];
74 /* ./compiling//compiling_icode.nit:38 */
75 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
76 if (UNTAG_Bool(REGB0
)) {
77 /* ./compiling//compiling_icode.nit:39 */
78 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
79 fra
.me
.REG
[2] = fra
.me
.REG
[4];
82 /* ./compiling//compiling_icode.nit:41 */
83 fra
.me
.REG
[4] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
84 /* ./compiling//compiling_icode.nit:42 */
85 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
86 if (UNTAG_Bool(REGB0
)) {
88 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
89 if (UNTAG_Bool(REGB1
)) {
90 REGB1
= TAG_Bool(false);
93 /* ./../lib/standard//kernel.nit:227 */
94 REGB1
= TAG_Bool((fra
.me
.REG
[4])==(NIT_NULL
));
95 /* ./compiling//compiling_icode.nit:42 */
99 if (UNTAG_Bool(REGB0
)) {
100 /* ./compiling//compiling_icode.nit:44 */
102 fra
.me
.REG
[5] = BOX_NativeString("NIT_NULL");
104 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
105 once_value_3
= fra
.me
.REG
[5];
106 register_static_object(&once_value_3
);
107 } else fra
.me
.REG
[5] = once_value_3
;
108 fra
.me
.REG
[5] = fra
.me
.REG
[5];
109 /* ./compiling//compiling_icode.nit:45 */
110 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[5]);
111 /* ./compiling//compiling_icode.nit:46 */
112 fra
.me
.REG
[2] = fra
.me
.REG
[5];
115 /* ./compiling//compiling_icode.nit:50 */
116 REGB0
= CALL_analysis___allocate_iregister_slots___IRegister___in_tag_slots(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
117 if (UNTAG_Bool(REGB0
)) {
118 /* ./compiling//compiling_icode.nit:51 */
120 fra
.me
.REG
[5] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
121 once_value_4
= fra
.me
.REG
[5];
122 register_static_object(&once_value_4
);
123 } else fra
.me
.REG
[5] = once_value_4
;
124 fra
.me
.REG
[5] = fra
.me
.REG
[5];
125 /* ./compiling//compiling_icode.nit:52 */
126 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
127 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
128 if (UNTAG_Bool(REGB0
)) {
130 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
132 fra
.me
.REG
[7] = BOX_NativeString("REGB");
134 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
135 once_value_5
= fra
.me
.REG
[7];
136 register_static_object(&once_value_5
);
137 } else fra
.me
.REG
[7] = once_value_5
;
138 fra
.me
.REG
[7] = fra
.me
.REG
[7];
139 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
140 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
141 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
143 fra
.me
.REG
[7] = BOX_NativeString("");
145 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
146 once_value_6
= fra
.me
.REG
[7];
147 register_static_object(&once_value_6
);
148 } else fra
.me
.REG
[7] = once_value_6
;
149 fra
.me
.REG
[7] = fra
.me
.REG
[7];
150 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
151 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
152 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4], fra
.me
.REG
[6]);
155 /* ./compiling//compiling_icode.nit:53 */
156 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
157 if (UNTAG_Bool(REGB0
)) {
158 REGB0
= CALL_analysis___allocate_iregister_slots___IRegister___is_local(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
159 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
161 REGB1
= TAG_Bool(false);
164 if (UNTAG_Bool(REGB0
)) {
165 /* ./compiling//compiling_icode.nit:54 */
167 fra
.me
.REG
[0] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
168 once_value_7
= fra
.me
.REG
[0];
169 register_static_object(&once_value_7
);
170 } else fra
.me
.REG
[0] = once_value_7
;
171 fra
.me
.REG
[0] = fra
.me
.REG
[0];
172 fra
.me
.REG
[5] = fra
.me
.REG
[0];
173 /* ./compiling//compiling_icode.nit:55 */
174 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
175 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
176 if (UNTAG_Bool(REGB0
)) {
178 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
180 fra
.me
.REG
[6] = BOX_NativeString("closctx->REG[");
182 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
183 once_value_8
= fra
.me
.REG
[6];
184 register_static_object(&once_value_8
);
185 } else fra
.me
.REG
[6] = once_value_8
;
186 fra
.me
.REG
[6] = fra
.me
.REG
[6];
187 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
188 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
189 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
191 fra
.me
.REG
[6] = BOX_NativeString("]");
193 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
194 once_value_9
= fra
.me
.REG
[6];
195 register_static_object(&once_value_9
);
196 } else fra
.me
.REG
[6] = once_value_9
;
197 fra
.me
.REG
[6] = fra
.me
.REG
[6];
198 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
199 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
200 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4], fra
.me
.REG
[0]);
203 /* ./compiling//compiling_icode.nit:57 */
204 if (!once_value_10
) {
205 fra
.me
.REG
[0] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
206 once_value_10
= fra
.me
.REG
[0];
207 register_static_object(&once_value_10
);
208 } else fra
.me
.REG
[0] = once_value_10
;
209 fra
.me
.REG
[0] = fra
.me
.REG
[0];
210 fra
.me
.REG
[5] = fra
.me
.REG
[0];
211 /* ./compiling//compiling_icode.nit:58 */
212 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
213 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
214 if (UNTAG_Bool(REGB0
)) {
216 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
217 if (!once_value_11
) {
218 fra
.me
.REG
[6] = BOX_NativeString("fra.me.REG[");
220 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
221 once_value_11
= fra
.me
.REG
[6];
222 register_static_object(&once_value_11
);
223 } else fra
.me
.REG
[6] = once_value_11
;
224 fra
.me
.REG
[6] = fra
.me
.REG
[6];
225 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
226 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
227 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
228 if (!once_value_12
) {
229 fra
.me
.REG
[6] = BOX_NativeString("]");
231 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
232 once_value_12
= fra
.me
.REG
[6];
233 register_static_object(&once_value_12
);
234 } else fra
.me
.REG
[6] = once_value_12
;
235 fra
.me
.REG
[6] = fra
.me
.REG
[6];
236 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
237 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
238 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4], fra
.me
.REG
[0]);
242 /* ./compiling//compiling_icode.nit:60 */
243 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
244 /* ./compiling//compiling_icode.nit:61 */
245 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[4]);
246 /* ./compiling//compiling_icode.nit:62 */
247 fra
.me
.REG
[2] = fra
.me
.REG
[4];
252 stack_frame_head
= fra
.me
.prev
;
253 return fra
.me
.REG
[2];
255 val_t
compiling___compiling_icode___I2CCompilerVisitor___registers(val_t p0
, val_t p1
){
256 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
259 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
260 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
262 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___registers
;
263 fra
.me
.has_broke
= 0;
265 fra
.me
.REG
[0] = NIT_NULL
;
266 fra
.me
.REG
[1] = NIT_NULL
;
267 fra
.me
.REG
[2] = NIT_NULL
;
270 /* ./compiling//compiling_icode.nit:70 */
271 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
272 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
273 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
));
274 /* ./compiling//compiling_icode.nit:74 */
277 stack_frame_head
= fra
.me
.prev
;
278 return fra
.me
.REG
[2];
280 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
){
281 struct {struct stack_frame_t me
;} fra
;
284 /* ./compiling//compiling_icode.nit:71 */
285 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
286 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
288 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___registers
;
289 fra
.me
.has_broke
= 0;
291 fra
.me
.REG
[0] = NIT_NULL
;
292 fra
.me
.closure_ctx
= closctx_param
;
293 fra
.me
.closure_funs
= CREG
;
296 /* ./compiling//compiling_icode.nit:72 */
297 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
298 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
299 stack_frame_head
= fra
.me
.prev
;
302 val_t
compiling___compiling_icode___I2CCompilerVisitor___new_number(val_t p0
){
303 struct {struct stack_frame_t me
;} fra
;
307 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
308 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
310 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___new_number
;
311 fra
.me
.has_broke
= 0;
313 fra
.me
.REG
[0] = NIT_NULL
;
315 /* ./compiling//compiling_icode.nit:81 */
316 REGB0
= ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_number(fra
.me
.REG
[0]);
318 /* ./../lib/standard//kernel.nit:235 */
319 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
320 /* ./compiling//compiling_icode.nit:81 */
321 ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_number(fra
.me
.REG
[0]) = REGB1
;
322 /* ./compiling//compiling_icode.nit:82 */
323 REGB1
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_number(fra
.me
.REG
[0])!=NIT_NULL
);
324 if (UNTAG_Bool(REGB1
)) {
326 nit_abort("Uninitialized attribute %s", "_last_number", LOCATE_compiling___compiling_icode
, 82);
328 REGB1
= ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_number(fra
.me
.REG
[0]);
331 stack_frame_head
= fra
.me
.prev
;
334 val_t
compiling___compiling_icode___I2CCompilerVisitor___lab(val_t p0
, val_t p1
){
335 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
338 static val_t once_value_2
; /* Once value */
339 static val_t once_value_3
; /* Once value */
340 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
341 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
343 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___lab
;
344 fra
.me
.has_broke
= 0;
346 fra
.me
.REG
[0] = NIT_NULL
;
347 fra
.me
.REG
[1] = NIT_NULL
;
348 fra
.me
.REG
[2] = NIT_NULL
;
349 fra
.me
.REG
[3] = NIT_NULL
;
350 fra
.me
.REG
[4] = NIT_NULL
;
353 /* ./compiling//compiling_icode.nit:88 */
354 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
355 if (UNTAG_Bool(REGB0
)) {
357 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling___compiling_icode
, 88);
359 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
360 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
361 if (UNTAG_Bool(REGB0
)) {
362 /* ./compiling//compiling_icode.nit:89 */
363 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
364 if (UNTAG_Bool(REGB0
)) {
366 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling___compiling_icode
, 89);
368 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
369 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
372 /* ./compiling//compiling_icode.nit:91 */
374 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
376 fra
.me
.REG
[4] = BOX_NativeString("label");
378 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
379 once_value_2
= fra
.me
.REG
[4];
380 register_static_object(&once_value_2
);
381 } else fra
.me
.REG
[4] = once_value_2
;
382 fra
.me
.REG
[4] = fra
.me
.REG
[4];
383 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
384 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___new_number(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
385 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
386 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
388 fra
.me
.REG
[4] = BOX_NativeString("");
390 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
391 once_value_3
= fra
.me
.REG
[4];
392 register_static_object(&once_value_3
);
393 } else fra
.me
.REG
[4] = once_value_3
;
394 fra
.me
.REG
[4] = fra
.me
.REG
[4];
395 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
396 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
397 /* ./compiling//compiling_icode.nit:92 */
398 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
399 if (UNTAG_Bool(REGB0
)) {
401 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling___compiling_icode
, 92);
403 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
404 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[3]);
405 /* ./compiling//compiling_icode.nit:93 */
406 fra
.me
.REG
[2] = fra
.me
.REG
[3];
410 stack_frame_head
= fra
.me
.prev
;
411 return fra
.me
.REG
[2];
413 val_t
compiling___compiling_icode___I2CCompilerVisitor___closures(val_t p0
){
414 struct {struct stack_frame_t me
;} fra
;
417 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
418 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
420 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___closures
;
421 fra
.me
.has_broke
= 0;
423 fra
.me
.REG
[0] = NIT_NULL
;
425 /* ./compiling//compiling_icode.nit:97 */
426 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____closures(fra
.me
.REG
[0])!=NIT_NULL
);
427 if (UNTAG_Bool(REGB0
)) {
429 nit_abort("Uninitialized attribute %s", "_closures", LOCATE_compiling___compiling_icode
, 97);
431 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____closures(fra
.me
.REG
[0]);
432 stack_frame_head
= fra
.me
.prev
;
433 return fra
.me
.REG
[0];
435 val_t
compiling___compiling_icode___I2CCompilerVisitor___clostypes(val_t p0
){
436 struct {struct stack_frame_t me
;} fra
;
439 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
440 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
442 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___clostypes
;
443 fra
.me
.has_broke
= 0;
445 fra
.me
.REG
[0] = NIT_NULL
;
447 /* ./compiling//compiling_icode.nit:100 */
448 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____clostypes(fra
.me
.REG
[0])!=NIT_NULL
);
449 if (UNTAG_Bool(REGB0
)) {
451 nit_abort("Uninitialized attribute %s", "_clostypes", LOCATE_compiling___compiling_icode
, 100);
453 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____clostypes(fra
.me
.REG
[0]);
454 stack_frame_head
= fra
.me
.prev
;
455 return fra
.me
.REG
[0];
457 val_t
compiling___compiling_icode___I2CCompilerVisitor___local_labels(val_t p0
){
458 struct {struct stack_frame_t me
;} fra
;
461 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
462 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
464 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___local_labels
;
465 fra
.me
.has_broke
= 0;
467 fra
.me
.REG
[0] = NIT_NULL
;
469 /* ./compiling//compiling_icode.nit:103 */
470 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____local_labels(fra
.me
.REG
[0])!=NIT_NULL
);
471 if (UNTAG_Bool(REGB0
)) {
473 nit_abort("Uninitialized attribute %s", "_local_labels", LOCATE_compiling___compiling_icode
, 103);
475 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____local_labels(fra
.me
.REG
[0]);
476 stack_frame_head
= fra
.me
.prev
;
477 return fra
.me
.REG
[0];
479 void compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq(val_t p0
, val_t p1
){
480 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
482 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
483 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
485 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq
;
486 fra
.me
.has_broke
= 0;
488 fra
.me
.REG
[0] = NIT_NULL
;
489 fra
.me
.REG
[1] = NIT_NULL
;
492 /* ./compiling//compiling_icode.nit:103 */
493 ATTR_compiling___compiling_icode___I2CCompilerVisitor____local_labels(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
494 stack_frame_head
= fra
.me
.prev
;
497 val_t
compiling___compiling_icode___I2CCompilerVisitor___escaped_labels(val_t p0
){
498 struct {struct stack_frame_t me
;} fra
;
501 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
502 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
504 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels
;
505 fra
.me
.has_broke
= 0;
507 fra
.me
.REG
[0] = NIT_NULL
;
509 /* ./compiling//compiling_icode.nit:106 */
510 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0])!=NIT_NULL
);
511 if (UNTAG_Bool(REGB0
)) {
513 nit_abort("Uninitialized attribute %s", "_escaped_labels", LOCATE_compiling___compiling_icode
, 106);
515 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]);
516 stack_frame_head
= fra
.me
.prev
;
517 return fra
.me
.REG
[0];
519 void compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq(val_t p0
, val_t p1
){
520 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
522 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
523 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
525 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq
;
526 fra
.me
.has_broke
= 0;
528 fra
.me
.REG
[0] = NIT_NULL
;
529 fra
.me
.REG
[1] = NIT_NULL
;
532 /* ./compiling//compiling_icode.nit:106 */
533 ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
534 stack_frame_head
= fra
.me
.prev
;
537 val_t
compiling___compiling_icode___I2CCompilerVisitor___register_escape_label(val_t p0
, val_t p1
){
538 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
543 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
544 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
546 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___register_escape_label
;
547 fra
.me
.has_broke
= 0;
549 fra
.me
.REG
[0] = NIT_NULL
;
550 fra
.me
.REG
[1] = NIT_NULL
;
551 fra
.me
.REG
[2] = NIT_NULL
;
554 /* ./compiling//compiling_icode.nit:113 */
555 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0])!=NIT_NULL
);
556 if (UNTAG_Bool(REGB0
)) {
558 nit_abort("Uninitialized attribute %s", "_escaped_labels", LOCATE_compiling___compiling_icode
, 113);
560 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]);
561 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
562 if (UNTAG_Bool(REGB0
)) {
563 /* ./compiling//compiling_icode.nit:114 */
564 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0])!=NIT_NULL
);
565 if (UNTAG_Bool(REGB0
)) {
567 nit_abort("Uninitialized attribute %s", "_escaped_labels", LOCATE_compiling___compiling_icode
, 114);
569 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]);
570 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
571 REGB0
= fra
.me
.REG
[2];
574 /* ./compiling//compiling_icode.nit:116 */
575 REGB1
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0])!=NIT_NULL
);
576 if (UNTAG_Bool(REGB1
)) {
578 nit_abort("Uninitialized attribute %s", "_escaped_labels", LOCATE_compiling___compiling_icode
, 116);
580 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]);
581 REGB1
= CALL_standard___collection___abstract_collection___MapRead___length(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
583 /* ./../lib/standard//kernel.nit:235 */
584 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
585 /* ./compiling//compiling_icode.nit:117 */
586 REGB1
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0])!=NIT_NULL
);
587 if (UNTAG_Bool(REGB1
)) {
589 nit_abort("Uninitialized attribute %s", "_escaped_labels", LOCATE_compiling___compiling_icode
, 117);
591 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]);
592 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB2
);
593 /* ./compiling//compiling_icode.nit:118 */
598 stack_frame_head
= fra
.me
.prev
;
601 void compiling___compiling_icode___I2CCompilerVisitor___add_label(val_t p0
, val_t p1
){
602 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
605 static val_t once_value_1
; /* Once value */
606 static val_t once_value_2
; /* Once value */
607 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
608 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
610 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_label
;
611 fra
.me
.has_broke
= 0;
613 fra
.me
.REG
[0] = NIT_NULL
;
614 fra
.me
.REG
[1] = NIT_NULL
;
615 fra
.me
.REG
[2] = NIT_NULL
;
616 fra
.me
.REG
[3] = NIT_NULL
;
619 /* ./compiling//compiling_icode.nit:125 */
620 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
621 if (UNTAG_Bool(REGB0
)) {
623 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling___compiling_icode
, 125);
625 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
626 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
627 if (UNTAG_Bool(REGB0
)) {
628 /* ./compiling//compiling_icode.nit:126 */
630 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
632 fra
.me
.REG
[3] = BOX_NativeString("");
634 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
635 once_value_1
= fra
.me
.REG
[3];
636 register_static_object(&once_value_1
);
637 } else fra
.me
.REG
[3] = once_value_1
;
638 fra
.me
.REG
[3] = fra
.me
.REG
[3];
639 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
640 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
641 if (UNTAG_Bool(REGB0
)) {
643 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling___compiling_icode
, 126);
645 fra
.me
.REG
[3] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
646 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
647 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
649 fra
.me
.REG
[1] = BOX_NativeString(": while(0);");
651 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
652 once_value_2
= fra
.me
.REG
[1];
653 register_static_object(&once_value_2
);
654 } else fra
.me
.REG
[1] = once_value_2
;
655 fra
.me
.REG
[1] = fra
.me
.REG
[1];
656 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
657 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
658 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
660 stack_frame_head
= fra
.me
.prev
;
663 void compiling___compiling_icode___I2CCompilerVisitor___add_goto(val_t p0
, val_t p1
){
664 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
668 static val_t once_value_1
; /* Once value */
669 static val_t once_value_2
; /* Once value */
670 static val_t once_value_3
; /* Once value */
671 static val_t once_value_4
; /* Once value */
672 static val_t once_value_5
; /* Once value */
673 static val_t once_value_6
; /* Once value */
674 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
675 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
677 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_goto
;
678 fra
.me
.has_broke
= 0;
680 fra
.me
.REG
[0] = NIT_NULL
;
681 fra
.me
.REG
[1] = NIT_NULL
;
682 fra
.me
.REG
[2] = NIT_NULL
;
683 fra
.me
.REG
[3] = NIT_NULL
;
684 fra
.me
.REG
[4] = NIT_NULL
;
687 /* ./compiling//compiling_icode.nit:130 */
688 fra
.me
.REG
[2] = fra
.me
.REG
[0];
689 /* ./compiling//compiling_icode.nit:133 */
690 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
691 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
692 if (UNTAG_Bool(REGB0
)) {
693 /* ./compiling//compiling_icode.nit:134 */
695 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
697 fra
.me
.REG
[4] = BOX_NativeString("goto ");
699 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
700 once_value_1
= fra
.me
.REG
[4];
701 register_static_object(&once_value_1
);
702 } else fra
.me
.REG
[4] = once_value_1
;
703 fra
.me
.REG
[4] = fra
.me
.REG
[4];
704 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
705 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___lab(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
706 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
708 fra
.me
.REG
[4] = BOX_NativeString(";");
710 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
711 once_value_2
= fra
.me
.REG
[4];
712 register_static_object(&once_value_2
);
713 } else fra
.me
.REG
[4] = once_value_2
;
714 fra
.me
.REG
[4] = fra
.me
.REG
[4];
715 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
716 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
717 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
719 /* ./compiling//compiling_icode.nit:136 */
720 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
721 if (UNTAG_Bool(REGB0
)) {
723 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_icode
, 136);
725 /* ./compiling//compiling_icode.nit:137 */
726 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___register_escape_label(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
727 /* ./compiling//compiling_icode.nit:138 */
729 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
731 fra
.me
.REG
[3] = BOX_NativeString("closctx->has_broke = ");
733 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
734 once_value_3
= fra
.me
.REG
[3];
735 register_static_object(&once_value_3
);
736 } else fra
.me
.REG
[3] = once_value_3
;
737 fra
.me
.REG
[3] = fra
.me
.REG
[3];
738 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
739 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
740 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
742 fra
.me
.REG
[3] = BOX_NativeString(";");
744 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
745 once_value_4
= fra
.me
.REG
[3];
746 register_static_object(&once_value_4
);
747 } else fra
.me
.REG
[3] = once_value_4
;
748 fra
.me
.REG
[3] = fra
.me
.REG
[3];
749 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
750 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
751 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
752 /* ./compiling//compiling_icode.nit:139 */
754 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
756 fra
.me
.REG
[3] = BOX_NativeString("goto ");
758 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
759 once_value_5
= fra
.me
.REG
[3];
760 register_static_object(&once_value_5
);
761 } else fra
.me
.REG
[3] = once_value_5
;
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
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___return_label(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
765 REGB0
= TAG_Bool(fra
.me
.REG
[3]!=NIT_NULL
);
766 if (UNTAG_Bool(REGB0
)) {
768 nit_abort("Cast failed", NULL
, LOCATE_compiling___compiling_icode
, 139);
770 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___lab(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
771 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
773 fra
.me
.REG
[3] = BOX_NativeString(";");
775 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
776 once_value_6
= fra
.me
.REG
[3];
777 register_static_object(&once_value_6
);
778 } else fra
.me
.REG
[3] = once_value_6
;
779 fra
.me
.REG
[3] = fra
.me
.REG
[3];
780 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
781 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
782 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
784 stack_frame_head
= fra
.me
.prev
;
787 val_t
compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq(val_t p0
){
788 struct {struct stack_frame_t me
;} fra
;
791 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
792 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
794 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq
;
795 fra
.me
.has_broke
= 0;
797 fra
.me
.REG
[0] = NIT_NULL
;
799 /* ./compiling//compiling_icode.nit:143 */
800 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____marks_to_seq(fra
.me
.REG
[0])!=NIT_NULL
);
801 if (UNTAG_Bool(REGB0
)) {
803 nit_abort("Uninitialized attribute %s", "_marks_to_seq", LOCATE_compiling___compiling_icode
, 143);
805 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____marks_to_seq(fra
.me
.REG
[0]);
806 stack_frame_head
= fra
.me
.prev
;
807 return fra
.me
.REG
[0];
809 val_t
compiling___compiling_icode___I2CCompilerVisitor___closure(val_t p0
){
810 struct {struct stack_frame_t me
;} fra
;
813 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
814 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
816 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___closure
;
817 fra
.me
.has_broke
= 0;
819 fra
.me
.REG
[0] = NIT_NULL
;
821 /* ./compiling//compiling_icode.nit:146 */
822 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____closure(fra
.me
.REG
[0])!=NIT_NULL
);
823 if (UNTAG_Bool(REGB0
)) {
825 nit_abort("Uninitialized attribute %s", "_closure", LOCATE_compiling___compiling_icode
, 146);
827 REGB0
= ATTR_compiling___compiling_icode___I2CCompilerVisitor____closure(fra
.me
.REG
[0]);
828 stack_frame_head
= fra
.me
.prev
;
831 void compiling___compiling_icode___I2CCompilerVisitor___closure__eq(val_t p0
, val_t p1
){
832 struct {struct stack_frame_t me
;} fra
;
835 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
836 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
838 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___closure__eq
;
839 fra
.me
.has_broke
= 0;
841 fra
.me
.REG
[0] = NIT_NULL
;
844 /* ./compiling//compiling_icode.nit:146 */
845 ATTR_compiling___compiling_icode___I2CCompilerVisitor____closure(fra
.me
.REG
[0]) = REGB0
;
846 stack_frame_head
= fra
.me
.prev
;
849 val_t
compiling___compiling_icode___I2CCompilerVisitor___visitor(val_t p0
){
850 struct {struct stack_frame_t me
;} fra
;
853 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
854 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
856 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___visitor
;
857 fra
.me
.has_broke
= 0;
859 fra
.me
.REG
[0] = NIT_NULL
;
861 /* ./compiling//compiling_icode.nit:149 */
862 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____visitor(fra
.me
.REG
[0])!=NIT_NULL
);
863 if (UNTAG_Bool(REGB0
)) {
865 nit_abort("Uninitialized attribute %s", "_visitor", LOCATE_compiling___compiling_icode
, 149);
867 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____visitor(fra
.me
.REG
[0]);
868 stack_frame_head
= fra
.me
.prev
;
869 return fra
.me
.REG
[0];
871 val_t
compiling___compiling_icode___I2CCompilerVisitor___iroutine(val_t p0
){
872 struct {struct stack_frame_t me
;} fra
;
875 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
876 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
878 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___iroutine
;
879 fra
.me
.has_broke
= 0;
881 fra
.me
.REG
[0] = NIT_NULL
;
883 /* ./compiling//compiling_icode.nit:152 */
884 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____iroutine(fra
.me
.REG
[0])!=NIT_NULL
);
885 if (UNTAG_Bool(REGB0
)) {
887 nit_abort("Uninitialized attribute %s", "_iroutine", LOCATE_compiling___compiling_icode
, 152);
889 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____iroutine(fra
.me
.REG
[0]);
890 stack_frame_head
= fra
.me
.prev
;
891 return fra
.me
.REG
[0];
893 val_t
compiling___compiling_icode___I2CCompilerVisitor___return_label(val_t p0
){
894 struct {struct stack_frame_t me
;} fra
;
896 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
897 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
899 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___return_label
;
900 fra
.me
.has_broke
= 0;
902 fra
.me
.REG
[0] = NIT_NULL
;
904 /* ./compiling//compiling_icode.nit:155 */
905 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____return_label(fra
.me
.REG
[0]);
906 stack_frame_head
= fra
.me
.prev
;
907 return fra
.me
.REG
[0];
909 void compiling___compiling_icode___I2CCompilerVisitor___return_label__eq(val_t p0
, val_t p1
){
910 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
912 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
913 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
915 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___return_label__eq
;
916 fra
.me
.has_broke
= 0;
918 fra
.me
.REG
[0] = NIT_NULL
;
919 fra
.me
.REG
[1] = NIT_NULL
;
922 /* ./compiling//compiling_icode.nit:155 */
923 ATTR_compiling___compiling_icode___I2CCompilerVisitor____return_label(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
924 stack_frame_head
= fra
.me
.prev
;
927 void compiling___compiling_icode___I2CCompilerVisitor___add_decl(val_t p0
, val_t p1
){
928 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
930 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
931 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
933 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_decl
;
934 fra
.me
.has_broke
= 0;
936 fra
.me
.REG
[0] = NIT_NULL
;
937 fra
.me
.REG
[1] = NIT_NULL
;
940 /* ./compiling//compiling_icode.nit:160 */
941 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
942 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
943 stack_frame_head
= fra
.me
.prev
;
946 val_t
compiling___compiling_icode___I2CCompilerVisitor___new_instr(val_t p0
){
947 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
951 static val_t once_value_1
; /* Once value */
952 static val_t once_value_2
; /* Once value */
953 static val_t once_value_3
; /* Once value */
954 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
955 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
957 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___new_instr
;
958 fra
.me
.has_broke
= 0;
960 fra
.me
.REG
[0] = NIT_NULL
;
961 fra
.me
.REG
[1] = NIT_NULL
;
962 fra
.me
.REG
[2] = NIT_NULL
;
963 fra
.me
.REG
[3] = NIT_NULL
;
965 /* ./compiling//compiling_icode.nit:167 */
966 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
967 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
968 /* ./compiling//compiling_icode.nit:168 */
969 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____next_location(fra
.me
.REG
[0]);
970 /* ./compiling//compiling_icode.nit:169 */
971 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
972 if (UNTAG_Bool(REGB0
)) {
974 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
975 if (UNTAG_Bool(REGB1
)) {
976 REGB1
= TAG_Bool(false);
979 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
983 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
984 if (UNTAG_Bool(REGB0
)) {
985 /* ./compiling//compiling_icode.nit:170 */
986 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
987 CALL_compiling___compiling_base___CompilerVisitor___add_indent(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
988 /* ./compiling//compiling_icode.nit:171 */
990 fra
.me
.REG
[3] = BOX_NativeString("/* ");
992 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
993 once_value_1
= fra
.me
.REG
[3];
994 register_static_object(&once_value_1
);
995 } else fra
.me
.REG
[3] = once_value_1
;
996 fra
.me
.REG
[3] = fra
.me
.REG
[3];
997 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
998 /* ./compiling//compiling_icode.nit:172 */
999 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1000 if (UNTAG_Bool(REGB0
)) {
1001 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 172);
1003 fra
.me
.REG
[3] = CALL_location___Location___file(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1004 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1005 if (UNTAG_Bool(REGB0
)) {
1006 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 172);
1008 fra
.me
.REG
[3] = CALL_location___SourceFile___filename(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1009 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1010 /* ./compiling//compiling_icode.nit:173 */
1011 if (!once_value_2
) {
1012 fra
.me
.REG
[3] = BOX_NativeString(":");
1014 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1015 once_value_2
= fra
.me
.REG
[3];
1016 register_static_object(&once_value_2
);
1017 } else fra
.me
.REG
[3] = once_value_2
;
1018 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1019 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1020 /* ./compiling//compiling_icode.nit:174 */
1021 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1022 if (UNTAG_Bool(REGB0
)) {
1023 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 174);
1025 REGB0
= CALL_location___Location___line_start(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1026 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
1027 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1028 /* ./compiling//compiling_icode.nit:175 */
1029 if (!once_value_3
) {
1030 fra
.me
.REG
[2] = BOX_NativeString(" */\n");
1032 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1033 once_value_3
= fra
.me
.REG
[2];
1034 register_static_object(&once_value_3
);
1035 } else fra
.me
.REG
[2] = once_value_3
;
1036 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1037 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1038 /* ./compiling//compiling_icode.nit:176 */
1039 ATTR_compiling___compiling_icode___I2CCompilerVisitor____next_location(fra
.me
.REG
[0]) = NIT_NULL
;
1041 /* ./compiling//compiling_icode.nit:178 */
1042 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1043 CALL_compiling___compiling_base___CompilerVisitor___add_indent(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1044 /* ./compiling//compiling_icode.nit:179 */
1047 stack_frame_head
= fra
.me
.prev
;
1048 return fra
.me
.REG
[1];
1050 void compiling___compiling_icode___I2CCompilerVisitor___add_instr(val_t p0
, val_t p1
){
1051 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1054 static val_t once_value_1
; /* Once value */
1055 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1056 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1058 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_instr
;
1059 fra
.me
.has_broke
= 0;
1060 fra
.me
.REG_size
= 2;
1061 fra
.me
.REG
[0] = NIT_NULL
;
1062 fra
.me
.REG
[1] = NIT_NULL
;
1065 /* ./compiling//compiling_icode.nit:184 */
1066 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1067 fra
.me
.REG
[1] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1068 if (!once_value_1
) {
1069 fra
.me
.REG
[0] = BOX_NativeString("\n");
1071 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1072 once_value_1
= fra
.me
.REG
[0];
1073 register_static_object(&once_value_1
);
1074 } else fra
.me
.REG
[0] = once_value_1
;
1075 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1076 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1077 stack_frame_head
= fra
.me
.prev
;
1080 void compiling___compiling_icode___I2CCompilerVisitor___indent(val_t p0
){
1081 struct {struct stack_frame_t me
;} fra
;
1083 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1084 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1086 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___indent
;
1087 fra
.me
.has_broke
= 0;
1088 fra
.me
.REG_size
= 1;
1089 fra
.me
.REG
[0] = NIT_NULL
;
1091 /* ./compiling//compiling_icode.nit:189 */
1092 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1093 CALL_compiling___compiling_base___CompilerVisitor___indent(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1094 stack_frame_head
= fra
.me
.prev
;
1097 void compiling___compiling_icode___I2CCompilerVisitor___unindent(val_t p0
){
1098 struct {struct stack_frame_t me
;} fra
;
1100 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1101 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1103 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___unindent
;
1104 fra
.me
.has_broke
= 0;
1105 fra
.me
.REG_size
= 1;
1106 fra
.me
.REG
[0] = NIT_NULL
;
1108 /* ./compiling//compiling_icode.nit:194 */
1109 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1110 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1111 stack_frame_head
= fra
.me
.prev
;
1114 void compiling___compiling_icode___I2CCompilerVisitor___add_assignment(val_t p0
, val_t p1
, val_t p2
){
1115 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1117 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1118 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1120 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_assignment
;
1121 fra
.me
.has_broke
= 0;
1122 fra
.me
.REG_size
= 3;
1123 fra
.me
.REG
[0] = NIT_NULL
;
1124 fra
.me
.REG
[1] = NIT_NULL
;
1125 fra
.me
.REG
[2] = NIT_NULL
;
1129 /* ./compiling//compiling_icode.nit:199 */
1130 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1131 CALL_compiling___compiling_base___CompilerVisitor___add_assignment(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
1132 stack_frame_head
= fra
.me
.prev
;
1135 void compiling___compiling_icode___I2CCompilerVisitor___add_location(val_t p0
, val_t p1
){
1136 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1141 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1142 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1144 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_location
;
1145 fra
.me
.has_broke
= 0;
1146 fra
.me
.REG_size
= 5;
1147 fra
.me
.REG
[0] = NIT_NULL
;
1148 fra
.me
.REG
[1] = NIT_NULL
;
1149 fra
.me
.REG
[2] = NIT_NULL
;
1150 fra
.me
.REG
[3] = NIT_NULL
;
1151 fra
.me
.REG
[4] = NIT_NULL
;
1154 /* ./compiling//compiling_icode.nit:209 */
1155 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_location(fra
.me
.REG
[0]);
1156 /* ./compiling//compiling_icode.nit:210 */
1157 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1158 if (UNTAG_Bool(REGB0
)) {
1160 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1161 if (UNTAG_Bool(REGB1
)) {
1162 REGB1
= TAG_Bool(false);
1165 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1169 if (UNTAG_Bool(REGB0
)) {
1170 REGB0
= TAG_Bool(true);
1172 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1173 if (UNTAG_Bool(REGB1
)) {
1175 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1176 if (UNTAG_Bool(REGB2
)) {
1177 REGB2
= TAG_Bool(false);
1180 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1186 if (UNTAG_Bool(REGB0
)) {
1189 /* ./compiling//compiling_icode.nit:211 */
1190 ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_location(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1191 /* ./compiling//compiling_icode.nit:212 */
1192 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1193 if (UNTAG_Bool(REGB0
)) {
1195 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1196 if (UNTAG_Bool(REGB1
)) {
1197 REGB1
= TAG_Bool(false);
1200 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1204 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1205 if (UNTAG_Bool(REGB0
)) {
1206 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1207 if (UNTAG_Bool(REGB0
)) {
1208 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 212);
1210 fra
.me
.REG
[3] = CALL_location___Location___file(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1211 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1212 if (UNTAG_Bool(REGB0
)) {
1213 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 212);
1215 fra
.me
.REG
[4] = CALL_location___Location___file(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1216 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[3],fra
.me
.REG
[4]));
1217 if (UNTAG_Bool(REGB0
)) {
1219 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1220 if (UNTAG_Bool(REGB1
)) {
1221 REGB1
= TAG_Bool(false);
1224 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1229 REGB1
= TAG_Bool(false);
1232 if (UNTAG_Bool(REGB0
)) {
1233 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1234 if (UNTAG_Bool(REGB0
)) {
1235 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 212);
1237 REGB0
= CALL_location___Location___line_start(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1238 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1239 if (UNTAG_Bool(REGB1
)) {
1240 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 212);
1242 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1243 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
1244 if (UNTAG_Bool(REGB2
)) {
1246 /* ./../lib/standard//kernel.nit:227 */
1247 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
1248 /* ./compiling//compiling_icode.nit:212 */
1252 REGB1
= TAG_Bool(false);
1255 if (UNTAG_Bool(REGB2
)) {
1256 /* ./compiling//compiling_icode.nit:213 */
1259 /* ./compiling//compiling_icode.nit:215 */
1260 ATTR_compiling___compiling_icode___I2CCompilerVisitor____next_location(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1263 stack_frame_head
= fra
.me
.prev
;
1266 val_t
compiling___compiling_icode___I2CCompilerVisitor___basecname(val_t p0
){
1267 struct {struct stack_frame_t me
;} fra
;
1270 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1271 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1273 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___basecname
;
1274 fra
.me
.has_broke
= 0;
1275 fra
.me
.REG_size
= 1;
1276 fra
.me
.REG
[0] = NIT_NULL
;
1278 /* ./compiling//compiling_icode.nit:219 */
1279 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____basecname(fra
.me
.REG
[0])!=NIT_NULL
);
1280 if (UNTAG_Bool(REGB0
)) {
1282 nit_abort("Uninitialized attribute %s", "_basecname", LOCATE_compiling___compiling_icode
, 219);
1284 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____basecname(fra
.me
.REG
[0]);
1285 stack_frame_head
= fra
.me
.prev
;
1286 return fra
.me
.REG
[0];
1288 void compiling___compiling_icode___I2CCompilerVisitor___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1289 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___compiling_icode___I2CCompilerVisitor
].i
;
1290 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1292 if (init_table
[itpos0
]) return;
1293 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1294 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1296 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___init
;
1297 fra
.me
.has_broke
= 0;
1298 fra
.me
.REG_size
= 4;
1299 fra
.me
.REG
[0] = NIT_NULL
;
1300 fra
.me
.REG
[1] = NIT_NULL
;
1301 fra
.me
.REG
[2] = NIT_NULL
;
1302 fra
.me
.REG
[3] = NIT_NULL
;
1307 /* ./compiling//compiling_icode.nit:224 */
1308 ATTR_compiling___compiling_icode___I2CCompilerVisitor____visitor(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1309 /* ./compiling//compiling_icode.nit:225 */
1310 ATTR_compiling___compiling_icode___I2CCompilerVisitor____iroutine(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
1311 /* ./compiling//compiling_icode.nit:226 */
1312 ATTR_compiling___compiling_icode___I2CCompilerVisitor____basecname(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
1313 stack_frame_head
= fra
.me
.prev
;
1314 init_table
[itpos0
] = 1;
1317 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
){
1318 struct {struct stack_frame_t me
; val_t MORE_REG
[11];} fra
;
1326 static val_t once_value_1
; /* Once value */
1327 static val_t once_value_2
; /* Once value */
1328 static val_t once_value_3
; /* Once value */
1329 static val_t once_value_4
; /* Once value */
1330 static val_t once_value_6
; /* Once value */
1331 static val_t once_value_7
; /* Once value */
1332 static val_t once_value_8
; /* Once value */
1333 static val_t once_value_9
; /* Once value */
1334 static val_t once_value_10
; /* Once value */
1335 static val_t once_value_11
; /* Once value */
1336 static val_t once_value_13
; /* Once value */
1337 static val_t once_value_14
; /* Once value */
1338 static val_t once_value_15
; /* Once value */
1339 static val_t once_value_16
; /* Once value */
1340 static val_t once_value_17
; /* Once value */
1341 static val_t once_value_18
; /* Once value */
1342 static val_t once_value_19
; /* Once value */
1343 static val_t once_value_20
; /* Once value */
1344 static val_t once_value_21
; /* Once value */
1345 static val_t once_value_22
; /* Once value */
1346 static val_t once_value_23
; /* Once value */
1347 static val_t once_value_25
; /* Once value */
1348 static val_t once_value_26
; /* Once value */
1349 static val_t once_value_27
; /* Once value */
1350 static val_t once_value_28
; /* Once value */
1351 static val_t once_value_29
; /* Once value */
1352 static val_t once_value_30
; /* Once value */
1353 static val_t once_value_31
; /* Once value */
1354 static val_t once_value_32
; /* Once value */
1355 static val_t once_value_33
; /* Once value */
1356 static val_t once_value_34
; /* Once value */
1357 static val_t once_value_35
; /* Once value */
1358 static val_t once_value_36
; /* Once value */
1359 static val_t once_value_37
; /* Once value */
1360 static val_t once_value_38
; /* Once value */
1361 static val_t once_value_39
; /* Once value */
1362 static val_t once_value_40
; /* Once value */
1363 static val_t once_value_41
; /* Once value */
1364 static val_t once_value_42
; /* Once value */
1365 static val_t once_value_43
; /* Once value */
1366 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1367 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1369 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IRoutine___compile_signature_to_c
;
1370 fra
.me
.has_broke
= 0;
1371 fra
.me
.REG_size
= 12;
1372 fra
.me
.REG
[0] = NIT_NULL
;
1373 fra
.me
.REG
[1] = NIT_NULL
;
1374 fra
.me
.REG
[2] = NIT_NULL
;
1375 fra
.me
.REG
[3] = NIT_NULL
;
1376 fra
.me
.REG
[4] = NIT_NULL
;
1377 fra
.me
.REG
[5] = NIT_NULL
;
1378 fra
.me
.REG
[6] = NIT_NULL
;
1379 fra
.me
.REG
[7] = NIT_NULL
;
1380 fra
.me
.REG
[8] = NIT_NULL
;
1381 fra
.me
.REG
[9] = NIT_NULL
;
1382 fra
.me
.REG
[10] = NIT_NULL
;
1383 fra
.me
.REG
[11] = NIT_NULL
;
1390 /* ./compiling//compiling_icode.nit:237 */
1391 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___init();
1392 /* ./compiling//compiling_icode.nit:238 */
1393 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___init();
1394 /* ./compiling//compiling_icode.nit:239 */
1395 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1396 if (UNTAG_Bool(REGB0
)) {
1398 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1399 if (UNTAG_Bool(REGB1
)) {
1400 REGB1
= TAG_Bool(false);
1403 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
1407 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1408 if (UNTAG_Bool(REGB0
)) {
1409 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4]);
1411 /* ./compiling//compiling_icode.nit:240 */
1413 fra
.me
.REG
[4] = CALL_icode___icode_base___IRoutine___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1414 REGB1
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1415 /* ./../lib/standard//kernel.nit:352 */
1417 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1418 if (UNTAG_Bool(REGB2
)) {
1420 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1422 /* ./../lib/standard//kernel.nit:232 */
1423 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1424 /* ./../lib/standard//kernel.nit:352 */
1425 if (UNTAG_Bool(REGB2
)) {
1426 /* ./compiling//compiling_icode.nit:240 */
1428 /* ./compiling//compiling_icode.nit:241 */
1430 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
1431 if (!once_value_1
) {
1432 fra
.me
.REG
[8] = BOX_NativeString("p");
1434 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1435 once_value_1
= fra
.me
.REG
[8];
1436 register_static_object(&once_value_1
);
1437 } else fra
.me
.REG
[8] = once_value_1
;
1438 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1439 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1440 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
1441 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1442 if (!once_value_2
) {
1443 fra
.me
.REG
[8] = BOX_NativeString("");
1445 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1446 once_value_2
= fra
.me
.REG
[8];
1447 register_static_object(&once_value_2
);
1448 } else fra
.me
.REG
[8] = once_value_2
;
1449 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1450 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1451 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1452 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
1453 /* ./compiling//compiling_icode.nit:242 */
1455 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
1456 if (!once_value_3
) {
1457 fra
.me
.REG
[8] = BOX_NativeString("val_t p");
1459 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1460 once_value_3
= fra
.me
.REG
[8];
1461 register_static_object(&once_value_3
);
1462 } else fra
.me
.REG
[8] = once_value_3
;
1463 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1464 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1465 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
1466 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1467 if (!once_value_4
) {
1468 fra
.me
.REG
[8] = BOX_NativeString("");
1470 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
1471 once_value_4
= fra
.me
.REG
[8];
1472 register_static_object(&once_value_4
);
1473 } else fra
.me
.REG
[8] = once_value_4
;
1474 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1475 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1476 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1477 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4]);
1478 /* ./../lib/standard//kernel.nit:354 */
1480 /* ./../lib/standard//kernel.nit:235 */
1481 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1482 /* ./../lib/standard//kernel.nit:354 */
1485 /* ./../lib/standard//kernel.nit:352 */
1490 /* ./compiling//compiling_icode.nit:244 */
1491 fra
.me
.REG
[4] = CALL_icode___icode_base___IRoutine___closure_decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1492 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1493 if (UNTAG_Bool(REGB0
)) {
1495 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1496 if (UNTAG_Bool(REGB1
)) {
1497 REGB1
= TAG_Bool(false);
1500 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
1504 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1505 if (UNTAG_Bool(REGB0
)) {
1506 /* ./compiling//compiling_icode.nit:245 */
1507 if (!once_value_6
) {
1508 fra
.me
.REG
[4] = BOX_NativeString("struct stack_frame_t *closctx_param");
1509 REGB0
= TAG_Int(35);
1510 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1511 once_value_6
= fra
.me
.REG
[4];
1512 register_static_object(&once_value_6
);
1513 } else fra
.me
.REG
[4] = once_value_6
;
1514 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1515 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4]);
1516 /* ./compiling//compiling_icode.nit:246 */
1518 fra
.me
.REG
[4] = CALL_icode___icode_base___IRoutine___closure_decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1519 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1520 if (UNTAG_Bool(REGB1
)) {
1521 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 246);
1523 REGB1
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1524 /* ./../lib/standard//kernel.nit:352 */
1526 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1527 if (UNTAG_Bool(REGB2
)) {
1529 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1531 /* ./../lib/standard//kernel.nit:232 */
1532 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1533 /* ./../lib/standard//kernel.nit:352 */
1534 if (UNTAG_Bool(REGB2
)) {
1535 /* ./compiling//compiling_icode.nit:246 */
1537 /* ./compiling//compiling_icode.nit:247 */
1539 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
1540 if (!once_value_7
) {
1541 fra
.me
.REG
[8] = BOX_NativeString("CLOS_");
1543 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1544 once_value_7
= fra
.me
.REG
[8];
1545 register_static_object(&once_value_7
);
1546 } else fra
.me
.REG
[8] = once_value_7
;
1547 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1548 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1549 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1550 if (!once_value_8
) {
1551 fra
.me
.REG
[8] = BOX_NativeString("_");
1553 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1554 once_value_8
= fra
.me
.REG
[8];
1555 register_static_object(&once_value_8
);
1556 } else fra
.me
.REG
[8] = once_value_8
;
1557 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1558 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1559 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
1560 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1561 if (!once_value_9
) {
1562 fra
.me
.REG
[8] = BOX_NativeString("");
1564 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1565 once_value_9
= fra
.me
.REG
[8];
1566 register_static_object(&once_value_9
);
1567 } else fra
.me
.REG
[8] = once_value_9
;
1568 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1569 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1570 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1571 /* ./compiling//compiling_icode.nit:248 */
1572 fra
.me
.REG
[8] = CALL_icode___icode_base___IRoutine___closure_decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1573 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1574 if (UNTAG_Bool(REGB3
)) {
1575 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 248);
1577 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB2
);
1578 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1579 if (UNTAG_Bool(REGB3
)) {
1580 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 248);
1582 fra
.me
.REG
[8] = CALL_icode___icode_base___IClosureDecl___closure(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1583 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMClosure___signature(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1584 /* ./compiling//compiling_icode.nit:249 */
1585 fra
.me
.REG
[9] = NEW_Array_standard___collection___array___Array___init();
1586 /* ./compiling//compiling_icode.nit:250 */
1587 if (!once_value_10
) {
1588 fra
.me
.REG
[10] = BOX_NativeString("struct stack_frame_t *");
1589 REGB3
= TAG_Int(22);
1590 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB3
);
1591 once_value_10
= fra
.me
.REG
[10];
1592 register_static_object(&once_value_10
);
1593 } else fra
.me
.REG
[10] = once_value_10
;
1594 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1595 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1596 /* ./compiling//compiling_icode.nit:251 */
1598 REGB4
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1599 /* ./../lib/standard//kernel.nit:352 */
1601 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1602 if (UNTAG_Bool(REGB5
)) {
1604 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1606 /* ./../lib/standard//kernel.nit:232 */
1607 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
1608 /* ./../lib/standard//kernel.nit:352 */
1609 if (UNTAG_Bool(REGB5
)) {
1610 /* ./compiling//compiling_icode.nit:252 */
1611 if (!once_value_11
) {
1612 fra
.me
.REG
[10] = BOX_NativeString("val_t");
1614 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB5
);
1615 once_value_11
= fra
.me
.REG
[10];
1616 register_static_object(&once_value_11
);
1617 } else fra
.me
.REG
[10] = once_value_11
;
1618 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1619 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1620 /* ./../lib/standard//kernel.nit:354 */
1622 /* ./../lib/standard//kernel.nit:235 */
1623 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB5
));
1624 /* ./../lib/standard//kernel.nit:354 */
1627 /* ./../lib/standard//kernel.nit:352 */
1632 /* ./compiling//compiling_icode.nit:254 */
1633 if (!once_value_13
) {
1634 fra
.me
.REG
[10] = BOX_NativeString("void");
1636 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB3
);
1637 once_value_13
= fra
.me
.REG
[10];
1638 register_static_object(&once_value_13
);
1639 } else fra
.me
.REG
[10] = once_value_13
;
1640 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1641 /* ./compiling//compiling_icode.nit:255 */
1642 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1643 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1644 if (UNTAG_Bool(REGB3
)) {
1646 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1647 if (UNTAG_Bool(REGB4
)) {
1648 REGB4
= TAG_Bool(false);
1651 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
1655 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
1656 if (UNTAG_Bool(REGB3
)) {
1657 if (!once_value_14
) {
1658 fra
.me
.REG
[8] = BOX_NativeString("val_t");
1660 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1661 once_value_14
= fra
.me
.REG
[8];
1662 register_static_object(&once_value_14
);
1663 } else fra
.me
.REG
[8] = once_value_14
;
1664 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1665 fra
.me
.REG
[10] = fra
.me
.REG
[8];
1667 /* ./compiling//compiling_icode.nit:256 */
1669 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
1670 if (!once_value_15
) {
1671 fra
.me
.REG
[11] = BOX_NativeString("typedef ");
1673 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB3
);
1674 once_value_15
= fra
.me
.REG
[11];
1675 register_static_object(&once_value_15
);
1676 } else fra
.me
.REG
[11] = once_value_15
;
1677 fra
.me
.REG
[11] = fra
.me
.REG
[11];
1678 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[11]);
1679 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
1680 if (!once_value_16
) {
1681 fra
.me
.REG
[10] = BOX_NativeString(" (*");
1683 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB3
);
1684 once_value_16
= fra
.me
.REG
[10];
1685 register_static_object(&once_value_16
);
1686 } else fra
.me
.REG
[10] = once_value_16
;
1687 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1688 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
1689 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1690 if (!once_value_17
) {
1691 fra
.me
.REG
[4] = BOX_NativeString(")(");
1693 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
1694 once_value_17
= fra
.me
.REG
[4];
1695 register_static_object(&once_value_17
);
1696 } else fra
.me
.REG
[4] = once_value_17
;
1697 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1698 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1699 if (!once_value_18
) {
1700 fra
.me
.REG
[4] = BOX_NativeString(", ");
1702 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
1703 once_value_18
= fra
.me
.REG
[4];
1704 register_static_object(&once_value_18
);
1705 } else fra
.me
.REG
[4] = once_value_18
;
1706 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1707 fra
.me
.REG
[4] = CALL_standard___string___Collection___join(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[4]);
1708 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1709 if (!once_value_19
) {
1710 fra
.me
.REG
[4] = BOX_NativeString(");");
1712 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
1713 once_value_19
= fra
.me
.REG
[4];
1714 register_static_object(&once_value_19
);
1715 } else fra
.me
.REG
[4] = once_value_19
;
1716 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1717 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1718 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1719 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
1720 /* ./compiling//compiling_icode.nit:257 */
1722 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
1723 if (!once_value_20
) {
1724 fra
.me
.REG
[4] = BOX_NativeString("clos_fun");
1726 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
1727 once_value_20
= fra
.me
.REG
[4];
1728 register_static_object(&once_value_20
);
1729 } else fra
.me
.REG
[4] = once_value_20
;
1730 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1731 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1732 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
1733 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1734 if (!once_value_21
) {
1735 fra
.me
.REG
[4] = BOX_NativeString("");
1737 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
1738 once_value_21
= fra
.me
.REG
[4];
1739 register_static_object(&once_value_21
);
1740 } else fra
.me
.REG
[4] = once_value_21
;
1741 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1742 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1743 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1744 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
1745 /* ./compiling//compiling_icode.nit:258 */
1747 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
1748 if (!once_value_22
) {
1749 fra
.me
.REG
[4] = BOX_NativeString("fun_t clos_fun");
1750 REGB3
= TAG_Int(14);
1751 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
1752 once_value_22
= fra
.me
.REG
[4];
1753 register_static_object(&once_value_22
);
1754 } else fra
.me
.REG
[4] = once_value_22
;
1755 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1756 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1757 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
1758 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1759 if (!once_value_23
) {
1760 fra
.me
.REG
[4] = BOX_NativeString("");
1762 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
1763 once_value_23
= fra
.me
.REG
[4];
1764 register_static_object(&once_value_23
);
1765 } else fra
.me
.REG
[4] = once_value_23
;
1766 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1767 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1768 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1769 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1770 /* ./../lib/standard//kernel.nit:354 */
1772 /* ./../lib/standard//kernel.nit:235 */
1773 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1774 /* ./../lib/standard//kernel.nit:354 */
1777 /* ./../lib/standard//kernel.nit:352 */
1783 /* ./compiling//compiling_icode.nit:261 */
1784 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1785 if (UNTAG_Bool(REGB0
)) {
1787 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1788 if (UNTAG_Bool(REGB1
)) {
1789 REGB1
= TAG_Bool(false);
1792 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
1796 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1797 if (UNTAG_Bool(REGB0
)) {
1798 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[5]);
1800 /* ./compiling//compiling_icode.nit:262 */
1801 if (!once_value_25
) {
1802 fra
.me
.REG
[5] = BOX_NativeString("void");
1804 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
1805 once_value_25
= fra
.me
.REG
[5];
1806 register_static_object(&once_value_25
);
1807 } else fra
.me
.REG
[5] = once_value_25
;
1808 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1809 /* ./compiling//compiling_icode.nit:263 */
1810 fra
.me
.REG
[0] = CALL_icode___icode_base___IRoutine___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1811 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1812 if (UNTAG_Bool(REGB0
)) {
1814 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1815 if (UNTAG_Bool(REGB1
)) {
1816 REGB1
= TAG_Bool(false);
1819 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
1823 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1824 if (UNTAG_Bool(REGB0
)) {
1825 if (!once_value_26
) {
1826 fra
.me
.REG
[0] = BOX_NativeString("val_t");
1828 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1829 once_value_26
= fra
.me
.REG
[0];
1830 register_static_object(&once_value_26
);
1831 } else fra
.me
.REG
[0] = once_value_26
;
1832 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1833 fra
.me
.REG
[5] = fra
.me
.REG
[0];
1835 /* ./compiling//compiling_icode.nit:265 */
1836 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1837 if (UNTAG_Bool(REGB0
)) {
1838 /* ./compiling//compiling_icode.nit:266 */
1839 if (!once_value_27
) {
1840 fra
.me
.REG
[0] = BOX_NativeString("void");
1842 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1843 once_value_27
= fra
.me
.REG
[0];
1844 register_static_object(&once_value_27
);
1845 } else fra
.me
.REG
[0] = once_value_27
;
1846 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1848 /* ./compiling//compiling_icode.nit:268 */
1849 if (!once_value_28
) {
1850 fra
.me
.REG
[8] = BOX_NativeString(", ");
1852 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
1853 once_value_28
= fra
.me
.REG
[8];
1854 register_static_object(&once_value_28
);
1855 } else fra
.me
.REG
[8] = once_value_28
;
1856 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1857 fra
.me
.REG
[8] = CALL_standard___string___Collection___join(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1858 fra
.me
.REG
[0] = fra
.me
.REG
[8];
1860 /* ./compiling//compiling_icode.nit:270 */
1861 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1862 if (UNTAG_Bool(REGB0
)) {
1864 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1865 if (UNTAG_Bool(REGB1
)) {
1866 REGB1
= TAG_Bool(false);
1869 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1873 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1874 if (UNTAG_Bool(REGB0
)) {
1876 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1877 if (!once_value_29
) {
1878 fra
.me
.REG
[7] = BOX_NativeString("static const char * const LOCATE_");
1879 REGB0
= TAG_Int(33);
1880 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
1881 once_value_29
= fra
.me
.REG
[7];
1882 register_static_object(&once_value_29
);
1883 } else fra
.me
.REG
[7] = once_value_29
;
1884 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1885 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1886 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
1887 if (!once_value_30
) {
1888 fra
.me
.REG
[7] = BOX_NativeString(" = \"");
1890 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
1891 once_value_30
= fra
.me
.REG
[7];
1892 register_static_object(&once_value_30
);
1893 } else fra
.me
.REG
[7] = once_value_30
;
1894 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1895 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1896 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1897 if (!once_value_31
) {
1898 fra
.me
.REG
[3] = BOX_NativeString("\";");
1900 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1901 once_value_31
= fra
.me
.REG
[3];
1902 register_static_object(&once_value_31
);
1903 } else fra
.me
.REG
[3] = once_value_31
;
1904 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1905 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1906 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1907 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
1909 /* ./compiling//compiling_icode.nit:271 */
1911 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1912 if (!once_value_32
) {
1913 fra
.me
.REG
[3] = BOX_NativeString("");
1915 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1916 once_value_32
= fra
.me
.REG
[3];
1917 register_static_object(&once_value_32
);
1918 } else fra
.me
.REG
[3] = once_value_32
;
1919 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1920 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1921 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
1922 if (!once_value_33
) {
1923 fra
.me
.REG
[3] = BOX_NativeString(" ");
1925 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1926 once_value_33
= fra
.me
.REG
[3];
1927 register_static_object(&once_value_33
);
1928 } else fra
.me
.REG
[3] = once_value_33
;
1929 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1930 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1931 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
1932 if (!once_value_34
) {
1933 fra
.me
.REG
[3] = BOX_NativeString("(");
1935 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1936 once_value_34
= fra
.me
.REG
[3];
1937 register_static_object(&once_value_34
);
1938 } else fra
.me
.REG
[3] = once_value_34
;
1939 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1940 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1941 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
1942 if (!once_value_35
) {
1943 fra
.me
.REG
[3] = BOX_NativeString(");");
1945 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1946 once_value_35
= fra
.me
.REG
[3];
1947 register_static_object(&once_value_35
);
1948 } else fra
.me
.REG
[3] = once_value_35
;
1949 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1950 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1951 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1952 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
1953 /* ./compiling//compiling_icode.nit:272 */
1955 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1956 if (!once_value_36
) {
1957 fra
.me
.REG
[3] = BOX_NativeString("typedef ");
1959 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1960 once_value_36
= fra
.me
.REG
[3];
1961 register_static_object(&once_value_36
);
1962 } else fra
.me
.REG
[3] = once_value_36
;
1963 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1964 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1965 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
1966 if (!once_value_37
) {
1967 fra
.me
.REG
[3] = BOX_NativeString(" (*");
1969 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1970 once_value_37
= fra
.me
.REG
[3];
1971 register_static_object(&once_value_37
);
1972 } else fra
.me
.REG
[3] = once_value_37
;
1973 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1974 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1975 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
1976 if (!once_value_38
) {
1977 fra
.me
.REG
[3] = BOX_NativeString("_t)(");
1979 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1980 once_value_38
= fra
.me
.REG
[3];
1981 register_static_object(&once_value_38
);
1982 } else fra
.me
.REG
[3] = once_value_38
;
1983 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1984 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1985 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
1986 if (!once_value_39
) {
1987 fra
.me
.REG
[3] = BOX_NativeString(");");
1989 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1990 once_value_39
= fra
.me
.REG
[3];
1991 register_static_object(&once_value_39
);
1992 } else fra
.me
.REG
[3] = once_value_39
;
1993 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1994 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1995 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1996 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
1997 /* ./compiling//compiling_icode.nit:273 */
1999 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2000 if (!once_value_40
) {
2001 fra
.me
.REG
[3] = BOX_NativeString("");
2003 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2004 once_value_40
= fra
.me
.REG
[3];
2005 register_static_object(&once_value_40
);
2006 } else fra
.me
.REG
[3] = once_value_40
;
2007 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2008 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
2009 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
2010 if (!once_value_41
) {
2011 fra
.me
.REG
[5] = BOX_NativeString(" ");
2013 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2014 once_value_41
= fra
.me
.REG
[5];
2015 register_static_object(&once_value_41
);
2016 } else fra
.me
.REG
[5] = once_value_41
;
2017 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2018 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
2019 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
2020 if (!once_value_42
) {
2021 fra
.me
.REG
[2] = BOX_NativeString("(");
2023 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2024 once_value_42
= fra
.me
.REG
[2];
2025 register_static_object(&once_value_42
);
2026 } else fra
.me
.REG
[2] = once_value_42
;
2027 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2028 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
2029 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
2030 if (!once_value_43
) {
2031 fra
.me
.REG
[0] = BOX_NativeString("){");
2033 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2034 once_value_43
= fra
.me
.REG
[0];
2035 register_static_object(&once_value_43
);
2036 } else fra
.me
.REG
[0] = once_value_43
;
2037 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2038 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
2039 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
2040 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
2041 /* ./compiling//compiling_icode.nit:274 */
2042 CALL_compiling___compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2043 /* ./compiling//compiling_icode.nit:275 */
2046 stack_frame_head
= fra
.me
.prev
;
2047 return fra
.me
.REG
[6];
2049 val_t
compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0
, val_t p1
, val_t p2
){
2050 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
2058 static val_t once_value_1
; /* Once value */
2059 static val_t once_value_2
; /* Once value */
2060 static val_t once_value_3
; /* Once value */
2061 static val_t once_value_4
; /* Once value */
2062 static val_t once_value_5
; /* Once value */
2063 static val_t once_value_6
; /* Once value */
2064 static val_t once_value_7
; /* Once value */
2065 static val_t once_value_8
; /* Once value */
2066 static val_t once_value_9
; /* Once value */
2067 static val_t once_value_10
; /* Once value */
2068 static val_t once_value_11
; /* Once value */
2069 static val_t once_value_12
; /* Once value */
2070 static val_t once_value_13
; /* Once value */
2071 static val_t once_value_14
; /* Once value */
2072 static val_t once_value_15
; /* Once value */
2073 static val_t once_value_17
; /* Once value */
2074 static val_t once_value_18
; /* Once value */
2075 static val_t once_value_20
; /* Once value */
2076 static val_t once_value_21
; /* Once value */
2077 static val_t once_value_22
; /* Once value */
2078 static val_t once_value_23
; /* Once value */
2079 static val_t once_value_26
; /* Once value */
2080 static val_t once_value_27
; /* Once value */
2081 static val_t once_value_29
; /* Once value */
2082 static val_t once_value_30
; /* Once value */
2083 static val_t once_value_31
; /* Once value */
2084 static val_t once_value_33
; /* Once value */
2085 static val_t once_value_34
; /* Once value */
2086 static val_t once_value_35
; /* Once value */
2087 static val_t once_value_36
; /* Once value */
2088 static val_t once_value_37
; /* Once value */
2089 static val_t once_value_38
; /* Once value */
2090 static val_t once_value_40
; /* Once value */
2091 static val_t once_value_41
; /* Once value */
2092 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2093 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
2095 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IRoutine___compile_inside_to_c
;
2096 fra
.me
.has_broke
= 0;
2097 fra
.me
.REG_size
= 10;
2098 fra
.me
.REG
[0] = NIT_NULL
;
2099 fra
.me
.REG
[1] = NIT_NULL
;
2100 fra
.me
.REG
[2] = NIT_NULL
;
2101 fra
.me
.REG
[3] = NIT_NULL
;
2102 fra
.me
.REG
[4] = NIT_NULL
;
2103 fra
.me
.REG
[5] = NIT_NULL
;
2104 fra
.me
.REG
[6] = NIT_NULL
;
2105 fra
.me
.REG
[7] = NIT_NULL
;
2106 fra
.me
.REG
[8] = NIT_NULL
;
2107 fra
.me
.REG
[9] = NIT_NULL
;
2111 /* ./compiling//compiling_icode.nit:282 */
2113 /* ./compiling//compiling_icode.nit:283 */
2114 fra
.me
.REG
[3] = CALL_icode___icode_base___IRoutine___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2115 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2116 if (UNTAG_Bool(REGB1
)) {
2118 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2119 if (UNTAG_Bool(REGB2
)) {
2120 REGB2
= TAG_Bool(false);
2123 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
2127 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2128 if (UNTAG_Bool(REGB1
)) {
2129 /* ./compiling//compiling_icode.nit:284 */
2130 fra
.me
.REG
[3] = CALL_icode___icode_base___IRoutine___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2131 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2132 if (UNTAG_Bool(REGB1
)) {
2133 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 284);
2135 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2138 /* ./compiling//compiling_icode.nit:287 */
2139 REGB1
= CALL_analysis___allocate_iregister_slots___IRoutine___std_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2141 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
2142 if (UNTAG_Bool(REGB3
)) {
2144 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2146 /* ./../lib/standard//kernel.nit:234 */
2147 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
2148 /* ./compiling//compiling_icode.nit:287 */
2149 if (UNTAG_Bool(REGB2
)) {
2150 /* ./compiling//compiling_icode.nit:288 */
2152 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
2153 if (!once_value_1
) {
2154 fra
.me
.REG
[4] = BOX_NativeString("struct {struct stack_frame_t me; val_t MORE_REG[");
2155 REGB2
= TAG_Int(48);
2156 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
2157 once_value_1
= fra
.me
.REG
[4];
2158 register_static_object(&once_value_1
);
2159 } else fra
.me
.REG
[4] = once_value_1
;
2160 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2161 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2162 REGB2
= CALL_analysis___allocate_iregister_slots___IRoutine___std_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2164 /* ./../lib/standard//kernel.nit:237 */
2165 REGB1
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB1
));
2166 /* ./compiling//compiling_icode.nit:288 */
2167 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
2168 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2169 if (!once_value_2
) {
2170 fra
.me
.REG
[4] = BOX_NativeString("];} fra;");
2172 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2173 once_value_2
= fra
.me
.REG
[4];
2174 register_static_object(&once_value_2
);
2175 } else fra
.me
.REG
[4] = once_value_2
;
2176 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2177 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2178 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2179 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2181 /* ./compiling//compiling_icode.nit:290 */
2182 if (!once_value_3
) {
2183 fra
.me
.REG
[3] = BOX_NativeString("struct {struct stack_frame_t me;} fra;");
2184 REGB1
= TAG_Int(38);
2185 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
2186 once_value_3
= fra
.me
.REG
[3];
2187 register_static_object(&once_value_3
);
2188 } else fra
.me
.REG
[3] = once_value_3
;
2189 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2190 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2192 /* ./compiling//compiling_icode.nit:292 */
2193 if (!once_value_4
) {
2194 fra
.me
.REG
[3] = BOX_NativeString("fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;");
2195 REGB1
= TAG_Int(59);
2196 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
2197 once_value_4
= fra
.me
.REG
[3];
2198 register_static_object(&once_value_4
);
2199 } else fra
.me
.REG
[3] = once_value_4
;
2200 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2201 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2202 /* ./compiling//compiling_icode.nit:293 */
2204 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
2205 if (!once_value_5
) {
2206 fra
.me
.REG
[4] = BOX_NativeString("fra.me.file = LOCATE_");
2207 REGB1
= TAG_Int(21);
2208 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2209 once_value_5
= fra
.me
.REG
[4];
2210 register_static_object(&once_value_5
);
2211 } else fra
.me
.REG
[4] = once_value_5
;
2212 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2213 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2214 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2215 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CompilerVisitor___mmmodule(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2216 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2217 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2218 if (!once_value_6
) {
2219 fra
.me
.REG
[4] = BOX_NativeString(";");
2221 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2222 once_value_6
= fra
.me
.REG
[4];
2223 register_static_object(&once_value_6
);
2224 } else fra
.me
.REG
[4] = once_value_6
;
2225 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2226 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2227 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2228 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2229 /* ./compiling//compiling_icode.nit:294 */
2231 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
2232 if (!once_value_7
) {
2233 fra
.me
.REG
[4] = BOX_NativeString("fra.me.line = ");
2234 REGB1
= TAG_Int(14);
2235 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2236 once_value_7
= fra
.me
.REG
[4];
2237 register_static_object(&once_value_7
);
2238 } else fra
.me
.REG
[4] = once_value_7
;
2239 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2240 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2241 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2242 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2243 if (!once_value_8
) {
2244 fra
.me
.REG
[4] = BOX_NativeString(";");
2246 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2247 once_value_8
= fra
.me
.REG
[4];
2248 register_static_object(&once_value_8
);
2249 } else fra
.me
.REG
[4] = once_value_8
;
2250 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2251 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2252 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2253 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2254 /* ./compiling//compiling_icode.nit:295 */
2256 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2257 if (!once_value_9
) {
2258 fra
.me
.REG
[4] = BOX_NativeString("fra.me.meth = LOCATE_");
2259 REGB0
= TAG_Int(21);
2260 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2261 once_value_9
= fra
.me
.REG
[4];
2262 register_static_object(&once_value_9
);
2263 } else fra
.me
.REG
[4] = once_value_9
;
2264 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2265 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2266 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___basecname(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2267 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2268 if (!once_value_10
) {
2269 fra
.me
.REG
[4] = BOX_NativeString(";");
2271 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2272 once_value_10
= fra
.me
.REG
[4];
2273 register_static_object(&once_value_10
);
2274 } else fra
.me
.REG
[4] = once_value_10
;
2275 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2276 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2277 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2278 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2279 /* ./compiling//compiling_icode.nit:296 */
2280 if (!once_value_11
) {
2281 fra
.me
.REG
[3] = BOX_NativeString("fra.me.has_broke = 0;");
2282 REGB0
= TAG_Int(21);
2283 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2284 once_value_11
= fra
.me
.REG
[3];
2285 register_static_object(&once_value_11
);
2286 } else fra
.me
.REG
[3] = once_value_11
;
2287 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2288 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2289 /* ./compiling//compiling_icode.nit:297 */
2291 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2292 if (!once_value_12
) {
2293 fra
.me
.REG
[4] = BOX_NativeString("fra.me.REG_size = ");
2294 REGB0
= TAG_Int(18);
2295 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2296 once_value_12
= fra
.me
.REG
[4];
2297 register_static_object(&once_value_12
);
2298 } else fra
.me
.REG
[4] = once_value_12
;
2299 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2300 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2301 REGB0
= CALL_analysis___allocate_iregister_slots___IRoutine___std_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2302 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2303 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2304 if (!once_value_13
) {
2305 fra
.me
.REG
[4] = BOX_NativeString(";");
2307 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2308 once_value_13
= fra
.me
.REG
[4];
2309 register_static_object(&once_value_13
);
2310 } else fra
.me
.REG
[4] = once_value_13
;
2311 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2312 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2313 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2314 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2315 /* ./compiling//compiling_icode.nit:300 */
2317 REGB1
= CALL_analysis___allocate_iregister_slots___IRoutine___std_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2318 /* ./../lib/standard//kernel.nit:352 */
2320 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2321 if (UNTAG_Bool(REGB2
)) {
2323 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2325 /* ./../lib/standard//kernel.nit:232 */
2326 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2327 /* ./../lib/standard//kernel.nit:352 */
2328 if (UNTAG_Bool(REGB2
)) {
2329 /* ./compiling//compiling_icode.nit:300 */
2331 /* ./compiling//compiling_icode.nit:301 */
2333 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
2334 if (!once_value_14
) {
2335 fra
.me
.REG
[4] = BOX_NativeString("fra.me.REG[");
2336 REGB3
= TAG_Int(11);
2337 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
2338 once_value_14
= fra
.me
.REG
[4];
2339 register_static_object(&once_value_14
);
2340 } else fra
.me
.REG
[4] = once_value_14
;
2341 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2342 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2343 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
2344 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2345 if (!once_value_15
) {
2346 fra
.me
.REG
[4] = BOX_NativeString("] = NIT_NULL;");
2347 REGB2
= TAG_Int(13);
2348 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
2349 once_value_15
= fra
.me
.REG
[4];
2350 register_static_object(&once_value_15
);
2351 } else fra
.me
.REG
[4] = once_value_15
;
2352 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2353 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2354 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2355 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2356 /* ./../lib/standard//kernel.nit:354 */
2358 /* ./../lib/standard//kernel.nit:235 */
2359 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2360 /* ./../lib/standard//kernel.nit:354 */
2363 /* ./../lib/standard//kernel.nit:352 */
2368 /* ./compiling//compiling_icode.nit:303 */
2370 REGB1
= CALL_analysis___allocate_iregister_slots___IRoutine___tag_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2371 /* ./../lib/standard//kernel.nit:352 */
2373 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2374 if (UNTAG_Bool(REGB2
)) {
2376 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2378 /* ./../lib/standard//kernel.nit:232 */
2379 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2380 /* ./../lib/standard//kernel.nit:352 */
2381 if (UNTAG_Bool(REGB2
)) {
2382 /* ./compiling//compiling_icode.nit:303 */
2384 /* ./compiling//compiling_icode.nit:304 */
2386 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
2387 if (!once_value_17
) {
2388 fra
.me
.REG
[4] = BOX_NativeString("val_t REGB");
2389 REGB3
= TAG_Int(10);
2390 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
2391 once_value_17
= fra
.me
.REG
[4];
2392 register_static_object(&once_value_17
);
2393 } else fra
.me
.REG
[4] = once_value_17
;
2394 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2395 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2396 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
2397 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2398 if (!once_value_18
) {
2399 fra
.me
.REG
[4] = BOX_NativeString(";");
2401 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
2402 once_value_18
= fra
.me
.REG
[4];
2403 register_static_object(&once_value_18
);
2404 } else fra
.me
.REG
[4] = once_value_18
;
2405 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2406 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2407 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2408 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2409 /* ./../lib/standard//kernel.nit:354 */
2411 /* ./../lib/standard//kernel.nit:235 */
2412 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2413 /* ./../lib/standard//kernel.nit:354 */
2416 /* ./../lib/standard//kernel.nit:352 */
2421 /* ./compiling//compiling_icode.nit:306 */
2422 fra
.me
.REG
[3] = CALL_icode___icode_base___IRoutine___closure_decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2423 /* ./compiling//compiling_icode.nit:307 */
2424 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2425 if (UNTAG_Bool(REGB0
)) {
2427 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2428 if (UNTAG_Bool(REGB1
)) {
2429 REGB1
= TAG_Bool(false);
2432 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
2436 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2437 if (UNTAG_Bool(REGB0
)) {
2438 /* ./compiling//compiling_icode.nit:308 */
2440 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2441 if (!once_value_20
) {
2442 fra
.me
.REG
[5] = BOX_NativeString("fun_t CREG[");
2443 REGB0
= TAG_Int(11);
2444 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2445 once_value_20
= fra
.me
.REG
[5];
2446 register_static_object(&once_value_20
);
2447 } else fra
.me
.REG
[5] = once_value_20
;
2448 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2449 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2450 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2451 if (UNTAG_Bool(REGB0
)) {
2452 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 308);
2454 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2455 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2456 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2457 if (!once_value_21
) {
2458 fra
.me
.REG
[5] = BOX_NativeString("];");
2460 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2461 once_value_21
= fra
.me
.REG
[5];
2462 register_static_object(&once_value_21
);
2463 } else fra
.me
.REG
[5] = once_value_21
;
2464 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2465 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2466 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2467 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2468 /* ./compiling//compiling_icode.nit:309 */
2469 if (!once_value_22
) {
2470 fra
.me
.REG
[4] = BOX_NativeString("fra.me.closure_ctx = closctx_param;");
2471 REGB0
= TAG_Int(35);
2472 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2473 once_value_22
= fra
.me
.REG
[4];
2474 register_static_object(&once_value_22
);
2475 } else fra
.me
.REG
[4] = once_value_22
;
2476 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2477 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2478 /* ./compiling//compiling_icode.nit:310 */
2479 if (!once_value_23
) {
2480 fra
.me
.REG
[4] = BOX_NativeString("fra.me.closure_funs = CREG;");
2481 REGB0
= TAG_Int(27);
2482 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2483 once_value_23
= fra
.me
.REG
[4];
2484 register_static_object(&once_value_23
);
2485 } else fra
.me
.REG
[4] = once_value_23
;
2486 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2487 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2489 /* ./compiling//compiling_icode.nit:312 */
2491 fra
.me
.REG
[4] = REGB0
;
2492 /* ./compiling//compiling_icode.nit:313 */
2493 fra
.me
.REG
[5] = CALL_icode___icode_base___IRoutine___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2494 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_24
));
2495 /* ./compiling//compiling_icode.nit:317 */
2496 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2497 if (UNTAG_Bool(REGB0
)) {
2499 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2500 if (UNTAG_Bool(REGB1
)) {
2501 REGB1
= TAG_Bool(false);
2504 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
2508 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2509 if (UNTAG_Bool(REGB0
)) {
2510 /* ./compiling//compiling_icode.nit:318 */
2512 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2513 if (UNTAG_Bool(REGB1
)) {
2514 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 318);
2516 REGB1
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2517 /* ./../lib/standard//kernel.nit:352 */
2519 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2520 if (UNTAG_Bool(REGB2
)) {
2522 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2524 /* ./../lib/standard//kernel.nit:232 */
2525 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2526 /* ./../lib/standard//kernel.nit:352 */
2527 if (UNTAG_Bool(REGB2
)) {
2528 /* ./compiling//compiling_icode.nit:318 */
2530 /* ./compiling//compiling_icode.nit:319 */
2531 REGB3
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2532 if (UNTAG_Bool(REGB3
)) {
2533 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 319);
2535 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB2
);
2536 /* ./compiling//compiling_icode.nit:320 */
2538 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
2539 if (!once_value_26
) {
2540 fra
.me
.REG
[6] = BOX_NativeString("CREG[");
2542 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB3
);
2543 once_value_26
= fra
.me
.REG
[6];
2544 register_static_object(&once_value_26
);
2545 } else fra
.me
.REG
[6] = once_value_26
;
2546 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2547 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2548 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
2549 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2550 if (!once_value_27
) {
2551 fra
.me
.REG
[6] = BOX_NativeString("] = ");
2553 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB3
);
2554 once_value_27
= fra
.me
.REG
[6];
2555 register_static_object(&once_value_27
);
2556 } else fra
.me
.REG
[6] = once_value_27
;
2557 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2558 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2559 fra
.me
.REG
[6] = CALL_icode___icode_base___IRoutine___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2560 REGB3
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2561 /* ./../lib/standard//kernel.nit:235 */
2562 REGB3
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB2
));
2563 /* ./../lib/standard//collection//array.nit:278 */
2564 fra
.me
.REG
[6] = fra
.me
.REG
[2];
2565 /* ./../lib/standard//collection//array.nit:280 */
2567 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
2568 if (UNTAG_Bool(REGB5
)) {
2570 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2572 /* ./../lib/standard//kernel.nit:233 */
2573 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
2574 /* ./../lib/standard//collection//array.nit:280 */
2575 if (UNTAG_Bool(REGB4
)) {
2576 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
2577 if (UNTAG_Bool(REGB4
)) {
2579 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
2581 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6]);
2582 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
2583 if (UNTAG_Bool(REGB5
)) {
2585 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2587 /* ./../lib/standard//kernel.nit:232 */
2588 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
2590 /* ./../lib/standard//collection//array.nit:280 */
2591 REGB5
= TAG_Bool(false);
2594 if (UNTAG_Bool(REGB4
)) {
2596 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
2598 /* ./../lib/standard//collection//array.nit:281 */
2599 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[6]);
2600 REGB4
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
2601 if (UNTAG_Bool(REGB4
)) {
2602 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
2604 /* ./../lib/standard//collection//array.nit:718 */
2605 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB3
)];
2606 /* ./../lib/standard//collection//array.nit:281 */
2609 /* ./compiling//compiling_icode.nit:320 */
2610 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2611 if (!once_value_29
) {
2612 fra
.me
.REG
[6] = BOX_NativeString(";");
2614 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB3
);
2615 once_value_29
= fra
.me
.REG
[6];
2616 register_static_object(&once_value_29
);
2617 } else fra
.me
.REG
[6] = once_value_29
;
2618 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2619 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2620 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2621 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
2622 /* ./compiling//compiling_icode.nit:321 */
2623 fra
.me
.REG
[5] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2624 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
2625 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4], fra
.me
.REG
[6]);
2626 /* ./compiling//compiling_icode.nit:322 */
2627 fra
.me
.REG
[6] = CALL_icode___icode_base___IClosureDecl___closure(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2628 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMClosure___signature(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2629 /* ./compiling//compiling_icode.nit:323 */
2630 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___init();
2631 /* ./compiling//compiling_icode.nit:324 */
2632 if (!once_value_30
) {
2633 fra
.me
.REG
[7] = BOX_NativeString("struct stack_frame_t *");
2634 REGB2
= TAG_Int(22);
2635 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
2636 once_value_30
= fra
.me
.REG
[7];
2637 register_static_object(&once_value_30
);
2638 } else fra
.me
.REG
[7] = once_value_30
;
2639 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2640 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
2641 /* ./compiling//compiling_icode.nit:325 */
2643 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2644 /* ./../lib/standard//kernel.nit:352 */
2646 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
2647 if (UNTAG_Bool(REGB4
)) {
2649 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2651 /* ./../lib/standard//kernel.nit:232 */
2652 REGB4
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
2653 /* ./../lib/standard//kernel.nit:352 */
2654 if (UNTAG_Bool(REGB4
)) {
2655 /* ./compiling//compiling_icode.nit:326 */
2656 if (!once_value_31
) {
2657 fra
.me
.REG
[7] = BOX_NativeString("val_t");
2659 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB4
);
2660 once_value_31
= fra
.me
.REG
[7];
2661 register_static_object(&once_value_31
);
2662 } else fra
.me
.REG
[7] = once_value_31
;
2663 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2664 /* ./compiling//compiling_icode.nit:327 */
2665 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
2666 /* ./../lib/standard//kernel.nit:354 */
2668 /* ./../lib/standard//kernel.nit:235 */
2669 REGB4
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB4
));
2670 /* ./../lib/standard//kernel.nit:354 */
2673 /* ./../lib/standard//kernel.nit:352 */
2678 /* ./compiling//compiling_icode.nit:329 */
2679 if (!once_value_33
) {
2680 fra
.me
.REG
[7] = BOX_NativeString("void");
2682 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
2683 once_value_33
= fra
.me
.REG
[7];
2684 register_static_object(&once_value_33
);
2685 } else fra
.me
.REG
[7] = once_value_33
;
2686 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2687 /* ./compiling//compiling_icode.nit:330 */
2688 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2689 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
2690 if (UNTAG_Bool(REGB2
)) {
2692 REGB3
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
2693 if (UNTAG_Bool(REGB3
)) {
2694 REGB3
= TAG_Bool(false);
2697 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
2701 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
2702 if (UNTAG_Bool(REGB2
)) {
2703 if (!once_value_34
) {
2704 fra
.me
.REG
[6] = BOX_NativeString("val_t");
2706 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
2707 once_value_34
= fra
.me
.REG
[6];
2708 register_static_object(&once_value_34
);
2709 } else fra
.me
.REG
[6] = once_value_34
;
2710 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2711 fra
.me
.REG
[7] = fra
.me
.REG
[6];
2713 /* ./compiling//compiling_icode.nit:331 */
2714 fra
.me
.REG
[6] = CALL_compiling___compiling_icode___I2CCompilerVisitor___clostypes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2716 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
2717 if (!once_value_35
) {
2718 fra
.me
.REG
[9] = BOX_NativeString("");
2720 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB2
);
2721 once_value_35
= fra
.me
.REG
[9];
2722 register_static_object(&once_value_35
);
2723 } else fra
.me
.REG
[9] = once_value_35
;
2724 fra
.me
.REG
[9] = fra
.me
.REG
[9];
2725 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
2726 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
2727 if (!once_value_36
) {
2728 fra
.me
.REG
[7] = BOX_NativeString(" (*)(");
2730 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
2731 once_value_36
= fra
.me
.REG
[7];
2732 register_static_object(&once_value_36
);
2733 } else fra
.me
.REG
[7] = once_value_36
;
2734 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2735 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
2736 if (!once_value_37
) {
2737 fra
.me
.REG
[7] = BOX_NativeString(", ");
2739 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
2740 once_value_37
= fra
.me
.REG
[7];
2741 register_static_object(&once_value_37
);
2742 } else fra
.me
.REG
[7] = once_value_37
;
2743 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2744 fra
.me
.REG
[7] = CALL_standard___string___Collection___join(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
2745 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
2746 if (!once_value_38
) {
2747 fra
.me
.REG
[7] = BOX_NativeString(")");
2749 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
2750 once_value_38
= fra
.me
.REG
[7];
2751 register_static_object(&once_value_38
);
2752 } else fra
.me
.REG
[7] = once_value_38
;
2753 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2754 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
2755 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
2756 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4], fra
.me
.REG
[8]);
2757 /* ./../lib/standard//kernel.nit:354 */
2759 /* ./../lib/standard//kernel.nit:235 */
2760 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2761 /* ./../lib/standard//kernel.nit:354 */
2764 /* ./../lib/standard//kernel.nit:352 */
2770 /* ./compiling//compiling_icode.nit:334 */
2771 if (!once_value_40
) {
2772 fra
.me
.REG
[2] = BOX_NativeString("val_t tmp;");
2773 REGB0
= TAG_Int(10);
2774 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2775 once_value_40
= fra
.me
.REG
[2];
2776 register_static_object(&once_value_40
);
2777 } else fra
.me
.REG
[2] = once_value_40
;
2778 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2779 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2780 /* ./compiling//compiling_icode.nit:337 */
2781 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___return_label(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2782 /* ./compiling//compiling_icode.nit:338 */
2783 fra
.me
.REG
[3] = CALL_icode___icode_base___IRoutine___body(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2784 CALL_compiling___compiling_icode___I2CCompilerVisitor___return_label__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2785 /* ./compiling//compiling_icode.nit:341 */
2786 fra
.me
.REG
[3] = CALL_icode___icode_base___IRoutine___body(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2787 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
2788 /* ./compiling//compiling_icode.nit:343 */
2789 if (!once_value_41
) {
2790 fra
.me
.REG
[3] = BOX_NativeString("stack_frame_head = fra.me.prev;");
2791 REGB0
= TAG_Int(31);
2792 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2793 once_value_41
= fra
.me
.REG
[3];
2794 register_static_object(&once_value_41
);
2795 } else fra
.me
.REG
[3] = once_value_41
;
2796 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2797 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2798 /* ./compiling//compiling_icode.nit:344 */
2799 CALL_compiling___compiling_icode___I2CCompilerVisitor___return_label__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2800 /* ./compiling//compiling_icode.nit:345 */
2801 fra
.me
.REG
[0] = CALL_icode___icode_base___IRoutine___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2802 /* ./compiling//compiling_icode.nit:346 */
2803 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2804 if (UNTAG_Bool(REGB0
)) {
2806 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2807 if (UNTAG_Bool(REGB1
)) {
2808 REGB1
= TAG_Bool(false);
2811 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
2815 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2816 if (UNTAG_Bool(REGB0
)) {
2817 /* ./compiling//compiling_icode.nit:347 */
2818 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2821 /* ./compiling//compiling_icode.nit:349 */
2822 fra
.me
.REG
[0] = NIT_NULL
;
2826 stack_frame_head
= fra
.me
.prev
;
2827 return fra
.me
.REG
[0];
2829 void OC_compiling___compiling_icode___IRoutine___compile_inside_to_c_24(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
2830 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2836 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2837 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
2839 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IRoutine___compile_inside_to_c
;
2840 fra
.me
.has_broke
= 0;
2841 fra
.me
.REG_size
= 2;
2842 fra
.me
.REG
[0] = NIT_NULL
;
2843 fra
.me
.REG
[1] = NIT_NULL
;
2844 fra
.me
.closure_ctx
= closctx_param
;
2845 fra
.me
.closure_funs
= CREG
;
2847 CREG
[0] = clos_fun0
;
2848 /* ./compiling//compiling_icode.nit:314 */
2849 fra
.me
.REG
[1] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2850 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2851 if (UNTAG_Bool(REGB0
)) {
2853 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2854 if (UNTAG_Bool(REGB1
)) {
2855 REGB1
= TAG_Bool(false);
2858 /* ./../lib/standard//kernel.nit:227 */
2859 REGB1
= TAG_Bool((fra
.me
.REG
[1])==(NIT_NULL
));
2860 /* ./compiling//compiling_icode.nit:314 */
2864 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2865 if (UNTAG_Bool(REGB0
)) {
2866 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0]);
2867 /* ./../lib/standard//collection//array.nit:278 */
2868 fra
.me
.REG
[1] = closctx
->REG
[2];
2869 REGB0
= closctx
->REG
[4];
2870 /* ./../lib/standard//collection//array.nit:280 */
2872 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2873 if (UNTAG_Bool(REGB2
)) {
2875 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2877 /* ./../lib/standard//kernel.nit:233 */
2878 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
2879 /* ./../lib/standard//collection//array.nit:280 */
2880 if (UNTAG_Bool(REGB1
)) {
2881 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
2882 if (UNTAG_Bool(REGB1
)) {
2884 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
2886 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
2887 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2888 if (UNTAG_Bool(REGB2
)) {
2890 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2892 /* ./../lib/standard//kernel.nit:232 */
2893 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2895 /* ./../lib/standard//collection//array.nit:280 */
2896 REGB2
= TAG_Bool(false);
2899 if (UNTAG_Bool(REGB1
)) {
2901 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
2903 /* ./../lib/standard//collection//array.nit:281 */
2904 fra
.me
.REG
[1] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
2905 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2906 if (UNTAG_Bool(REGB1
)) {
2907 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
2909 /* ./../lib/standard//collection//array.nit:718 */
2910 fra
.me
.REG
[1] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB0
)];
2911 /* ./../lib/standard//collection//array.nit:281 */
2914 /* ./compiling//compiling_icode.nit:314 */
2915 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_assignment(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[1]);
2917 /* ./compiling//compiling_icode.nit:315 */
2919 /* ./../lib/standard//kernel.nit:235 */
2920 REGB0
= TAG_Int(UNTAG_Int(closctx
->REG
[4])+UNTAG_Int(REGB0
));
2921 /* ./compiling//compiling_icode.nit:315 */
2922 closctx
->REG
[4] = REGB0
;
2923 stack_frame_head
= fra
.me
.prev
;
2926 val_t
compiling___compiling_icode___IRoutine___compile_to_c(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
2927 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2929 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2930 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
2932 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IRoutine___compile_to_c
;
2933 fra
.me
.has_broke
= 0;
2934 fra
.me
.REG_size
= 4;
2935 fra
.me
.REG
[0] = NIT_NULL
;
2936 fra
.me
.REG
[1] = NIT_NULL
;
2937 fra
.me
.REG
[2] = NIT_NULL
;
2938 fra
.me
.REG
[3] = NIT_NULL
;
2943 /* ./compiling//compiling_icode.nit:357 */
2944 fra
.me
.REG
[2] = NEW_I2CCompilerVisitor_compiling___compiling_icode___I2CCompilerVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
2945 /* ./compiling//compiling_icode.nit:358 */
2946 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]);
2949 stack_frame_head
= fra
.me
.prev
;
2950 return fra
.me
.REG
[3];
2952 void compiling___compiling_icode___ICode___compile_to_c(val_t p0
, val_t p1
){
2953 struct {struct stack_frame_t me
;} fra
;
2955 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2956 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
2958 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICode___compile_to_c
;
2959 fra
.me
.has_broke
= 0;
2960 fra
.me
.REG_size
= 0;
2961 /* ./compiling//compiling_icode.nit:363 */
2962 nit_abort("Deferred method called", NULL
, LOCATE_compiling___compiling_icode
, 363);
2963 stack_frame_head
= fra
.me
.prev
;
2966 val_t
compiling___compiling_icode___ICode___need_result(val_t p0
){
2967 struct {struct stack_frame_t me
;} fra
;
2971 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2972 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
2974 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICode___need_result
;
2975 fra
.me
.has_broke
= 0;
2976 fra
.me
.REG_size
= 1;
2977 fra
.me
.REG
[0] = NIT_NULL
;
2979 /* ./compiling//compiling_icode.nit:369 */
2980 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2981 /* ./compiling//compiling_icode.nit:370 */
2982 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2983 if (UNTAG_Bool(REGB0
)) {
2985 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2986 if (UNTAG_Bool(REGB1
)) {
2987 REGB1
= TAG_Bool(false);
2990 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
2994 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2995 if (UNTAG_Bool(REGB0
)) {
2996 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2997 if (UNTAG_Bool(REGB0
)) {
2998 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 370);
3000 fra
.me
.REG
[0] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3001 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3002 if (UNTAG_Bool(REGB0
)) {
3004 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3005 if (UNTAG_Bool(REGB1
)) {
3006 REGB1
= TAG_Bool(false);
3009 /* ./../lib/standard//kernel.nit:227 */
3010 REGB1
= TAG_Bool((fra
.me
.REG
[0])==(NIT_NULL
));
3011 /* ./compiling//compiling_icode.nit:370 */
3015 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3017 REGB1
= TAG_Bool(false);
3022 stack_frame_head
= fra
.me
.prev
;
3025 void compiling___compiling_icode___ICode___store_result(val_t p0
, val_t p1
, val_t p2
){
3026 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
3030 static val_t once_value_1
; /* Once value */
3031 static val_t once_value_2
; /* Once value */
3032 static val_t once_value_3
; /* Once value */
3033 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3034 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3036 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICode___store_result
;
3037 fra
.me
.has_broke
= 0;
3038 fra
.me
.REG_size
= 5;
3039 fra
.me
.REG
[0] = NIT_NULL
;
3040 fra
.me
.REG
[1] = NIT_NULL
;
3041 fra
.me
.REG
[2] = NIT_NULL
;
3042 fra
.me
.REG
[3] = NIT_NULL
;
3043 fra
.me
.REG
[4] = NIT_NULL
;
3047 /* ./compiling//compiling_icode.nit:376 */
3048 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3049 /* ./compiling//compiling_icode.nit:377 */
3050 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3051 if (UNTAG_Bool(REGB0
)) {
3053 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3054 if (UNTAG_Bool(REGB1
)) {
3055 REGB1
= TAG_Bool(false);
3058 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3062 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3063 if (UNTAG_Bool(REGB0
)) {
3064 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3065 if (UNTAG_Bool(REGB0
)) {
3066 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 377);
3068 fra
.me
.REG
[4] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3069 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3070 if (UNTAG_Bool(REGB0
)) {
3072 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3073 if (UNTAG_Bool(REGB1
)) {
3074 REGB1
= TAG_Bool(false);
3077 /* ./../lib/standard//kernel.nit:227 */
3078 REGB1
= TAG_Bool((fra
.me
.REG
[4])==(NIT_NULL
));
3079 /* ./compiling//compiling_icode.nit:377 */
3083 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3085 REGB1
= TAG_Bool(false);
3088 if (UNTAG_Bool(REGB0
)) {
3089 /* ./compiling//compiling_icode.nit:378 */
3090 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3091 if (UNTAG_Bool(REGB0
)) {
3093 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3094 if (UNTAG_Bool(REGB1
)) {
3095 REGB1
= TAG_Bool(false);
3098 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3102 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3103 if (UNTAG_Bool(REGB0
)) {
3105 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_icode
, 378);
3107 /* ./compiling//compiling_icode.nit:379 */
3108 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3109 /* ./compiling//compiling_icode.nit:380 */
3110 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3111 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3112 /* ./compiling//compiling_icode.nit:381 */
3113 if (!once_value_1
) {
3114 fra
.me
.REG
[3] = BOX_NativeString(" = ");
3116 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3117 once_value_1
= fra
.me
.REG
[3];
3118 register_static_object(&once_value_1
);
3119 } else fra
.me
.REG
[3] = once_value_1
;
3120 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3121 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3122 /* ./compiling//compiling_icode.nit:382 */
3123 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3124 /* ./compiling//compiling_icode.nit:383 */
3125 if (!once_value_2
) {
3126 fra
.me
.REG
[3] = BOX_NativeString(";\n");
3128 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3129 once_value_2
= fra
.me
.REG
[3];
3130 register_static_object(&once_value_2
);
3131 } else fra
.me
.REG
[3] = once_value_2
;
3132 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3133 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3135 /* ./compiling//compiling_icode.nit:384 */
3136 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3137 if (UNTAG_Bool(REGB0
)) {
3139 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3140 if (UNTAG_Bool(REGB1
)) {
3141 REGB1
= TAG_Bool(false);
3144 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3148 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3149 if (UNTAG_Bool(REGB0
)) {
3150 REGB0
= CALL_icode___icode_base___ICode___is_pure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3151 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3153 REGB1
= TAG_Bool(false);
3156 if (UNTAG_Bool(REGB0
)) {
3157 /* ./compiling//compiling_icode.nit:387 */
3158 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3159 /* ./compiling//compiling_icode.nit:388 */
3160 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3161 /* ./compiling//compiling_icode.nit:389 */
3162 if (!once_value_3
) {
3163 fra
.me
.REG
[2] = BOX_NativeString(";\n");
3165 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3166 once_value_3
= fra
.me
.REG
[2];
3167 register_static_object(&once_value_3
);
3168 } else fra
.me
.REG
[2] = once_value_3
;
3169 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3170 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3173 stack_frame_head
= fra
.me
.prev
;
3176 val_t
compiling___compiling_icode___ICode___new_result(val_t p0
, val_t p1
){
3177 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3181 static val_t once_value_1
; /* Once value */
3182 static val_t once_value_2
; /* Once value */
3183 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3184 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3186 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICode___new_result
;
3187 fra
.me
.has_broke
= 0;
3188 fra
.me
.REG_size
= 4;
3189 fra
.me
.REG
[0] = NIT_NULL
;
3190 fra
.me
.REG
[1] = NIT_NULL
;
3191 fra
.me
.REG
[2] = NIT_NULL
;
3192 fra
.me
.REG
[3] = NIT_NULL
;
3195 /* ./compiling//compiling_icode.nit:397 */
3196 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3197 if (UNTAG_Bool(REGB0
)) {
3198 REGB0
= TAG_Bool(true);
3200 REGB1
= CALL_icode___icode_base___ICode___is_pure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3201 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3204 if (UNTAG_Bool(REGB0
)) {
3206 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_icode
, 397);
3208 /* ./compiling//compiling_icode.nit:398 */
3209 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3210 /* ./compiling//compiling_icode.nit:399 */
3211 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3212 /* ./compiling//compiling_icode.nit:400 */
3213 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3214 if (UNTAG_Bool(REGB0
)) {
3216 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3217 if (UNTAG_Bool(REGB1
)) {
3218 REGB1
= TAG_Bool(false);
3221 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
3225 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3226 if (UNTAG_Bool(REGB0
)) {
3227 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3228 if (UNTAG_Bool(REGB0
)) {
3229 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 400);
3231 fra
.me
.REG
[3] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3232 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3233 if (UNTAG_Bool(REGB0
)) {
3235 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3236 if (UNTAG_Bool(REGB1
)) {
3237 REGB1
= TAG_Bool(false);
3240 /* ./../lib/standard//kernel.nit:227 */
3241 REGB1
= TAG_Bool((fra
.me
.REG
[3])==(NIT_NULL
));
3242 /* ./compiling//compiling_icode.nit:400 */
3246 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3248 REGB1
= TAG_Bool(false);
3251 if (UNTAG_Bool(REGB0
)) {
3252 /* ./compiling//compiling_icode.nit:401 */
3253 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3254 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3255 /* ./compiling//compiling_icode.nit:402 */
3256 if (!once_value_1
) {
3257 fra
.me
.REG
[0] = BOX_NativeString(" = ");
3259 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3260 once_value_1
= fra
.me
.REG
[0];
3261 register_static_object(&once_value_1
);
3262 } else fra
.me
.REG
[0] = once_value_1
;
3263 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3264 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3266 /* ./compiling//compiling_icode.nit:404 */
3267 fra
.me
.REG
[0] = CALL_compiling___compiling_writer___Writer___sub(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3268 /* ./compiling//compiling_icode.nit:405 */
3269 if (!once_value_2
) {
3270 fra
.me
.REG
[1] = BOX_NativeString(";\n");
3272 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
3273 once_value_2
= fra
.me
.REG
[1];
3274 register_static_object(&once_value_2
);
3275 } else fra
.me
.REG
[1] = once_value_2
;
3276 fra
.me
.REG
[1] = fra
.me
.REG
[1];
3277 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
3278 /* ./compiling//compiling_icode.nit:406 */
3281 stack_frame_head
= fra
.me
.prev
;
3282 return fra
.me
.REG
[0];
3284 void compiling___compiling_icode___ISeq___compile_to_c(val_t p0
, val_t p1
){
3285 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3289 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3290 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3292 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ISeq___compile_to_c
;
3293 fra
.me
.has_broke
= 0;
3294 fra
.me
.REG_size
= 4;
3295 fra
.me
.REG
[0] = NIT_NULL
;
3296 fra
.me
.REG
[1] = NIT_NULL
;
3297 fra
.me
.REG
[2] = NIT_NULL
;
3298 fra
.me
.REG
[3] = NIT_NULL
;
3301 /* ./compiling//compiling_icode.nit:413 */
3302 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3303 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3304 /* ./compiling//compiling_icode.nit:414 */
3305 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3306 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3307 /* ./compiling//compiling_icode.nit:415 */
3308 fra
.me
.REG
[2] = CALL_icode___icode_base___ISeq___iescape_mark(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3309 /* ./compiling//compiling_icode.nit:416 */
3310 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3311 if (UNTAG_Bool(REGB0
)) {
3313 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3314 if (UNTAG_Bool(REGB1
)) {
3315 REGB1
= TAG_Bool(false);
3318 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3322 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3323 if (UNTAG_Bool(REGB0
)) {
3324 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3325 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
3327 /* ./compiling//compiling_icode.nit:417 */
3328 fra
.me
.REG
[2] = CALL_icode___icode_base___ISeq___icodes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3329 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
));
3330 /* ./compiling//compiling_icode.nit:420 */
3331 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_label(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3332 stack_frame_head
= fra
.me
.prev
;
3335 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
){
3336 struct {struct stack_frame_t me
;} fra
;
3339 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3340 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3342 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ISeq___compile_to_c
;
3343 fra
.me
.has_broke
= 0;
3344 fra
.me
.REG_size
= 1;
3345 fra
.me
.REG
[0] = NIT_NULL
;
3346 fra
.me
.closure_ctx
= closctx_param
;
3347 fra
.me
.closure_funs
= CREG
;
3349 CREG
[0] = clos_fun0
;
3350 /* ./compiling//compiling_icode.nit:418 */
3351 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
3352 stack_frame_head
= fra
.me
.prev
;
3355 void compiling___compiling_icode___IIf___compile_to_c(val_t p0
, val_t p1
){
3356 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3359 static val_t once_value_1
; /* Once value */
3360 static val_t once_value_2
; /* Once value */
3361 static val_t once_value_3
; /* Once value */
3362 static val_t once_value_4
; /* Once value */
3363 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3364 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3366 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IIf___compile_to_c
;
3367 fra
.me
.has_broke
= 0;
3368 fra
.me
.REG_size
= 4;
3369 fra
.me
.REG
[0] = NIT_NULL
;
3370 fra
.me
.REG
[1] = NIT_NULL
;
3371 fra
.me
.REG
[2] = NIT_NULL
;
3372 fra
.me
.REG
[3] = NIT_NULL
;
3375 /* ./compiling//compiling_icode.nit:427 */
3376 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3377 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3378 /* ./compiling//compiling_icode.nit:428 */
3379 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3380 /* ./compiling//compiling_icode.nit:429 */
3381 if (!once_value_1
) {
3382 fra
.me
.REG
[3] = BOX_NativeString("if (UNTAG_Bool(");
3383 REGB0
= TAG_Int(15);
3384 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3385 once_value_1
= fra
.me
.REG
[3];
3386 register_static_object(&once_value_1
);
3387 } else fra
.me
.REG
[3] = once_value_1
;
3388 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3389 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3390 /* ./compiling//compiling_icode.nit:430 */
3391 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3392 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3393 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3394 /* ./compiling//compiling_icode.nit:431 */
3395 if (!once_value_2
) {
3396 fra
.me
.REG
[3] = BOX_NativeString(")) {\n");
3398 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3399 once_value_2
= fra
.me
.REG
[3];
3400 register_static_object(&once_value_2
);
3401 } else fra
.me
.REG
[3] = once_value_2
;
3402 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3403 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3404 /* ./compiling//compiling_icode.nit:432 */
3405 fra
.me
.REG
[3] = CALL_icode___icode_base___IIf___then_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3406 fra
.me
.REG
[3] = CALL_icode___icode_base___ISeq___icodes(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3407 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3408 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3409 if (UNTAG_Bool(REGB0
)) {
3410 /* ./compiling//compiling_icode.nit:433 */
3411 CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3412 /* ./compiling//compiling_icode.nit:434 */
3413 fra
.me
.REG
[3] = CALL_icode___icode_base___IIf___then_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3414 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
3415 /* ./compiling//compiling_icode.nit:435 */
3416 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3418 /* ./compiling//compiling_icode.nit:437 */
3419 fra
.me
.REG
[3] = CALL_icode___icode_base___IIf___else_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3420 fra
.me
.REG
[3] = CALL_icode___icode_base___ISeq___icodes(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3421 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3422 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3423 if (UNTAG_Bool(REGB0
)) {
3424 /* ./compiling//compiling_icode.nit:438 */
3425 if (!once_value_3
) {
3426 fra
.me
.REG
[3] = BOX_NativeString("} else {");
3428 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3429 once_value_3
= fra
.me
.REG
[3];
3430 register_static_object(&once_value_3
);
3431 } else fra
.me
.REG
[3] = once_value_3
;
3432 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3433 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3434 /* ./compiling//compiling_icode.nit:439 */
3435 CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3436 /* ./compiling//compiling_icode.nit:440 */
3437 fra
.me
.REG
[0] = CALL_icode___icode_base___IIf___else_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3438 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3439 /* ./compiling//compiling_icode.nit:441 */
3440 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3442 /* ./compiling//compiling_icode.nit:443 */
3443 if (!once_value_4
) {
3444 fra
.me
.REG
[0] = BOX_NativeString("}");
3446 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3447 once_value_4
= fra
.me
.REG
[0];
3448 register_static_object(&once_value_4
);
3449 } else fra
.me
.REG
[0] = once_value_4
;
3450 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3451 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3452 stack_frame_head
= fra
.me
.prev
;
3455 void compiling___compiling_icode___ILoop___compile_to_c(val_t p0
, val_t p1
){
3456 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3460 static val_t once_value_1
; /* Once value */
3461 static val_t once_value_3
; /* Once value */
3462 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3463 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3465 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ILoop___compile_to_c
;
3466 fra
.me
.has_broke
= 0;
3467 fra
.me
.REG_size
= 4;
3468 fra
.me
.REG
[0] = NIT_NULL
;
3469 fra
.me
.REG
[1] = NIT_NULL
;
3470 fra
.me
.REG
[2] = NIT_NULL
;
3471 fra
.me
.REG
[3] = NIT_NULL
;
3474 /* ./compiling//compiling_icode.nit:450 */
3475 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3476 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3477 /* ./compiling//compiling_icode.nit:451 */
3478 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3479 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3480 /* ./compiling//compiling_icode.nit:452 */
3481 fra
.me
.REG
[2] = CALL_icode___icode_base___ISeq___iescape_mark(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3482 /* ./compiling//compiling_icode.nit:453 */
3483 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3484 if (UNTAG_Bool(REGB0
)) {
3486 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3487 if (UNTAG_Bool(REGB1
)) {
3488 REGB1
= TAG_Bool(false);
3491 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3495 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3496 if (UNTAG_Bool(REGB0
)) {
3497 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3498 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
3500 /* ./compiling//compiling_icode.nit:454 */
3501 if (!once_value_1
) {
3502 fra
.me
.REG
[2] = BOX_NativeString("while(1) {");
3503 REGB0
= TAG_Int(10);
3504 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3505 once_value_1
= fra
.me
.REG
[2];
3506 register_static_object(&once_value_1
);
3507 } else fra
.me
.REG
[2] = once_value_1
;
3508 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3509 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3510 /* ./compiling//compiling_icode.nit:455 */
3511 CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3512 /* ./compiling//compiling_icode.nit:456 */
3513 fra
.me
.REG
[2] = CALL_icode___icode_base___ISeq___icodes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3514 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
));
3515 /* ./compiling//compiling_icode.nit:459 */
3516 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3517 /* ./compiling//compiling_icode.nit:460 */
3518 if (!once_value_3
) {
3519 fra
.me
.REG
[2] = BOX_NativeString("}");
3521 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3522 once_value_3
= fra
.me
.REG
[2];
3523 register_static_object(&once_value_3
);
3524 } else fra
.me
.REG
[2] = once_value_3
;
3525 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3526 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3527 /* ./compiling//compiling_icode.nit:461 */
3528 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_label(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3529 stack_frame_head
= fra
.me
.prev
;
3532 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
){
3533 struct {struct stack_frame_t me
;} fra
;
3536 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3537 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3539 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ILoop___compile_to_c
;
3540 fra
.me
.has_broke
= 0;
3541 fra
.me
.REG_size
= 1;
3542 fra
.me
.REG
[0] = NIT_NULL
;
3543 fra
.me
.closure_ctx
= closctx_param
;
3544 fra
.me
.closure_funs
= CREG
;
3546 CREG
[0] = clos_fun0
;
3547 /* ./compiling//compiling_icode.nit:457 */
3548 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
3549 stack_frame_head
= fra
.me
.prev
;
3552 void compiling___compiling_icode___IEscape___compile_to_c(val_t p0
, val_t p1
){
3553 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
3555 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3556 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3558 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IEscape___compile_to_c
;
3559 fra
.me
.has_broke
= 0;
3560 fra
.me
.REG_size
= 3;
3561 fra
.me
.REG
[0] = NIT_NULL
;
3562 fra
.me
.REG
[1] = NIT_NULL
;
3563 fra
.me
.REG
[2] = NIT_NULL
;
3566 /* ./compiling//compiling_icode.nit:468 */
3567 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3568 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3569 /* ./compiling//compiling_icode.nit:469 */
3570 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3571 fra
.me
.REG
[0] = CALL_icode___icode_base___IEscape___iescape_mark(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3572 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3573 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_goto(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3574 stack_frame_head
= fra
.me
.prev
;
3577 void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0
, val_t p1
){
3578 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
3582 static val_t once_value_1
; /* Once value */
3583 static val_t once_value_2
; /* Once value */
3584 static val_t once_value_5
; /* Once value */
3585 static val_t once_value_6
; /* Once value */
3586 static val_t once_value_7
; /* Once value */
3587 static val_t once_value_8
; /* Once value */
3588 static val_t once_value_9
; /* Once value */
3589 static val_t once_value_10
; /* Once value */
3590 static val_t once_value_11
; /* Once value */
3591 static val_t once_value_12
; /* Once value */
3592 static val_t once_value_13
; /* Once value */
3593 static val_t once_value_14
; /* Once value */
3594 static val_t once_value_15
; /* Once value */
3595 static val_t once_value_16
; /* Once value */
3596 static val_t once_value_18
; /* Once value */
3597 static val_t once_value_19
; /* Once value */
3598 static val_t once_value_20
; /* Once value */
3599 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3600 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3602 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAbsCall___compile_to_c
;
3603 fra
.me
.has_broke
= 0;
3604 fra
.me
.REG_size
= 10;
3605 fra
.me
.REG
[0] = NIT_NULL
;
3606 fra
.me
.REG
[1] = NIT_NULL
;
3607 fra
.me
.REG
[2] = NIT_NULL
;
3608 fra
.me
.REG
[3] = NIT_NULL
;
3609 fra
.me
.REG
[4] = NIT_NULL
;
3610 fra
.me
.REG
[5] = NIT_NULL
;
3611 fra
.me
.REG
[6] = NIT_NULL
;
3612 fra
.me
.REG
[7] = NIT_NULL
;
3613 fra
.me
.REG
[8] = NIT_NULL
;
3614 fra
.me
.REG
[9] = NIT_NULL
;
3617 /* ./compiling//compiling_icode.nit:474 */
3618 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3619 /* ./compiling//compiling_icode.nit:476 */
3620 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3621 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3622 /* ./compiling//compiling_icode.nit:477 */
3623 fra
.me
.REG
[3] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3624 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___registers(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3625 /* ./compiling//compiling_icode.nit:480 */
3626 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3627 /* ./compiling//compiling_icode.nit:481 */
3628 fra
.me
.REG
[5] = CALL_icode___icode_base___ICodeN___closure_defs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3629 /* ./compiling//compiling_icode.nit:482 */
3630 fra
.me
.REG
[6] = NIT_NULL
;
3631 /* ./compiling//compiling_icode.nit:483 */
3632 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3633 if (UNTAG_Bool(REGB0
)) {
3635 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3636 if (UNTAG_Bool(REGB1
)) {
3637 REGB1
= TAG_Bool(false);
3640 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
3644 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3645 if (UNTAG_Bool(REGB0
)) {
3646 /* ./compiling//compiling_icode.nit:485 */
3647 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3648 if (UNTAG_Bool(REGB0
)) {
3649 /* ./compiling//compiling_icode.nit:486 */
3650 if (!once_value_1
) {
3651 fra
.me
.REG
[7] = BOX_NativeString("closctx");
3653 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
3654 once_value_1
= fra
.me
.REG
[7];
3655 register_static_object(&once_value_1
);
3656 } else fra
.me
.REG
[7] = once_value_1
;
3657 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3658 fra
.me
.REG
[6] = fra
.me
.REG
[7];
3660 /* ./compiling//compiling_icode.nit:488 */
3661 if (!once_value_2
) {
3662 fra
.me
.REG
[7] = BOX_NativeString("(&(fra.me))");
3663 REGB0
= TAG_Int(11);
3664 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
3665 once_value_2
= fra
.me
.REG
[7];
3666 register_static_object(&once_value_2
);
3667 } else fra
.me
.REG
[7] = once_value_2
;
3668 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3669 fra
.me
.REG
[6] = fra
.me
.REG
[7];
3671 /* ./compiling//compiling_icode.nit:492 */
3672 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3673 /* ./compiling//compiling_icode.nit:495 */
3674 fra
.me
.REG
[7] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
3675 CALL_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
3676 /* ./compiling//compiling_icode.nit:498 */
3677 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3678 if (UNTAG_Bool(REGB0
)) {
3679 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 498);
3681 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
));
3683 /* ./compiling//compiling_icode.nit:509 */
3684 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]);
3685 /* ./compiling//compiling_icode.nit:510 */
3686 fra
.me
.REG
[5] = fra
.me
.REG
[3];
3687 /* ./compiling//compiling_icode.nit:513 */
3688 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3689 if (UNTAG_Bool(REGB0
)) {
3691 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3692 if (UNTAG_Bool(REGB1
)) {
3693 REGB1
= TAG_Bool(false);
3696 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
3700 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3701 if (UNTAG_Bool(REGB0
)) {
3702 /* ./compiling//compiling_icode.nit:514 */
3703 fra
.me
.REG
[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3704 /* ./compiling//compiling_icode.nit:515 */
3705 CALL_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3706 /* ./compiling//compiling_icode.nit:517 */
3707 REGB0
= CALL_standard___collection___abstract_collection___MapRead___is_empty(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3708 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3709 if (UNTAG_Bool(REGB0
)) {
3710 /* ./compiling//compiling_icode.nit:519 */
3711 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3712 /* ./compiling//compiling_icode.nit:520 */
3713 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3714 if (UNTAG_Bool(REGB0
)) {
3715 /* ./compiling//compiling_icode.nit:521 */
3716 if (!once_value_5
) {
3717 fra
.me
.REG
[8] = BOX_NativeString("tmp");
3719 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3720 once_value_5
= fra
.me
.REG
[8];
3721 register_static_object(&once_value_5
);
3722 } else fra
.me
.REG
[8] = once_value_5
;
3723 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3724 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
3725 /* ./compiling//compiling_icode.nit:522 */
3726 if (!once_value_6
) {
3727 fra
.me
.REG
[8] = BOX_NativeString(" = ");
3729 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3730 once_value_6
= fra
.me
.REG
[8];
3731 register_static_object(&once_value_6
);
3732 } else fra
.me
.REG
[8] = once_value_6
;
3733 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3734 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
3735 /* ./compiling//compiling_icode.nit:523 */
3736 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3737 /* ./compiling//compiling_icode.nit:524 */
3738 if (!once_value_7
) {
3739 fra
.me
.REG
[8] = BOX_NativeString(";\n");
3741 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3742 once_value_7
= fra
.me
.REG
[8];
3743 register_static_object(&once_value_7
);
3744 } else fra
.me
.REG
[8] = once_value_7
;
3745 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3746 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
3747 /* ./compiling//compiling_icode.nit:525 */
3748 fra
.me
.REG
[8] = NEW_Writer_compiling___compiling_writer___Writer___init();
3749 fra
.me
.REG
[5] = fra
.me
.REG
[8];
3750 /* ./compiling//compiling_icode.nit:526 */
3751 if (!once_value_8
) {
3752 fra
.me
.REG
[8] = BOX_NativeString("tmp");
3754 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3755 once_value_8
= fra
.me
.REG
[8];
3756 register_static_object(&once_value_8
);
3757 } else fra
.me
.REG
[8] = once_value_8
;
3758 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3759 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3760 if (UNTAG_Bool(REGB0
)) {
3761 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 526);
3763 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
3765 /* ./compiling//compiling_icode.nit:528 */
3766 fra
.me
.REG
[5] = NIT_NULL
;
3767 /* ./compiling//compiling_icode.nit:529 */
3768 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3769 /* ./compiling//compiling_icode.nit:530 */
3770 if (!once_value_9
) {
3771 fra
.me
.REG
[3] = BOX_NativeString(";\n");
3773 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3774 once_value_9
= fra
.me
.REG
[3];
3775 register_static_object(&once_value_9
);
3776 } else fra
.me
.REG
[3] = once_value_9
;
3777 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3778 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3780 /* ./compiling//compiling_icode.nit:533 */
3781 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3782 if (!once_value_10
) {
3783 fra
.me
.REG
[4] = BOX_NativeString("switch (");
3785 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3786 once_value_10
= fra
.me
.REG
[4];
3787 register_static_object(&once_value_10
);
3788 } else fra
.me
.REG
[4] = once_value_10
;
3789 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3790 fra
.me
.REG
[4] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3791 fra
.me
.REG
[4] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3792 if (!once_value_11
) {
3793 fra
.me
.REG
[3] = BOX_NativeString("->has_broke) {\n");
3794 REGB0
= TAG_Int(15);
3795 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3796 once_value_11
= fra
.me
.REG
[3];
3797 register_static_object(&once_value_11
);
3798 } else fra
.me
.REG
[3] = once_value_11
;
3799 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3800 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3801 /* ./compiling//compiling_icode.nit:534 */
3802 CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3803 /* ./compiling//compiling_icode.nit:536 */
3804 if (!once_value_12
) {
3805 fra
.me
.REG
[3] = BOX_NativeString("case 0: break;");
3806 REGB0
= TAG_Int(14);
3807 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3808 once_value_12
= fra
.me
.REG
[3];
3809 register_static_object(&once_value_12
);
3810 } else fra
.me
.REG
[3] = once_value_12
;
3811 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3812 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3813 /* ./compiling//compiling_icode.nit:537 */
3814 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3815 /* ./compiling//compiling_icode.nit:538 */
3816 fra
.me
.REG
[7] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3817 /* ./compiling//compiling_icode.nit:539 */
3818 REGB0
= TAG_Bool(false);
3819 /* ./compiling//compiling_icode.nit:540 */
3821 REGB1
= CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3822 if (UNTAG_Bool(REGB1
)) {
3823 /* ./compiling//compiling_icode.nit:541 */
3824 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapIterator___key(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3825 /* ./compiling//compiling_icode.nit:542 */
3826 REGB1
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3827 if (UNTAG_Bool(REGB1
)) {
3828 /* ./compiling//compiling_icode.nit:545 */
3829 fra
.me
.REG
[8] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3830 if (!once_value_13
) {
3831 fra
.me
.REG
[9] = BOX_NativeString("case ");
3833 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
3834 once_value_13
= fra
.me
.REG
[9];
3835 register_static_object(&once_value_13
);
3836 } else fra
.me
.REG
[9] = once_value_13
;
3837 fra
.me
.REG
[9] = fra
.me
.REG
[9];
3838 fra
.me
.REG
[9] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
3839 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___MapIterator___item(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3840 REGB1
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
3841 if (UNTAG_Bool(REGB1
)) {
3842 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 545);
3844 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3845 fra
.me
.REG
[8] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
3846 if (!once_value_14
) {
3847 fra
.me
.REG
[9] = BOX_NativeString(": ");
3849 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
3850 once_value_14
= fra
.me
.REG
[9];
3851 register_static_object(&once_value_14
);
3852 } else fra
.me
.REG
[9] = once_value_14
;
3853 fra
.me
.REG
[9] = fra
.me
.REG
[9];
3854 fra
.me
.REG
[9] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
3855 fra
.me
.REG
[9] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[6]);
3856 if (!once_value_15
) {
3857 fra
.me
.REG
[8] = BOX_NativeString("->has_broke = 0; goto ");
3858 REGB1
= TAG_Int(22);
3859 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3860 once_value_15
= fra
.me
.REG
[8];
3861 register_static_object(&once_value_15
);
3862 } else fra
.me
.REG
[8] = once_value_15
;
3863 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3864 fra
.me
.REG
[8] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
3865 fra
.me
.REG
[9] = CALL_compiling___compiling_icode___I2CCompilerVisitor___lab(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3866 fra
.me
.REG
[9] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
3867 if (!once_value_16
) {
3868 fra
.me
.REG
[8] = BOX_NativeString(";\n");
3870 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3871 once_value_16
= fra
.me
.REG
[8];
3872 register_static_object(&once_value_16
);
3873 } else fra
.me
.REG
[8] = once_value_16
;
3874 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3875 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
3877 /* ./compiling//compiling_icode.nit:548 */
3878 REGB1
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3879 if (UNTAG_Bool(REGB1
)) {
3881 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_icode
, 548);
3883 /* ./compiling//compiling_icode.nit:549 */
3884 CALL_compiling___compiling_icode___I2CCompilerVisitor___register_escape_label(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3885 /* ./compiling//compiling_icode.nit:550 */
3886 REGB1
= TAG_Bool(true);
3889 /* ./compiling//compiling_icode.nit:552 */
3890 CALL_standard___collection___abstract_collection___MapIterator___next(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3892 /* ./compiling//compiling_icode.nit:540 */
3897 /* ./compiling//compiling_icode.nit:555 */
3898 if (UNTAG_Bool(REGB0
)) {
3899 /* ./compiling//compiling_icode.nit:558 */
3900 fra
.me
.REG
[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3901 if (!once_value_18
) {
3902 fra
.me
.REG
[6] = BOX_NativeString("default: goto ");
3903 REGB0
= TAG_Int(14);
3904 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3905 once_value_18
= fra
.me
.REG
[6];
3906 register_static_object(&once_value_18
);
3907 } else fra
.me
.REG
[6] = once_value_18
;
3908 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3909 fra
.me
.REG
[6] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
3910 fra
.me
.REG
[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___return_label(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3911 REGB0
= TAG_Bool(fra
.me
.REG
[7]!=NIT_NULL
);
3912 if (UNTAG_Bool(REGB0
)) {
3914 nit_abort("Cast failed", NULL
, LOCATE_compiling___compiling_icode
, 558);
3916 fra
.me
.REG
[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___lab(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
3917 fra
.me
.REG
[7] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3918 if (!once_value_19
) {
3919 fra
.me
.REG
[6] = BOX_NativeString(";\n");
3921 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3922 once_value_19
= fra
.me
.REG
[6];
3923 register_static_object(&once_value_19
);
3924 } else fra
.me
.REG
[6] = once_value_19
;
3925 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3926 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
3928 /* ./compiling//compiling_icode.nit:560 */
3929 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3930 /* ./compiling//compiling_icode.nit:561 */
3931 if (!once_value_20
) {
3932 fra
.me
.REG
[6] = BOX_NativeString("}");
3934 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3935 once_value_20
= fra
.me
.REG
[6];
3936 register_static_object(&once_value_20
);
3937 } else fra
.me
.REG
[6] = once_value_20
;
3938 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3939 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3942 /* ./compiling//compiling_icode.nit:565 */
3943 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3944 if (UNTAG_Bool(REGB0
)) {
3946 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3947 if (UNTAG_Bool(REGB1
)) {
3948 REGB1
= TAG_Bool(false);
3951 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
3955 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3956 if (UNTAG_Bool(REGB0
)) {
3957 /* ./compiling//compiling_icode.nit:566 */
3958 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
3959 /* ./compiling//compiling_icode.nit:567 */
3960 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3962 stack_frame_head
= fra
.me
.prev
;
3965 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
){
3966 struct {struct stack_frame_t me
;} fra
;
3971 static val_t once_value_4
; /* Once value */
3972 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3973 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3975 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAbsCall___compile_to_c
;
3976 fra
.me
.has_broke
= 0;
3977 fra
.me
.REG_size
= 1;
3978 fra
.me
.REG
[0] = NIT_NULL
;
3979 fra
.me
.closure_ctx
= closctx_param
;
3980 fra
.me
.closure_funs
= CREG
;
3982 CREG
[0] = clos_fun0
;
3983 /* ./compiling//compiling_icode.nit:499 */
3984 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3985 if (UNTAG_Bool(REGB0
)) {
3987 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3988 if (UNTAG_Bool(REGB1
)) {
3989 REGB1
= TAG_Bool(false);
3992 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
3996 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3997 if (UNTAG_Bool(REGB0
)) {
3998 /* ./compiling//compiling_icode.nit:500 */
3999 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4000 if (UNTAG_Bool(REGB0
)) {
4001 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 500);
4003 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___IClosureDef___compile_closure(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
4004 /* ./compiling//compiling_icode.nit:501 */
4005 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[0]);
4007 /* ./compiling//compiling_icode.nit:503 */
4008 if (!once_value_4
) {
4009 fra
.me
.REG
[0] = BOX_NativeString("NULL");
4011 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4012 once_value_4
= fra
.me
.REG
[0];
4013 register_static_object(&once_value_4
);
4014 } else fra
.me
.REG
[0] = once_value_4
;
4015 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4016 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[0]);
4018 stack_frame_head
= fra
.me
.prev
;
4021 val_t
compiling___compiling_icode___IAbsCall___compile_call_to_c(val_t p0
, val_t p1
, val_t p2
){
4022 struct {struct stack_frame_t me
;} fra
;
4024 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4025 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4027 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAbsCall___compile_call_to_c
;
4028 fra
.me
.has_broke
= 0;
4029 fra
.me
.REG_size
= 0;
4030 /* ./compiling//compiling_icode.nit:571 */
4031 nit_abort("Deferred method called", NULL
, LOCATE_compiling___compiling_icode
, 571);
4032 stack_frame_head
= fra
.me
.prev
;
4035 val_t
compiling___compiling_icode___ICall___compile_call_to_c(val_t p0
, val_t p1
, val_t p2
){
4036 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
4039 static val_t once_value_2
; /* Once value */
4040 static val_t once_value_3
; /* Once value */
4041 static val_t once_value_4
; /* Once value */
4042 static val_t once_value_5
; /* Once value */
4043 static val_t once_value_6
; /* Once value */
4044 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4045 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4047 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICall___compile_call_to_c
;
4048 fra
.me
.has_broke
= 0;
4049 fra
.me
.REG_size
= 5;
4050 fra
.me
.REG
[0] = NIT_NULL
;
4051 fra
.me
.REG
[1] = NIT_NULL
;
4052 fra
.me
.REG
[2] = NIT_NULL
;
4053 fra
.me
.REG
[3] = NIT_NULL
;
4054 fra
.me
.REG
[4] = NIT_NULL
;
4058 /* ./compiling//compiling_icode.nit:578 */
4059 fra
.me
.REG
[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
4060 /* ./compiling//compiling_icode.nit:582 */
4061 REGB0
= CALL_icode___icode_base___IAbsCall___is_explicit_from_extern(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4062 if (UNTAG_Bool(REGB0
)) {
4063 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4066 /* ./compiling//compiling_icode.nit:584 */
4067 fra
.me
.REG
[0] = CALL_icode___icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4068 /* ./compiling//compiling_icode.nit:585 */
4069 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4070 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4071 if (UNTAG_Bool(REGB0
)) {
4072 if (!once_value_2
) {
4073 fra
.me
.REG
[4] = BOX_NativeString("init_table");
4074 REGB0
= TAG_Int(10);
4075 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4076 once_value_2
= fra
.me
.REG
[4];
4077 register_static_object(&once_value_2
);
4078 } else fra
.me
.REG
[4] = once_value_2
;
4079 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4080 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4082 /* ./compiling//compiling_icode.nit:586 */
4083 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4084 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalProperty___meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4085 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4086 /* ./compiling//compiling_icode.nit:587 */
4087 if (!once_value_3
) {
4088 fra
.me
.REG
[0] = BOX_NativeString("(");
4090 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4091 once_value_3
= fra
.me
.REG
[0];
4092 register_static_object(&once_value_3
);
4093 } else fra
.me
.REG
[0] = once_value_3
;
4094 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4095 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4096 /* ./compiling//compiling_icode.nit:588 */
4097 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4098 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4099 /* ./compiling//compiling_icode.nit:589 */
4100 if (!once_value_4
) {
4101 fra
.me
.REG
[0] = BOX_NativeString(")(");
4103 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4104 once_value_4
= fra
.me
.REG
[0];
4105 register_static_object(&once_value_4
);
4106 } else fra
.me
.REG
[0] = once_value_4
;
4107 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4108 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4109 /* ./compiling//compiling_icode.nit:590 */
4110 if (!once_value_5
) {
4111 fra
.me
.REG
[0] = BOX_NativeString(", ");
4113 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4114 once_value_5
= fra
.me
.REG
[0];
4115 register_static_object(&once_value_5
);
4116 } else fra
.me
.REG
[0] = once_value_5
;
4117 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4118 CALL_compiling___compiling_writer___Writer___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4119 /* ./compiling//compiling_icode.nit:591 */
4120 if (!once_value_6
) {
4121 fra
.me
.REG
[0] = BOX_NativeString(")");
4123 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4124 once_value_6
= fra
.me
.REG
[0];
4125 register_static_object(&once_value_6
);
4126 } else fra
.me
.REG
[0] = once_value_6
;
4127 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4128 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4129 /* ./compiling//compiling_icode.nit:592 */
4130 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4133 stack_frame_head
= fra
.me
.prev
;
4134 return fra
.me
.REG
[3];
4136 val_t
compiling___compiling_icode___ISuper___compile_call_to_c(val_t p0
, val_t p1
, val_t p2
){
4137 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4140 static val_t once_value_2
; /* Once value */
4141 static val_t once_value_3
; /* Once value */
4142 static val_t once_value_4
; /* Once value */
4143 static val_t once_value_5
; /* Once value */
4144 static val_t once_value_6
; /* Once value */
4145 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4146 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4148 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ISuper___compile_call_to_c
;
4149 fra
.me
.has_broke
= 0;
4150 fra
.me
.REG_size
= 4;
4151 fra
.me
.REG
[0] = NIT_NULL
;
4152 fra
.me
.REG
[1] = NIT_NULL
;
4153 fra
.me
.REG
[2] = NIT_NULL
;
4154 fra
.me
.REG
[3] = NIT_NULL
;
4158 /* ./compiling//compiling_icode.nit:601 */
4159 REGB0
= CALL_icode___icode_base___IAbsCall___is_explicit_from_extern(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4160 if (UNTAG_Bool(REGB0
)) {
4161 fra
.me
.REG
[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
4164 /* ./compiling//compiling_icode.nit:603 */
4165 fra
.me
.REG
[0] = CALL_icode___icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4166 /* ./compiling//compiling_icode.nit:604 */
4167 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4168 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4169 if (UNTAG_Bool(REGB0
)) {
4170 if (!once_value_2
) {
4171 fra
.me
.REG
[3] = BOX_NativeString("init_table");
4172 REGB0
= TAG_Int(10);
4173 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4174 once_value_2
= fra
.me
.REG
[3];
4175 register_static_object(&once_value_2
);
4176 } else fra
.me
.REG
[3] = once_value_2
;
4177 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4178 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4180 /* ./compiling//compiling_icode.nit:605 */
4181 fra
.me
.REG
[3] = NEW_Writer_compiling___compiling_writer___Writer___init();
4182 /* ./compiling//compiling_icode.nit:606 */
4183 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalProperty___super_meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4184 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4185 /* ./compiling//compiling_icode.nit:607 */
4186 if (!once_value_3
) {
4187 fra
.me
.REG
[0] = BOX_NativeString("(");
4189 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4190 once_value_3
= fra
.me
.REG
[0];
4191 register_static_object(&once_value_3
);
4192 } else fra
.me
.REG
[0] = once_value_3
;
4193 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4194 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4195 /* ./compiling//compiling_icode.nit:608 */
4196 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4197 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4198 /* ./compiling//compiling_icode.nit:609 */
4199 if (!once_value_4
) {
4200 fra
.me
.REG
[0] = BOX_NativeString(")(");
4202 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4203 once_value_4
= fra
.me
.REG
[0];
4204 register_static_object(&once_value_4
);
4205 } else fra
.me
.REG
[0] = once_value_4
;
4206 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4207 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4208 /* ./compiling//compiling_icode.nit:610 */
4209 if (!once_value_5
) {
4210 fra
.me
.REG
[0] = BOX_NativeString(", ");
4212 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4213 once_value_5
= fra
.me
.REG
[0];
4214 register_static_object(&once_value_5
);
4215 } else fra
.me
.REG
[0] = once_value_5
;
4216 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4217 CALL_compiling___compiling_writer___Writer___add_all(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4218 /* ./compiling//compiling_icode.nit:611 */
4219 if (!once_value_6
) {
4220 fra
.me
.REG
[0] = BOX_NativeString(")");
4222 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4223 once_value_6
= fra
.me
.REG
[0];
4224 register_static_object(&once_value_6
);
4225 } else fra
.me
.REG
[0] = once_value_6
;
4226 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4227 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4228 /* ./compiling//compiling_icode.nit:612 */
4229 fra
.me
.REG
[1] = fra
.me
.REG
[3];
4232 stack_frame_head
= fra
.me
.prev
;
4233 return fra
.me
.REG
[1];
4235 val_t
compiling___compiling_icode___INew___compile_call_to_c(val_t p0
, val_t p1
, val_t p2
){
4236 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
4239 static val_t once_value_2
; /* Once value */
4240 static val_t once_value_3
; /* Once value */
4241 static val_t once_value_4
; /* Once value */
4242 static val_t once_value_5
; /* Once value */
4243 static val_t once_value_6
; /* Once value */
4244 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4245 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4247 fra
.me
.meth
= LOCATE_compiling___compiling_icode___INew___compile_call_to_c
;
4248 fra
.me
.has_broke
= 0;
4249 fra
.me
.REG_size
= 5;
4250 fra
.me
.REG
[0] = NIT_NULL
;
4251 fra
.me
.REG
[1] = NIT_NULL
;
4252 fra
.me
.REG
[2] = NIT_NULL
;
4253 fra
.me
.REG
[3] = NIT_NULL
;
4254 fra
.me
.REG
[4] = NIT_NULL
;
4258 /* ./compiling//compiling_icode.nit:619 */
4259 fra
.me
.REG
[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
4260 /* ./compiling//compiling_icode.nit:623 */
4261 REGB0
= CALL_icode___icode_base___IAbsCall___is_explicit_from_extern(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4262 if (UNTAG_Bool(REGB0
)) {
4263 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4266 /* ./compiling//compiling_icode.nit:625 */
4267 if (!once_value_2
) {
4268 fra
.me
.REG
[4] = BOX_NativeString("NEW_");
4270 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4271 once_value_2
= fra
.me
.REG
[4];
4272 register_static_object(&once_value_2
);
4273 } else fra
.me
.REG
[4] = once_value_2
;
4274 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4275 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4276 /* ./compiling//compiling_icode.nit:626 */
4277 fra
.me
.REG
[4] = CALL_icode___icode_base___INew___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4278 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4279 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4280 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4281 /* ./compiling//compiling_icode.nit:627 */
4282 if (!once_value_3
) {
4283 fra
.me
.REG
[4] = BOX_NativeString("_");
4285 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4286 once_value_3
= fra
.me
.REG
[4];
4287 register_static_object(&once_value_3
);
4288 } else fra
.me
.REG
[4] = once_value_3
;
4289 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4290 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4291 /* ./compiling//compiling_icode.nit:628 */
4292 fra
.me
.REG
[0] = CALL_icode___icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4293 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4294 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4295 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4296 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4297 /* ./compiling//compiling_icode.nit:629 */
4298 if (!once_value_4
) {
4299 fra
.me
.REG
[0] = BOX_NativeString("(");
4301 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4302 once_value_4
= fra
.me
.REG
[0];
4303 register_static_object(&once_value_4
);
4304 } else fra
.me
.REG
[0] = once_value_4
;
4305 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4306 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4307 /* ./compiling//compiling_icode.nit:630 */
4308 if (!once_value_5
) {
4309 fra
.me
.REG
[0] = BOX_NativeString(", ");
4311 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4312 once_value_5
= fra
.me
.REG
[0];
4313 register_static_object(&once_value_5
);
4314 } else fra
.me
.REG
[0] = once_value_5
;
4315 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4316 CALL_compiling___compiling_writer___Writer___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4317 /* ./compiling//compiling_icode.nit:631 */
4318 if (!once_value_6
) {
4319 fra
.me
.REG
[0] = BOX_NativeString(")");
4321 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4322 once_value_6
= fra
.me
.REG
[0];
4323 register_static_object(&once_value_6
);
4324 } else fra
.me
.REG
[0] = once_value_6
;
4325 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4326 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4327 /* ./compiling//compiling_icode.nit:632 */
4328 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4331 stack_frame_head
= fra
.me
.prev
;
4332 return fra
.me
.REG
[3];
4334 void compiling___compiling_icode___IAllocateInstance___compile_to_c(val_t p0
, val_t p1
){
4335 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
4338 static val_t once_value_1
; /* Once value */
4339 static val_t once_value_2
; /* Once value */
4340 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4341 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4343 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAllocateInstance___compile_to_c
;
4344 fra
.me
.has_broke
= 0;
4345 fra
.me
.REG_size
= 3;
4346 fra
.me
.REG
[0] = NIT_NULL
;
4347 fra
.me
.REG
[1] = NIT_NULL
;
4348 fra
.me
.REG
[2] = NIT_NULL
;
4351 /* ./compiling//compiling_icode.nit:639 */
4352 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4353 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4354 /* ./compiling//compiling_icode.nit:640 */
4355 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4356 /* ./compiling//compiling_icode.nit:641 */
4357 if (!once_value_1
) {
4358 fra
.me
.REG
[2] = BOX_NativeString("NEW_");
4360 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
4361 once_value_1
= fra
.me
.REG
[2];
4362 register_static_object(&once_value_1
);
4363 } else fra
.me
.REG
[2] = once_value_1
;
4364 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4365 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4366 /* ./compiling//compiling_icode.nit:642 */
4367 fra
.me
.REG
[0] = CALL_icode___icode_base___IAllocateInstance___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4368 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4369 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4370 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4371 /* ./compiling//compiling_icode.nit:643 */
4372 if (!once_value_2
) {
4373 fra
.me
.REG
[0] = BOX_NativeString("()");
4375 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4376 once_value_2
= fra
.me
.REG
[0];
4377 register_static_object(&once_value_2
);
4378 } else fra
.me
.REG
[0] = once_value_2
;
4379 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4380 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4381 stack_frame_head
= fra
.me
.prev
;
4384 void compiling___compiling_icode___ICheckInstance___compile_to_c(val_t p0
, val_t p1
){
4385 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4388 static val_t once_value_1
; /* Once value */
4389 static val_t once_value_2
; /* Once value */
4390 static val_t once_value_3
; /* Once value */
4391 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4392 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4394 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICheckInstance___compile_to_c
;
4395 fra
.me
.has_broke
= 0;
4396 fra
.me
.REG_size
= 4;
4397 fra
.me
.REG
[0] = NIT_NULL
;
4398 fra
.me
.REG
[1] = NIT_NULL
;
4399 fra
.me
.REG
[2] = NIT_NULL
;
4400 fra
.me
.REG
[3] = NIT_NULL
;
4403 /* ./compiling//compiling_icode.nit:650 */
4404 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4405 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4406 /* ./compiling//compiling_icode.nit:651 */
4407 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4408 /* ./compiling//compiling_icode.nit:652 */
4409 if (!once_value_1
) {
4410 fra
.me
.REG
[3] = BOX_NativeString("CHECKNEW_");
4412 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4413 once_value_1
= fra
.me
.REG
[3];
4414 register_static_object(&once_value_1
);
4415 } else fra
.me
.REG
[3] = once_value_1
;
4416 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4417 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4418 /* ./compiling//compiling_icode.nit:653 */
4419 fra
.me
.REG
[3] = CALL_icode___icode_base___ICheckInstance___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4420 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4421 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4422 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4423 /* ./compiling//compiling_icode.nit:654 */
4424 if (!once_value_2
) {
4425 fra
.me
.REG
[3] = BOX_NativeString("(");
4427 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4428 once_value_2
= fra
.me
.REG
[3];
4429 register_static_object(&once_value_2
);
4430 } else fra
.me
.REG
[3] = once_value_2
;
4431 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4432 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4433 /* ./compiling//compiling_icode.nit:655 */
4434 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4435 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4436 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
4437 /* ./compiling//compiling_icode.nit:656 */
4438 if (!once_value_3
) {
4439 fra
.me
.REG
[0] = BOX_NativeString(")");
4441 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4442 once_value_3
= fra
.me
.REG
[0];
4443 register_static_object(&once_value_3
);
4444 } else fra
.me
.REG
[0] = once_value_3
;
4445 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4446 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
4447 stack_frame_head
= fra
.me
.prev
;
4450 void compiling___compiling_icode___IInitAttributes___compile_to_c(val_t p0
, val_t p1
){
4451 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4454 static val_t once_value_1
; /* Once value */
4455 static val_t once_value_2
; /* Once value */
4456 static val_t once_value_3
; /* Once value */
4457 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4458 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4460 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IInitAttributes___compile_to_c
;
4461 fra
.me
.has_broke
= 0;
4462 fra
.me
.REG_size
= 4;
4463 fra
.me
.REG
[0] = NIT_NULL
;
4464 fra
.me
.REG
[1] = NIT_NULL
;
4465 fra
.me
.REG
[2] = NIT_NULL
;
4466 fra
.me
.REG
[3] = NIT_NULL
;
4469 /* ./compiling//compiling_icode.nit:663 */
4470 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4471 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4472 /* ./compiling//compiling_icode.nit:664 */
4473 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4474 /* ./compiling//compiling_icode.nit:665 */
4475 if (!once_value_1
) {
4476 fra
.me
.REG
[3] = BOX_NativeString("INIT_ATTRIBUTES__");
4477 REGB0
= TAG_Int(17);
4478 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4479 once_value_1
= fra
.me
.REG
[3];
4480 register_static_object(&once_value_1
);
4481 } else fra
.me
.REG
[3] = once_value_1
;
4482 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4483 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4484 /* ./compiling//compiling_icode.nit:666 */
4485 fra
.me
.REG
[3] = CALL_icode___icode_base___IInitAttributes___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4486 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4487 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4488 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4489 /* ./compiling//compiling_icode.nit:667 */
4490 if (!once_value_2
) {
4491 fra
.me
.REG
[3] = BOX_NativeString("(");
4493 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4494 once_value_2
= fra
.me
.REG
[3];
4495 register_static_object(&once_value_2
);
4496 } else fra
.me
.REG
[3] = once_value_2
;
4497 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4498 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4499 /* ./compiling//compiling_icode.nit:668 */
4500 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4501 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4502 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
4503 /* ./compiling//compiling_icode.nit:669 */
4504 if (!once_value_3
) {
4505 fra
.me
.REG
[0] = BOX_NativeString(");\n");
4507 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4508 once_value_3
= fra
.me
.REG
[0];
4509 register_static_object(&once_value_3
);
4510 } else fra
.me
.REG
[0] = once_value_3
;
4511 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4512 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
4513 stack_frame_head
= fra
.me
.prev
;
4516 val_t
compiling___compiling_icode___IStaticCall___compile_call_to_c(val_t p0
, val_t p1
, val_t p2
){
4517 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
4520 static val_t once_value_1
; /* Once value */
4521 static val_t once_value_2
; /* Once value */
4522 static val_t once_value_3
; /* Once value */
4523 static val_t once_value_4
; /* Once value */
4524 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4525 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4527 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IStaticCall___compile_call_to_c
;
4528 fra
.me
.has_broke
= 0;
4529 fra
.me
.REG_size
= 3;
4530 fra
.me
.REG
[0] = NIT_NULL
;
4531 fra
.me
.REG
[1] = NIT_NULL
;
4532 fra
.me
.REG
[2] = NIT_NULL
;
4536 /* ./compiling//compiling_icode.nit:676 */
4537 fra
.me
.REG
[1] = CALL_icode___icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4538 /* ./compiling//compiling_icode.nit:677 */
4539 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4540 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4541 if (UNTAG_Bool(REGB0
)) {
4542 if (!once_value_1
) {
4543 fra
.me
.REG
[1] = BOX_NativeString("init_table");
4544 REGB0
= TAG_Int(10);
4545 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
4546 once_value_1
= fra
.me
.REG
[1];
4547 register_static_object(&once_value_1
);
4548 } else fra
.me
.REG
[1] = once_value_1
;
4549 fra
.me
.REG
[1] = fra
.me
.REG
[1];
4550 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
4552 /* ./compiling//compiling_icode.nit:678 */
4553 fra
.me
.REG
[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
4554 /* ./compiling//compiling_icode.nit:679 */
4555 fra
.me
.REG
[0] = CALL_icode___icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4556 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4557 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4558 /* ./compiling//compiling_icode.nit:680 */
4559 if (!once_value_2
) {
4560 fra
.me
.REG
[0] = BOX_NativeString("(");
4562 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4563 once_value_2
= fra
.me
.REG
[0];
4564 register_static_object(&once_value_2
);
4565 } else fra
.me
.REG
[0] = once_value_2
;
4566 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4567 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4568 /* ./compiling//compiling_icode.nit:681 */
4569 if (!once_value_3
) {
4570 fra
.me
.REG
[0] = BOX_NativeString(", ");
4572 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4573 once_value_3
= fra
.me
.REG
[0];
4574 register_static_object(&once_value_3
);
4575 } else fra
.me
.REG
[0] = once_value_3
;
4576 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4577 CALL_compiling___compiling_writer___Writer___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4578 /* ./compiling//compiling_icode.nit:682 */
4579 if (!once_value_4
) {
4580 fra
.me
.REG
[0] = BOX_NativeString(")");
4582 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4583 once_value_4
= fra
.me
.REG
[0];
4584 register_static_object(&once_value_4
);
4585 } else fra
.me
.REG
[0] = once_value_4
;
4586 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4587 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4588 /* ./compiling//compiling_icode.nit:683 */
4591 stack_frame_head
= fra
.me
.prev
;
4592 return fra
.me
.REG
[1];
4594 void compiling___compiling_icode___INative___compile_to_c(val_t p0
, val_t p1
){
4595 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
4598 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4599 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4601 fra
.me
.meth
= LOCATE_compiling___compiling_icode___INative___compile_to_c
;
4602 fra
.me
.has_broke
= 0;
4603 fra
.me
.REG_size
= 3;
4604 fra
.me
.REG
[0] = NIT_NULL
;
4605 fra
.me
.REG
[1] = NIT_NULL
;
4606 fra
.me
.REG
[2] = NIT_NULL
;
4609 /* ./compiling//compiling_icode.nit:690 */
4610 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4611 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4612 /* ./compiling//compiling_icode.nit:691 */
4613 fra
.me
.REG
[2] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4614 REGB0
= CALL_metamodel___abstractmetamodel___MMMethod___is_intern(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4615 if (UNTAG_Bool(REGB0
)) {
4616 /* ./compiling//compiling_icode.nit:692 */
4617 CALL_compiling___compiling_icode___INative___compile_intern_method_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4619 /* ./compiling//compiling_icode.nit:693 */
4620 fra
.me
.REG
[2] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4621 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4622 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4623 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4624 if (UNTAG_Bool(REGB0
)) {
4625 /* ./compiling//compiling_icode.nit:694 */
4626 CALL_compiling___compiling_icode___INative___compile_extern_method_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4629 stack_frame_head
= fra
.me
.prev
;
4632 void compiling___compiling_icode___INative___compile_extern_method_to_c(val_t p0
, val_t p1
){
4633 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
4640 static val_t once_value_1
; /* Once value */
4641 static val_t once_value_2
; /* Once value */
4642 static val_t once_value_6
; /* Once value */
4643 static val_t once_value_7
; /* Once value */
4644 static val_t once_value_8
; /* Once value */
4645 static val_t once_value_9
; /* Once value */
4646 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4647 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4649 fra
.me
.meth
= LOCATE_compiling___compiling_icode___INative___compile_extern_method_to_c
;
4650 fra
.me
.has_broke
= 0;
4651 fra
.me
.REG_size
= 7;
4652 fra
.me
.REG
[0] = NIT_NULL
;
4653 fra
.me
.REG
[1] = NIT_NULL
;
4654 fra
.me
.REG
[2] = NIT_NULL
;
4655 fra
.me
.REG
[3] = NIT_NULL
;
4656 fra
.me
.REG
[4] = NIT_NULL
;
4657 fra
.me
.REG
[5] = NIT_NULL
;
4658 fra
.me
.REG
[6] = NIT_NULL
;
4661 /* ./compiling//compiling_icode.nit:700 */
4663 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4664 if (!once_value_1
) {
4665 fra
.me
.REG
[3] = BOX_NativeString("");
4667 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4668 once_value_1
= fra
.me
.REG
[3];
4669 register_static_object(&once_value_1
);
4670 } else fra
.me
.REG
[3] = once_value_1
;
4671 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4672 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4673 fra
.me
.REG
[3] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4674 fra
.me
.REG
[4] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4675 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4676 fra
.me
.REG
[4] = CALL_primitive_info___MMMethod___friendly_extern_name(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4677 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4678 if (!once_value_2
) {
4679 fra
.me
.REG
[4] = BOX_NativeString("___out");
4681 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4682 once_value_2
= fra
.me
.REG
[4];
4683 register_static_object(&once_value_2
);
4684 } else fra
.me
.REG
[4] = once_value_2
;
4685 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4686 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4687 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4688 /* ./compiling//compiling_icode.nit:702 */
4689 fra
.me
.REG
[4] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4690 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4691 /* ./compiling//compiling_icode.nit:703 */
4692 fra
.me
.REG
[3] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4693 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4694 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4695 if (UNTAG_Bool(REGB1
)) {
4696 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 703);
4698 REGB1
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4700 /* ./../lib/standard//kernel.nit:235 */
4701 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
4702 /* ./compiling//compiling_icode.nit:703 */
4703 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB2
));
4704 if (UNTAG_Bool(REGB1
)) {
4706 /* ./../lib/standard//kernel.nit:227 */
4707 REGB2
= TAG_Bool((REGB0
)==(REGB2
));
4708 /* ./compiling//compiling_icode.nit:703 */
4711 if (UNTAG_Bool(REGB1
)) {
4713 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_icode
, 703);
4715 /* ./compiling//compiling_icode.nit:705 */
4716 fra
.me
.REG
[3] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4717 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___registers(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
4718 /* ./compiling//compiling_icode.nit:707 */
4719 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___init();
4720 /* ./compiling//compiling_icode.nit:708 */
4722 /* ./../lib/standard//collection//array.nit:278 */
4723 fra
.me
.REG
[6] = fra
.me
.REG
[3];
4724 /* ./../lib/standard//collection//array.nit:280 */
4726 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
4727 if (UNTAG_Bool(REGB0
)) {
4729 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4731 /* ./../lib/standard//kernel.nit:233 */
4732 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
4733 /* ./../lib/standard//collection//array.nit:280 */
4734 if (UNTAG_Bool(REGB2
)) {
4735 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
4736 if (UNTAG_Bool(REGB2
)) {
4738 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
4740 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6]);
4741 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
4742 if (UNTAG_Bool(REGB0
)) {
4744 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4746 /* ./../lib/standard//kernel.nit:232 */
4747 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
4749 /* ./../lib/standard//collection//array.nit:280 */
4750 REGB0
= TAG_Bool(false);
4753 if (UNTAG_Bool(REGB2
)) {
4755 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
4757 /* ./../lib/standard//collection//array.nit:281 */
4758 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[6]);
4759 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
4760 if (UNTAG_Bool(REGB2
)) {
4761 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
4763 /* ./../lib/standard//collection//array.nit:718 */
4764 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB1
)];
4765 /* ./../lib/standard//collection//array.nit:281 */
4768 /* ./compiling//compiling_icode.nit:708 */
4769 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4770 /* ./compiling//compiling_icode.nit:709 */
4772 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4773 if (UNTAG_Bool(REGB2
)) {
4774 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 709);
4776 REGB2
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4777 /* ./../lib/standard//kernel.nit:352 */
4779 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
4780 if (UNTAG_Bool(REGB0
)) {
4782 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4784 /* ./../lib/standard//kernel.nit:232 */
4785 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
4786 /* ./../lib/standard//kernel.nit:352 */
4787 if (UNTAG_Bool(REGB0
)) {
4788 /* ./compiling//compiling_icode.nit:709 */
4790 /* ./compiling//compiling_icode.nit:710 */
4792 /* ./../lib/standard//kernel.nit:235 */
4793 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
4794 /* ./../lib/standard//collection//array.nit:278 */
4795 fra
.me
.REG
[4] = fra
.me
.REG
[3];
4796 /* ./../lib/standard//collection//array.nit:280 */
4798 REGB4
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
4799 if (UNTAG_Bool(REGB4
)) {
4801 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4803 /* ./../lib/standard//kernel.nit:233 */
4804 REGB0
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB0
));
4805 /* ./../lib/standard//collection//array.nit:280 */
4806 if (UNTAG_Bool(REGB0
)) {
4807 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
4808 if (UNTAG_Bool(REGB0
)) {
4810 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
4812 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
4813 REGB4
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
4814 if (UNTAG_Bool(REGB4
)) {
4816 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4818 /* ./../lib/standard//kernel.nit:232 */
4819 REGB0
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB0
));
4821 /* ./../lib/standard//collection//array.nit:280 */
4822 REGB4
= TAG_Bool(false);
4825 if (UNTAG_Bool(REGB0
)) {
4827 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
4829 /* ./../lib/standard//collection//array.nit:281 */
4830 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
4831 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4832 if (UNTAG_Bool(REGB0
)) {
4833 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
4835 /* ./../lib/standard//collection//array.nit:718 */
4836 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB3
)];
4837 /* ./../lib/standard//collection//array.nit:281 */
4840 /* ./compiling//compiling_icode.nit:710 */
4841 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
4842 /* ./../lib/standard//kernel.nit:354 */
4844 /* ./../lib/standard//kernel.nit:235 */
4845 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
4846 /* ./../lib/standard//kernel.nit:354 */
4849 /* ./../lib/standard//kernel.nit:352 */
4854 /* ./compiling//compiling_icode.nit:712 */
4856 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4857 if (!once_value_6
) {
4858 fra
.me
.REG
[4] = BOX_NativeString("");
4860 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
4861 once_value_6
= fra
.me
.REG
[4];
4862 register_static_object(&once_value_6
);
4863 } else fra
.me
.REG
[4] = once_value_6
;
4864 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4865 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4866 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4867 if (!once_value_7
) {
4868 fra
.me
.REG
[2] = BOX_NativeString("(");
4870 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
4871 once_value_7
= fra
.me
.REG
[2];
4872 register_static_object(&once_value_7
);
4873 } else fra
.me
.REG
[2] = once_value_7
;
4874 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4875 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4876 if (!once_value_8
) {
4877 fra
.me
.REG
[2] = BOX_NativeString(", ");
4879 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
4880 once_value_8
= fra
.me
.REG
[2];
4881 register_static_object(&once_value_8
);
4882 } else fra
.me
.REG
[2] = once_value_8
;
4883 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4884 fra
.me
.REG
[2] = CALL_standard___string___Collection___join(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
4885 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4886 if (!once_value_9
) {
4887 fra
.me
.REG
[2] = BOX_NativeString(")");
4889 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
4890 once_value_9
= fra
.me
.REG
[2];
4891 register_static_object(&once_value_9
);
4892 } else fra
.me
.REG
[2] = once_value_9
;
4893 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4894 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4895 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4896 /* ./compiling//compiling_icode.nit:714 */
4897 REGB1
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4898 if (UNTAG_Bool(REGB1
)) {
4900 /* ./compiling//compiling_icode.nit:715 */
4901 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4902 /* ./compiling//compiling_icode.nit:716 */
4903 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
4904 stack_frame_head
= fra
.me
.prev
;
4907 void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
, val_t p1
){
4908 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
4913 static val_t once_value_1
; /* Once value */
4914 static val_t once_value_2
; /* Once value */
4915 static val_t once_value_3
; /* Once value */
4916 static val_t once_value_4
; /* Once value */
4917 static val_t once_value_6
; /* Once value */
4918 static val_t once_value_7
; /* Once value */
4919 static val_t once_value_8
; /* Once value */
4920 static val_t once_value_10
; /* Once value */
4921 static val_t once_value_11
; /* Once value */
4922 static val_t once_value_12
; /* Once value */
4923 static val_t once_value_13
; /* Once value */
4924 static val_t once_value_15
; /* Once value */
4925 static val_t once_value_16
; /* Once value */
4926 static val_t once_value_17
; /* Once value */
4927 static val_t once_value_18
; /* Once value */
4928 static val_t once_value_20
; /* Once value */
4929 static val_t once_value_21
; /* Once value */
4930 static val_t once_value_22
; /* Once value */
4931 static val_t once_value_23
; /* Once value */
4932 static val_t once_value_25
; /* Once value */
4933 static val_t once_value_26
; /* Once value */
4934 static val_t once_value_27
; /* Once value */
4935 static val_t once_value_28
; /* Once value */
4936 static val_t once_value_30
; /* Once value */
4937 static val_t once_value_31
; /* Once value */
4938 static val_t once_value_32
; /* Once value */
4939 static val_t once_value_33
; /* Once value */
4940 static val_t once_value_35
; /* Once value */
4941 static val_t once_value_36
; /* Once value */
4942 static val_t once_value_37
; /* Once value */
4943 static val_t once_value_38
; /* Once value */
4944 static val_t once_value_40
; /* Once value */
4945 static val_t once_value_42
; /* Once value */
4946 static val_t once_value_43
; /* Once value */
4947 static val_t once_value_44
; /* Once value */
4948 static val_t once_value_45
; /* Once value */
4949 static val_t once_value_47
; /* Once value */
4950 static val_t once_value_49
; /* Once value */
4951 static val_t once_value_50
; /* Once value */
4952 static val_t once_value_51
; /* Once value */
4953 static val_t once_value_52
; /* Once value */
4954 static val_t once_value_54
; /* Once value */
4955 static val_t once_value_56
; /* Once value */
4956 static val_t once_value_57
; /* Once value */
4957 static val_t once_value_58
; /* Once value */
4958 static val_t once_value_59
; /* Once value */
4959 static val_t once_value_61
; /* Once value */
4960 static val_t once_value_63
; /* Once value */
4961 static val_t once_value_64
; /* Once value */
4962 static val_t once_value_65
; /* Once value */
4963 static val_t once_value_66
; /* Once value */
4964 static val_t once_value_68
; /* Once value */
4965 static val_t once_value_70
; /* Once value */
4966 static val_t once_value_71
; /* Once value */
4967 static val_t once_value_72
; /* Once value */
4968 static val_t once_value_73
; /* Once value */
4969 static val_t once_value_75
; /* Once value */
4970 static val_t once_value_77
; /* Once value */
4971 static val_t once_value_78
; /* Once value */
4972 static val_t once_value_79
; /* Once value */
4973 static val_t once_value_80
; /* Once value */
4974 static val_t once_value_82
; /* Once value */
4975 static val_t once_value_84
; /* Once value */
4976 static val_t once_value_85
; /* Once value */
4977 static val_t once_value_86
; /* Once value */
4978 static val_t once_value_87
; /* Once value */
4979 static val_t once_value_89
; /* Once value */
4980 static val_t once_value_91
; /* Once value */
4981 static val_t once_value_92
; /* Once value */
4982 static val_t once_value_93
; /* Once value */
4983 static val_t once_value_94
; /* Once value */
4984 static val_t once_value_96
; /* Once value */
4985 static val_t once_value_98
; /* Once value */
4986 static val_t once_value_99
; /* Once value */
4987 static val_t once_value_100
; /* Once value */
4988 static val_t once_value_101
; /* Once value */
4989 static val_t once_value_103
; /* Once value */
4990 static val_t once_value_105
; /* Once value */
4991 static val_t once_value_106
; /* Once value */
4992 static val_t once_value_107
; /* Once value */
4993 static val_t once_value_108
; /* Once value */
4994 static val_t once_value_110
; /* Once value */
4995 static val_t once_value_112
; /* Once value */
4996 static val_t once_value_113
; /* Once value */
4997 static val_t once_value_114
; /* Once value */
4998 static val_t once_value_115
; /* Once value */
4999 static val_t once_value_117
; /* Once value */
5000 static val_t once_value_119
; /* Once value */
5001 static val_t once_value_120
; /* Once value */
5002 static val_t once_value_121
; /* Once value */
5003 static val_t once_value_122
; /* Once value */
5004 static val_t once_value_124
; /* Once value */
5005 static val_t once_value_126
; /* Once value */
5006 static val_t once_value_127
; /* Once value */
5007 static val_t once_value_128
; /* Once value */
5008 static val_t once_value_129
; /* Once value */
5009 static val_t once_value_130
; /* Once value */
5010 static val_t once_value_131
; /* Once value */
5011 static val_t once_value_133
; /* Once value */
5012 static val_t once_value_134
; /* Once value */
5013 static val_t once_value_135
; /* Once value */
5014 static val_t once_value_136
; /* Once value */
5015 static val_t once_value_138
; /* Once value */
5016 static val_t once_value_139
; /* Once value */
5017 static val_t once_value_140
; /* Once value */
5018 static val_t once_value_141
; /* Once value */
5019 static val_t once_value_143
; /* Once value */
5020 static val_t once_value_144
; /* Once value */
5021 static val_t once_value_145
; /* Once value */
5022 static val_t once_value_146
; /* Once value */
5023 static val_t once_value_148
; /* Once value */
5024 static val_t once_value_149
; /* Once value */
5025 static val_t once_value_150
; /* Once value */
5026 static val_t once_value_151
; /* Once value */
5027 static val_t once_value_153
; /* Once value */
5028 static val_t once_value_155
; /* Once value */
5029 static val_t once_value_156
; /* Once value */
5030 static val_t once_value_157
; /* Once value */
5031 static val_t once_value_158
; /* Once value */
5032 static val_t once_value_160
; /* Once value */
5033 static val_t once_value_162
; /* Once value */
5034 static val_t once_value_163
; /* Once value */
5035 static val_t once_value_164
; /* Once value */
5036 static val_t once_value_165
; /* Once value */
5037 static val_t once_value_167
; /* Once value */
5038 static val_t once_value_169
; /* Once value */
5039 static val_t once_value_170
; /* Once value */
5040 static val_t once_value_171
; /* Once value */
5041 static val_t once_value_172
; /* Once value */
5042 static val_t once_value_174
; /* Once value */
5043 static val_t once_value_176
; /* Once value */
5044 static val_t once_value_177
; /* Once value */
5045 static val_t once_value_178
; /* Once value */
5046 static val_t once_value_179
; /* Once value */
5047 static val_t once_value_181
; /* Once value */
5048 static val_t once_value_183
; /* Once value */
5049 static val_t once_value_184
; /* Once value */
5050 static val_t once_value_185
; /* Once value */
5051 static val_t once_value_186
; /* Once value */
5052 static val_t once_value_188
; /* Once value */
5053 static val_t once_value_190
; /* Once value */
5054 static val_t once_value_191
; /* Once value */
5055 static val_t once_value_192
; /* Once value */
5056 static val_t once_value_193
; /* Once value */
5057 static val_t once_value_195
; /* Once value */
5058 static val_t once_value_197
; /* Once value */
5059 static val_t once_value_198
; /* Once value */
5060 static val_t once_value_199
; /* Once value */
5061 static val_t once_value_200
; /* Once value */
5062 static val_t once_value_202
; /* Once value */
5063 static val_t once_value_204
; /* Once value */
5064 static val_t once_value_205
; /* Once value */
5065 static val_t once_value_206
; /* Once value */
5066 static val_t once_value_207
; /* Once value */
5067 static val_t once_value_208
; /* Once value */
5068 static val_t once_value_209
; /* Once value */
5069 static val_t once_value_211
; /* Once value */
5070 static val_t once_value_212
; /* Once value */
5071 static val_t once_value_213
; /* Once value */
5072 static val_t once_value_214
; /* Once value */
5073 static val_t once_value_216
; /* Once value */
5074 static val_t once_value_217
; /* Once value */
5075 static val_t once_value_218
; /* Once value */
5076 static val_t once_value_219
; /* Once value */
5077 static val_t once_value_221
; /* Once value */
5078 static val_t once_value_222
; /* Once value */
5079 static val_t once_value_223
; /* Once value */
5080 static val_t once_value_224
; /* Once value */
5081 static val_t once_value_226
; /* Once value */
5082 static val_t once_value_227
; /* Once value */
5083 static val_t once_value_228
; /* Once value */
5084 static val_t once_value_229
; /* Once value */
5085 static val_t once_value_231
; /* Once value */
5086 static val_t once_value_232
; /* Once value */
5087 static val_t once_value_233
; /* Once value */
5088 static val_t once_value_234
; /* Once value */
5089 static val_t once_value_236
; /* Once value */
5090 static val_t once_value_237
; /* Once value */
5091 static val_t once_value_238
; /* Once value */
5092 static val_t once_value_239
; /* Once value */
5093 static val_t once_value_241
; /* Once value */
5094 static val_t once_value_242
; /* Once value */
5095 static val_t once_value_243
; /* Once value */
5096 static val_t once_value_244
; /* Once value */
5097 static val_t once_value_246
; /* Once value */
5098 static val_t once_value_248
; /* Once value */
5099 static val_t once_value_249
; /* Once value */
5100 static val_t once_value_250
; /* Once value */
5101 static val_t once_value_251
; /* Once value */
5102 static val_t once_value_253
; /* Once value */
5103 static val_t once_value_255
; /* Once value */
5104 static val_t once_value_256
; /* Once value */
5105 static val_t once_value_257
; /* Once value */
5106 static val_t once_value_258
; /* Once value */
5107 static val_t once_value_260
; /* Once value */
5108 static val_t once_value_262
; /* Once value */
5109 static val_t once_value_263
; /* Once value */
5110 static val_t once_value_264
; /* Once value */
5111 static val_t once_value_265
; /* Once value */
5112 static val_t once_value_267
; /* Once value */
5113 static val_t once_value_269
; /* Once value */
5114 static val_t once_value_270
; /* Once value */
5115 static val_t once_value_271
; /* Once value */
5116 static val_t once_value_272
; /* Once value */
5117 static val_t once_value_274
; /* Once value */
5118 static val_t once_value_276
; /* Once value */
5119 static val_t once_value_277
; /* Once value */
5120 static val_t once_value_278
; /* Once value */
5121 static val_t once_value_279
; /* Once value */
5122 static val_t once_value_281
; /* Once value */
5123 static val_t once_value_283
; /* Once value */
5124 static val_t once_value_284
; /* Once value */
5125 static val_t once_value_285
; /* Once value */
5126 static val_t once_value_286
; /* Once value */
5127 static val_t once_value_288
; /* Once value */
5128 static val_t once_value_290
; /* Once value */
5129 static val_t once_value_291
; /* Once value */
5130 static val_t once_value_292
; /* Once value */
5131 static val_t once_value_293
; /* Once value */
5132 static val_t once_value_295
; /* Once value */
5133 static val_t once_value_297
; /* Once value */
5134 static val_t once_value_298
; /* Once value */
5135 static val_t once_value_299
; /* Once value */
5136 static val_t once_value_300
; /* Once value */
5137 static val_t once_value_302
; /* Once value */
5138 static val_t once_value_304
; /* Once value */
5139 static val_t once_value_305
; /* Once value */
5140 static val_t once_value_306
; /* Once value */
5141 static val_t once_value_307
; /* Once value */
5142 static val_t once_value_309
; /* Once value */
5143 static val_t once_value_311
; /* Once value */
5144 static val_t once_value_312
; /* Once value */
5145 static val_t once_value_313
; /* Once value */
5146 static val_t once_value_314
; /* Once value */
5147 static val_t once_value_316
; /* Once value */
5148 static val_t once_value_318
; /* Once value */
5149 static val_t once_value_319
; /* Once value */
5150 static val_t once_value_320
; /* Once value */
5151 static val_t once_value_321
; /* Once value */
5152 static val_t once_value_322
; /* Once value */
5153 static val_t once_value_323
; /* Once value */
5154 static val_t once_value_325
; /* Once value */
5155 static val_t once_value_326
; /* Once value */
5156 static val_t once_value_327
; /* Once value */
5157 static val_t once_value_328
; /* Once value */
5158 static val_t once_value_330
; /* Once value */
5159 static val_t once_value_331
; /* Once value */
5160 static val_t once_value_332
; /* Once value */
5161 static val_t once_value_333
; /* Once value */
5162 static val_t once_value_335
; /* Once value */
5163 static val_t once_value_336
; /* Once value */
5164 static val_t once_value_337
; /* Once value */
5165 static val_t once_value_338
; /* Once value */
5166 static val_t once_value_340
; /* Once value */
5167 static val_t once_value_341
; /* Once value */
5168 static val_t once_value_342
; /* Once value */
5169 static val_t once_value_343
; /* Once value */
5170 static val_t once_value_345
; /* Once value */
5171 static val_t once_value_346
; /* Once value */
5172 static val_t once_value_347
; /* Once value */
5173 static val_t once_value_348
; /* Once value */
5174 static val_t once_value_350
; /* Once value */
5175 static val_t once_value_352
; /* Once value */
5176 static val_t once_value_353
; /* Once value */
5177 static val_t once_value_354
; /* Once value */
5178 static val_t once_value_355
; /* Once value */
5179 static val_t once_value_357
; /* Once value */
5180 static val_t once_value_359
; /* Once value */
5181 static val_t once_value_360
; /* Once value */
5182 static val_t once_value_361
; /* Once value */
5183 static val_t once_value_362
; /* Once value */
5184 static val_t once_value_363
; /* Once value */
5185 static val_t once_value_364
; /* Once value */
5186 static val_t once_value_366
; /* Once value */
5187 static val_t once_value_367
; /* Once value */
5188 static val_t once_value_368
; /* Once value */
5189 static val_t once_value_369
; /* Once value */
5190 static val_t once_value_371
; /* Once value */
5191 static val_t once_value_373
; /* Once value */
5192 static val_t once_value_374
; /* Once value */
5193 static val_t once_value_375
; /* Once value */
5194 static val_t once_value_376
; /* Once value */
5195 static val_t once_value_378
; /* Once value */
5196 static val_t once_value_380
; /* Once value */
5197 static val_t once_value_382
; /* Once value */
5198 static val_t once_value_383
; /* Once value */
5199 static val_t once_value_384
; /* Once value */
5200 static val_t once_value_385
; /* Once value */
5201 static val_t once_value_387
; /* Once value */
5202 static val_t once_value_389
; /* Once value */
5203 static val_t once_value_391
; /* Once value */
5204 static val_t once_value_392
; /* Once value */
5205 static val_t once_value_393
; /* Once value */
5206 static val_t once_value_394
; /* Once value */
5207 static val_t once_value_395
; /* Once value */
5208 static val_t once_value_396
; /* Once value */
5209 static val_t once_value_398
; /* Once value */
5210 static val_t once_value_399
; /* Once value */
5211 static val_t once_value_400
; /* Once value */
5212 static val_t once_value_401
; /* Once value */
5213 static val_t once_value_403
; /* Once value */
5214 static val_t once_value_404
; /* Once value */
5215 static val_t once_value_405
; /* Once value */
5216 static val_t once_value_406
; /* Once value */
5217 static val_t once_value_408
; /* Once value */
5218 static val_t once_value_410
; /* Once value */
5219 static val_t once_value_411
; /* Once value */
5220 static val_t once_value_412
; /* Once value */
5221 static val_t once_value_413
; /* Once value */
5222 static val_t once_value_415
; /* Once value */
5223 static val_t once_value_417
; /* Once value */
5224 static val_t once_value_419
; /* Once value */
5225 static val_t once_value_420
; /* Once value */
5226 static val_t once_value_421
; /* Once value */
5227 static val_t once_value_422
; /* Once value */
5228 static val_t once_value_424
; /* Once value */
5229 static val_t once_value_426
; /* Once value */
5230 static val_t once_value_428
; /* Once value */
5231 static val_t once_value_430
; /* Once value */
5232 static val_t once_value_432
; /* Once value */
5233 static val_t once_value_433
; /* Once value */
5234 static val_t once_value_434
; /* Once value */
5235 static val_t once_value_435
; /* Once value */
5236 static val_t once_value_437
; /* Once value */
5237 static val_t once_value_438
; /* Once value */
5238 static val_t once_value_439
; /* Once value */
5239 static val_t once_value_440
; /* Once value */
5240 static val_t once_value_441
; /* Once value */
5241 static val_t once_value_442
; /* Once value */
5242 static val_t once_value_443
; /* Once value */
5243 static val_t once_value_445
; /* Once value */
5244 static val_t once_value_447
; /* Once value */
5245 static val_t once_value_448
; /* Once value */
5246 static val_t once_value_449
; /* Once value */
5247 static val_t once_value_450
; /* Once value */
5248 static val_t once_value_452
; /* Once value */
5249 static val_t once_value_453
; /* Once value */
5250 static val_t once_value_454
; /* Once value */
5251 static val_t once_value_455
; /* Once value */
5252 static val_t once_value_457
; /* Once value */
5253 static val_t once_value_458
; /* Once value */
5254 static val_t once_value_459
; /* Once value */
5255 static val_t once_value_460
; /* Once value */
5256 static val_t once_value_462
; /* Once value */
5257 static val_t once_value_463
; /* Once value */
5258 static val_t once_value_464
; /* Once value */
5259 static val_t once_value_465
; /* Once value */
5260 static val_t once_value_467
; /* Once value */
5261 static val_t once_value_468
; /* Once value */
5262 static val_t once_value_469
; /* Once value */
5263 static val_t once_value_470
; /* Once value */
5264 static val_t once_value_472
; /* Once value */
5265 static val_t once_value_473
; /* Once value */
5266 static val_t once_value_474
; /* Once value */
5267 static val_t once_value_475
; /* Once value */
5268 static val_t once_value_476
; /* Once value */
5269 static val_t once_value_477
; /* Once value */
5270 static val_t once_value_478
; /* Once value */
5271 static val_t once_value_479
; /* Once value */
5272 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5273 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
5275 fra
.me
.meth
= LOCATE_compiling___compiling_icode___INative___compile_intern_method_to_c
;
5276 fra
.me
.has_broke
= 0;
5277 fra
.me
.REG_size
= 8;
5278 fra
.me
.REG
[0] = NIT_NULL
;
5279 fra
.me
.REG
[1] = NIT_NULL
;
5280 fra
.me
.REG
[2] = NIT_NULL
;
5281 fra
.me
.REG
[3] = NIT_NULL
;
5282 fra
.me
.REG
[4] = NIT_NULL
;
5283 fra
.me
.REG
[5] = NIT_NULL
;
5284 fra
.me
.REG
[6] = NIT_NULL
;
5285 fra
.me
.REG
[7] = NIT_NULL
;
5288 /* ./compiling//compiling_icode.nit:721 */
5289 fra
.me
.REG
[2] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5290 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5291 /* ./compiling//compiling_icode.nit:722 */
5292 fra
.me
.REG
[3] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5293 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5294 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5295 if (UNTAG_Bool(REGB1
)) {
5296 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 722);
5298 REGB1
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5300 /* ./../lib/standard//kernel.nit:235 */
5301 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
5302 /* ./compiling//compiling_icode.nit:722 */
5303 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB2
));
5304 if (UNTAG_Bool(REGB1
)) {
5306 /* ./../lib/standard//kernel.nit:227 */
5307 REGB2
= TAG_Bool((REGB0
)==(REGB2
));
5308 /* ./compiling//compiling_icode.nit:722 */
5311 if (UNTAG_Bool(REGB1
)) {
5313 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_icode
, 722);
5315 /* ./compiling//compiling_icode.nit:723 */
5316 fra
.me
.REG
[2] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5317 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5318 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5319 /* ./compiling//compiling_icode.nit:724 */
5320 fra
.me
.REG
[3] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5321 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5322 /* ./compiling//compiling_icode.nit:725 */
5323 fra
.me
.REG
[4] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5324 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___registers(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
5325 /* ./compiling//compiling_icode.nit:726 */
5326 fra
.me
.REG
[5] = NIT_NULL
;
5327 /* ./compiling//compiling_icode.nit:727 */
5328 if (!once_value_1
) {
5329 if (!once_value_2
) {
5330 fra
.me
.REG
[6] = BOX_NativeString("Int");
5332 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5333 once_value_2
= fra
.me
.REG
[6];
5334 register_static_object(&once_value_2
);
5335 } else fra
.me
.REG
[6] = once_value_2
;
5336 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5337 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5338 once_value_1
= fra
.me
.REG
[6];
5339 register_static_object(&once_value_1
);
5340 } else fra
.me
.REG
[6] = once_value_1
;
5341 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5342 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
5343 if (UNTAG_Bool(REGB1
)) {
5345 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
5348 if (UNTAG_Bool(REGB1
)) {
5349 /* ./compiling//compiling_icode.nit:728 */
5350 if (!once_value_3
) {
5351 if (!once_value_4
) {
5352 fra
.me
.REG
[6] = BOX_NativeString("object_id");
5354 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5355 once_value_4
= fra
.me
.REG
[6];
5356 register_static_object(&once_value_4
);
5357 } else fra
.me
.REG
[6] = once_value_4
;
5358 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5359 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5360 once_value_3
= fra
.me
.REG
[6];
5361 register_static_object(&once_value_3
);
5362 } else fra
.me
.REG
[6] = once_value_3
;
5363 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5364 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5365 if (UNTAG_Bool(REGB1
)) {
5367 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5370 if (UNTAG_Bool(REGB1
)) {
5371 /* ./compiling//compiling_icode.nit:729 */
5373 /* ./../lib/standard//collection//array.nit:278 */
5374 fra
.me
.REG
[6] = fra
.me
.REG
[4];
5375 /* ./../lib/standard//collection//array.nit:280 */
5377 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5378 if (UNTAG_Bool(REGB0
)) {
5380 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5382 /* ./../lib/standard//kernel.nit:233 */
5383 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5384 /* ./../lib/standard//collection//array.nit:280 */
5385 if (UNTAG_Bool(REGB2
)) {
5386 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
5387 if (UNTAG_Bool(REGB2
)) {
5389 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5391 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6]);
5392 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5393 if (UNTAG_Bool(REGB0
)) {
5395 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5397 /* ./../lib/standard//kernel.nit:232 */
5398 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5400 /* ./../lib/standard//collection//array.nit:280 */
5401 REGB0
= TAG_Bool(false);
5404 if (UNTAG_Bool(REGB2
)) {
5406 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
5408 /* ./../lib/standard//collection//array.nit:281 */
5409 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[6]);
5410 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
5411 if (UNTAG_Bool(REGB2
)) {
5412 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
5414 /* ./../lib/standard//collection//array.nit:718 */
5415 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB1
)];
5416 /* ./../lib/standard//collection//array.nit:281 */
5419 /* ./compiling//compiling_icode.nit:729 */
5420 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5422 /* ./compiling//compiling_icode.nit:730 */
5423 if (!once_value_6
) {
5424 if (!once_value_7
) {
5425 fra
.me
.REG
[6] = BOX_NativeString("unary -");
5427 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5428 once_value_7
= fra
.me
.REG
[6];
5429 register_static_object(&once_value_7
);
5430 } else fra
.me
.REG
[6] = once_value_7
;
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_6
= fra
.me
.REG
[6];
5434 register_static_object(&once_value_6
);
5435 } else fra
.me
.REG
[6] = once_value_6
;
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:731 */
5446 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5447 if (!once_value_8
) {
5448 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(-UNTAG_Int(");
5449 REGB1
= TAG_Int(19);
5450 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5451 once_value_8
= fra
.me
.REG
[7];
5452 register_static_object(&once_value_8
);
5453 } else fra
.me
.REG
[7] = once_value_8
;
5454 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5455 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5457 /* ./../lib/standard//collection//array.nit:278 */
5458 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5459 /* ./../lib/standard//collection//array.nit:280 */
5461 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5462 if (UNTAG_Bool(REGB0
)) {
5464 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5466 /* ./../lib/standard//kernel.nit:233 */
5467 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5468 /* ./../lib/standard//collection//array.nit:280 */
5469 if (UNTAG_Bool(REGB2
)) {
5470 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5471 if (UNTAG_Bool(REGB2
)) {
5473 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5475 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5476 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5477 if (UNTAG_Bool(REGB0
)) {
5479 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5481 /* ./../lib/standard//kernel.nit:232 */
5482 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5484 /* ./../lib/standard//collection//array.nit:280 */
5485 REGB0
= TAG_Bool(false);
5488 if (UNTAG_Bool(REGB2
)) {
5490 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
5492 /* ./../lib/standard//collection//array.nit:281 */
5493 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
5494 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5495 if (UNTAG_Bool(REGB2
)) {
5496 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
5498 /* ./../lib/standard//collection//array.nit:718 */
5499 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5500 /* ./../lib/standard//collection//array.nit:281 */
5503 /* ./compiling//compiling_icode.nit:731 */
5504 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5505 if (!once_value_10
) {
5506 fra
.me
.REG
[7] = BOX_NativeString("))");
5508 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5509 once_value_10
= fra
.me
.REG
[7];
5510 register_static_object(&once_value_10
);
5511 } else fra
.me
.REG
[7] = once_value_10
;
5512 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5513 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5514 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5515 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5517 /* ./compiling//compiling_icode.nit:732 */
5518 if (!once_value_11
) {
5519 if (!once_value_12
) {
5520 fra
.me
.REG
[6] = BOX_NativeString("output");
5522 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5523 once_value_12
= fra
.me
.REG
[6];
5524 register_static_object(&once_value_12
);
5525 } else fra
.me
.REG
[6] = once_value_12
;
5526 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5527 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5528 once_value_11
= fra
.me
.REG
[6];
5529 register_static_object(&once_value_11
);
5530 } else fra
.me
.REG
[6] = once_value_11
;
5531 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5532 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5533 if (UNTAG_Bool(REGB1
)) {
5535 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5538 if (UNTAG_Bool(REGB1
)) {
5539 /* ./compiling//compiling_icode.nit:733 */
5541 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5542 if (!once_value_13
) {
5543 fra
.me
.REG
[7] = BOX_NativeString("printf(\"%ld\\n\", UNTAG_Int(");
5544 REGB1
= TAG_Int(26);
5545 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5546 once_value_13
= fra
.me
.REG
[7];
5547 register_static_object(&once_value_13
);
5548 } else fra
.me
.REG
[7] = once_value_13
;
5549 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5550 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5552 /* ./../lib/standard//collection//array.nit:278 */
5553 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5554 /* ./../lib/standard//collection//array.nit:280 */
5556 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5557 if (UNTAG_Bool(REGB0
)) {
5559 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5561 /* ./../lib/standard//kernel.nit:233 */
5562 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5563 /* ./../lib/standard//collection//array.nit:280 */
5564 if (UNTAG_Bool(REGB2
)) {
5565 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5566 if (UNTAG_Bool(REGB2
)) {
5568 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5570 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5571 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5572 if (UNTAG_Bool(REGB0
)) {
5574 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5576 /* ./../lib/standard//kernel.nit:232 */
5577 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5579 /* ./../lib/standard//collection//array.nit:280 */
5580 REGB0
= TAG_Bool(false);
5583 if (UNTAG_Bool(REGB2
)) {
5585 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
5587 /* ./../lib/standard//collection//array.nit:281 */
5588 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
5589 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5590 if (UNTAG_Bool(REGB2
)) {
5591 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
5593 /* ./../lib/standard//collection//array.nit:718 */
5594 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5595 /* ./../lib/standard//collection//array.nit:281 */
5598 /* ./compiling//compiling_icode.nit:733 */
5599 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5600 if (!once_value_15
) {
5601 fra
.me
.REG
[7] = BOX_NativeString("));");
5603 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5604 once_value_15
= fra
.me
.REG
[7];
5605 register_static_object(&once_value_15
);
5606 } else fra
.me
.REG
[7] = once_value_15
;
5607 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5608 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5609 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5610 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5612 /* ./compiling//compiling_icode.nit:734 */
5613 if (!once_value_16
) {
5614 if (!once_value_17
) {
5615 fra
.me
.REG
[6] = BOX_NativeString("ascii");
5617 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5618 once_value_17
= fra
.me
.REG
[6];
5619 register_static_object(&once_value_17
);
5620 } else fra
.me
.REG
[6] = once_value_17
;
5621 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5622 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5623 once_value_16
= fra
.me
.REG
[6];
5624 register_static_object(&once_value_16
);
5625 } else fra
.me
.REG
[6] = once_value_16
;
5626 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5627 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5628 if (UNTAG_Bool(REGB1
)) {
5630 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5633 if (UNTAG_Bool(REGB1
)) {
5634 /* ./compiling//compiling_icode.nit:735 */
5636 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5637 if (!once_value_18
) {
5638 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Int(");
5639 REGB1
= TAG_Int(19);
5640 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5641 once_value_18
= fra
.me
.REG
[7];
5642 register_static_object(&once_value_18
);
5643 } else fra
.me
.REG
[7] = once_value_18
;
5644 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5645 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5647 /* ./../lib/standard//collection//array.nit:278 */
5648 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5649 /* ./../lib/standard//collection//array.nit:280 */
5651 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5652 if (UNTAG_Bool(REGB0
)) {
5654 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5656 /* ./../lib/standard//kernel.nit:233 */
5657 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5658 /* ./../lib/standard//collection//array.nit:280 */
5659 if (UNTAG_Bool(REGB2
)) {
5660 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5661 if (UNTAG_Bool(REGB2
)) {
5663 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5665 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5666 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5667 if (UNTAG_Bool(REGB0
)) {
5669 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5671 /* ./../lib/standard//kernel.nit:232 */
5672 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5674 /* ./../lib/standard//collection//array.nit:280 */
5675 REGB0
= TAG_Bool(false);
5678 if (UNTAG_Bool(REGB2
)) {
5680 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
5682 /* ./../lib/standard//collection//array.nit:281 */
5683 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
5684 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5685 if (UNTAG_Bool(REGB2
)) {
5686 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
5688 /* ./../lib/standard//collection//array.nit:718 */
5689 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5690 /* ./../lib/standard//collection//array.nit:281 */
5693 /* ./compiling//compiling_icode.nit:735 */
5694 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5695 if (!once_value_20
) {
5696 fra
.me
.REG
[7] = BOX_NativeString("))");
5698 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5699 once_value_20
= fra
.me
.REG
[7];
5700 register_static_object(&once_value_20
);
5701 } else fra
.me
.REG
[7] = once_value_20
;
5702 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5703 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5704 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5705 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5707 /* ./compiling//compiling_icode.nit:736 */
5708 if (!once_value_21
) {
5709 if (!once_value_22
) {
5710 fra
.me
.REG
[6] = BOX_NativeString("succ");
5712 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5713 once_value_22
= fra
.me
.REG
[6];
5714 register_static_object(&once_value_22
);
5715 } else fra
.me
.REG
[6] = once_value_22
;
5716 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5717 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5718 once_value_21
= fra
.me
.REG
[6];
5719 register_static_object(&once_value_21
);
5720 } else fra
.me
.REG
[6] = once_value_21
;
5721 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5722 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5723 if (UNTAG_Bool(REGB1
)) {
5725 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5728 if (UNTAG_Bool(REGB1
)) {
5729 /* ./compiling//compiling_icode.nit:737 */
5731 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5732 if (!once_value_23
) {
5733 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
5734 REGB1
= TAG_Int(18);
5735 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5736 once_value_23
= fra
.me
.REG
[7];
5737 register_static_object(&once_value_23
);
5738 } else fra
.me
.REG
[7] = once_value_23
;
5739 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5740 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5742 /* ./../lib/standard//collection//array.nit:278 */
5743 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5744 /* ./../lib/standard//collection//array.nit:280 */
5746 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5747 if (UNTAG_Bool(REGB0
)) {
5749 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5751 /* ./../lib/standard//kernel.nit:233 */
5752 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5753 /* ./../lib/standard//collection//array.nit:280 */
5754 if (UNTAG_Bool(REGB2
)) {
5755 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5756 if (UNTAG_Bool(REGB2
)) {
5758 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5760 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5761 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5762 if (UNTAG_Bool(REGB0
)) {
5764 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5766 /* ./../lib/standard//kernel.nit:232 */
5767 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5769 /* ./../lib/standard//collection//array.nit:280 */
5770 REGB0
= TAG_Bool(false);
5773 if (UNTAG_Bool(REGB2
)) {
5775 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
5777 /* ./../lib/standard//collection//array.nit:281 */
5778 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
5779 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5780 if (UNTAG_Bool(REGB2
)) {
5781 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
5783 /* ./../lib/standard//collection//array.nit:718 */
5784 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5785 /* ./../lib/standard//collection//array.nit:281 */
5788 /* ./compiling//compiling_icode.nit:737 */
5789 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5790 if (!once_value_25
) {
5791 fra
.me
.REG
[7] = BOX_NativeString(")+1)");
5793 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5794 once_value_25
= fra
.me
.REG
[7];
5795 register_static_object(&once_value_25
);
5796 } else fra
.me
.REG
[7] = once_value_25
;
5797 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5798 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5799 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5800 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5802 /* ./compiling//compiling_icode.nit:738 */
5803 if (!once_value_26
) {
5804 if (!once_value_27
) {
5805 fra
.me
.REG
[6] = BOX_NativeString("prec");
5807 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5808 once_value_27
= fra
.me
.REG
[6];
5809 register_static_object(&once_value_27
);
5810 } else fra
.me
.REG
[6] = once_value_27
;
5811 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5812 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5813 once_value_26
= fra
.me
.REG
[6];
5814 register_static_object(&once_value_26
);
5815 } else fra
.me
.REG
[6] = once_value_26
;
5816 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5817 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5818 if (UNTAG_Bool(REGB1
)) {
5820 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5823 if (UNTAG_Bool(REGB1
)) {
5824 /* ./compiling//compiling_icode.nit:739 */
5826 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5827 if (!once_value_28
) {
5828 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
5829 REGB1
= TAG_Int(18);
5830 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5831 once_value_28
= fra
.me
.REG
[7];
5832 register_static_object(&once_value_28
);
5833 } else fra
.me
.REG
[7] = once_value_28
;
5834 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5835 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5837 /* ./../lib/standard//collection//array.nit:278 */
5838 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5839 /* ./../lib/standard//collection//array.nit:280 */
5841 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5842 if (UNTAG_Bool(REGB0
)) {
5844 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5846 /* ./../lib/standard//kernel.nit:233 */
5847 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5848 /* ./../lib/standard//collection//array.nit:280 */
5849 if (UNTAG_Bool(REGB2
)) {
5850 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5851 if (UNTAG_Bool(REGB2
)) {
5853 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5855 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5856 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5857 if (UNTAG_Bool(REGB0
)) {
5859 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5861 /* ./../lib/standard//kernel.nit:232 */
5862 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5864 /* ./../lib/standard//collection//array.nit:280 */
5865 REGB0
= TAG_Bool(false);
5868 if (UNTAG_Bool(REGB2
)) {
5870 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
5872 /* ./../lib/standard//collection//array.nit:281 */
5873 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
5874 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5875 if (UNTAG_Bool(REGB2
)) {
5876 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
5878 /* ./../lib/standard//collection//array.nit:718 */
5879 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5880 /* ./../lib/standard//collection//array.nit:281 */
5883 /* ./compiling//compiling_icode.nit:739 */
5884 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5885 if (!once_value_30
) {
5886 fra
.me
.REG
[7] = BOX_NativeString(")-1)");
5888 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5889 once_value_30
= fra
.me
.REG
[7];
5890 register_static_object(&once_value_30
);
5891 } else fra
.me
.REG
[7] = once_value_30
;
5892 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5893 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5894 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5895 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5897 /* ./compiling//compiling_icode.nit:740 */
5898 if (!once_value_31
) {
5899 if (!once_value_32
) {
5900 fra
.me
.REG
[6] = BOX_NativeString("to_f");
5902 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5903 once_value_32
= fra
.me
.REG
[6];
5904 register_static_object(&once_value_32
);
5905 } else fra
.me
.REG
[6] = once_value_32
;
5906 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5907 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5908 once_value_31
= fra
.me
.REG
[6];
5909 register_static_object(&once_value_31
);
5910 } else fra
.me
.REG
[6] = once_value_31
;
5911 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5912 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5913 if (UNTAG_Bool(REGB1
)) {
5915 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5918 if (UNTAG_Bool(REGB1
)) {
5919 /* ./compiling//compiling_icode.nit:741 */
5921 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5922 if (!once_value_33
) {
5923 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float((float)UNTAG_Int(");
5924 REGB1
= TAG_Int(27);
5925 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5926 once_value_33
= fra
.me
.REG
[7];
5927 register_static_object(&once_value_33
);
5928 } else fra
.me
.REG
[7] = once_value_33
;
5929 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5930 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5932 /* ./../lib/standard//collection//array.nit:278 */
5933 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5934 /* ./../lib/standard//collection//array.nit:280 */
5936 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5937 if (UNTAG_Bool(REGB0
)) {
5939 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5941 /* ./../lib/standard//kernel.nit:233 */
5942 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5943 /* ./../lib/standard//collection//array.nit:280 */
5944 if (UNTAG_Bool(REGB2
)) {
5945 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5946 if (UNTAG_Bool(REGB2
)) {
5948 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5950 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5951 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5952 if (UNTAG_Bool(REGB0
)) {
5954 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5956 /* ./../lib/standard//kernel.nit:232 */
5957 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5959 /* ./../lib/standard//collection//array.nit:280 */
5960 REGB0
= TAG_Bool(false);
5963 if (UNTAG_Bool(REGB2
)) {
5965 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
5967 /* ./../lib/standard//collection//array.nit:281 */
5968 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
5969 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5970 if (UNTAG_Bool(REGB2
)) {
5971 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
5973 /* ./../lib/standard//collection//array.nit:718 */
5974 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5975 /* ./../lib/standard//collection//array.nit:281 */
5978 /* ./compiling//compiling_icode.nit:741 */
5979 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5980 if (!once_value_35
) {
5981 fra
.me
.REG
[7] = BOX_NativeString("))");
5983 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5984 once_value_35
= fra
.me
.REG
[7];
5985 register_static_object(&once_value_35
);
5986 } else fra
.me
.REG
[7] = once_value_35
;
5987 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5988 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5989 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5990 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5992 /* ./compiling//compiling_icode.nit:742 */
5993 if (!once_value_36
) {
5994 if (!once_value_37
) {
5995 fra
.me
.REG
[6] = BOX_NativeString("+");
5997 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5998 once_value_37
= fra
.me
.REG
[6];
5999 register_static_object(&once_value_37
);
6000 } else fra
.me
.REG
[6] = once_value_37
;
6001 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6002 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6003 once_value_36
= fra
.me
.REG
[6];
6004 register_static_object(&once_value_36
);
6005 } else fra
.me
.REG
[6] = once_value_36
;
6006 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6007 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6008 if (UNTAG_Bool(REGB1
)) {
6010 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6013 if (UNTAG_Bool(REGB1
)) {
6014 /* ./compiling//compiling_icode.nit:743 */
6016 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6017 if (!once_value_38
) {
6018 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6019 REGB1
= TAG_Int(18);
6020 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6021 once_value_38
= fra
.me
.REG
[7];
6022 register_static_object(&once_value_38
);
6023 } else fra
.me
.REG
[7] = once_value_38
;
6024 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6025 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6027 /* ./../lib/standard//collection//array.nit:278 */
6028 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6029 /* ./../lib/standard//collection//array.nit:280 */
6031 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6032 if (UNTAG_Bool(REGB0
)) {
6034 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6036 /* ./../lib/standard//kernel.nit:233 */
6037 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6038 /* ./../lib/standard//collection//array.nit:280 */
6039 if (UNTAG_Bool(REGB2
)) {
6040 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6041 if (UNTAG_Bool(REGB2
)) {
6043 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6045 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6046 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6047 if (UNTAG_Bool(REGB0
)) {
6049 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6051 /* ./../lib/standard//kernel.nit:232 */
6052 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6054 /* ./../lib/standard//collection//array.nit:280 */
6055 REGB0
= TAG_Bool(false);
6058 if (UNTAG_Bool(REGB2
)) {
6060 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6062 /* ./../lib/standard//collection//array.nit:281 */
6063 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6064 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6065 if (UNTAG_Bool(REGB2
)) {
6066 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6068 /* ./../lib/standard//collection//array.nit:718 */
6069 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6070 /* ./../lib/standard//collection//array.nit:281 */
6073 /* ./compiling//compiling_icode.nit:743 */
6074 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6075 if (!once_value_40
) {
6076 fra
.me
.REG
[7] = BOX_NativeString(")+UNTAG_Int(");
6077 REGB1
= TAG_Int(12);
6078 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6079 once_value_40
= fra
.me
.REG
[7];
6080 register_static_object(&once_value_40
);
6081 } else fra
.me
.REG
[7] = once_value_40
;
6082 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6083 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6085 /* ./../lib/standard//collection//array.nit:278 */
6086 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6087 /* ./../lib/standard//collection//array.nit:280 */
6089 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6090 if (UNTAG_Bool(REGB0
)) {
6092 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6094 /* ./../lib/standard//kernel.nit:233 */
6095 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6096 /* ./../lib/standard//collection//array.nit:280 */
6097 if (UNTAG_Bool(REGB2
)) {
6098 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6099 if (UNTAG_Bool(REGB2
)) {
6101 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6103 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
6110 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6112 /* ./../lib/standard//collection//array.nit:280 */
6113 REGB0
= TAG_Bool(false);
6116 if (UNTAG_Bool(REGB2
)) {
6118 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6120 /* ./../lib/standard//collection//array.nit:281 */
6121 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6122 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6123 if (UNTAG_Bool(REGB2
)) {
6124 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6126 /* ./../lib/standard//collection//array.nit:718 */
6127 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6128 /* ./../lib/standard//collection//array.nit:281 */
6131 /* ./compiling//compiling_icode.nit:743 */
6132 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6133 if (!once_value_42
) {
6134 fra
.me
.REG
[7] = BOX_NativeString("))");
6136 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6137 once_value_42
= fra
.me
.REG
[7];
6138 register_static_object(&once_value_42
);
6139 } else fra
.me
.REG
[7] = once_value_42
;
6140 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6141 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6142 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6143 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6145 /* ./compiling//compiling_icode.nit:744 */
6146 if (!once_value_43
) {
6147 if (!once_value_44
) {
6148 fra
.me
.REG
[6] = BOX_NativeString("-");
6150 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
6151 once_value_44
= fra
.me
.REG
[6];
6152 register_static_object(&once_value_44
);
6153 } else fra
.me
.REG
[6] = once_value_44
;
6154 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6155 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6156 once_value_43
= fra
.me
.REG
[6];
6157 register_static_object(&once_value_43
);
6158 } else fra
.me
.REG
[6] = once_value_43
;
6159 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6160 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6161 if (UNTAG_Bool(REGB1
)) {
6163 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6166 if (UNTAG_Bool(REGB1
)) {
6167 /* ./compiling//compiling_icode.nit:745 */
6169 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6170 if (!once_value_45
) {
6171 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6172 REGB1
= TAG_Int(18);
6173 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6174 once_value_45
= fra
.me
.REG
[7];
6175 register_static_object(&once_value_45
);
6176 } else fra
.me
.REG
[7] = once_value_45
;
6177 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6178 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6180 /* ./../lib/standard//collection//array.nit:278 */
6181 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6182 /* ./../lib/standard//collection//array.nit:280 */
6184 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6185 if (UNTAG_Bool(REGB0
)) {
6187 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6189 /* ./../lib/standard//kernel.nit:233 */
6190 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6191 /* ./../lib/standard//collection//array.nit:280 */
6192 if (UNTAG_Bool(REGB2
)) {
6193 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6194 if (UNTAG_Bool(REGB2
)) {
6196 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6198 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6199 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6200 if (UNTAG_Bool(REGB0
)) {
6202 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6204 /* ./../lib/standard//kernel.nit:232 */
6205 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6207 /* ./../lib/standard//collection//array.nit:280 */
6208 REGB0
= TAG_Bool(false);
6211 if (UNTAG_Bool(REGB2
)) {
6213 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6215 /* ./../lib/standard//collection//array.nit:281 */
6216 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6217 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6218 if (UNTAG_Bool(REGB2
)) {
6219 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6221 /* ./../lib/standard//collection//array.nit:718 */
6222 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6223 /* ./../lib/standard//collection//array.nit:281 */
6226 /* ./compiling//compiling_icode.nit:745 */
6227 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6228 if (!once_value_47
) {
6229 fra
.me
.REG
[7] = BOX_NativeString(")-UNTAG_Int(");
6230 REGB1
= TAG_Int(12);
6231 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6232 once_value_47
= fra
.me
.REG
[7];
6233 register_static_object(&once_value_47
);
6234 } else fra
.me
.REG
[7] = once_value_47
;
6235 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6236 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6238 /* ./../lib/standard//collection//array.nit:278 */
6239 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6240 /* ./../lib/standard//collection//array.nit:280 */
6242 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6243 if (UNTAG_Bool(REGB0
)) {
6245 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6247 /* ./../lib/standard//kernel.nit:233 */
6248 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6249 /* ./../lib/standard//collection//array.nit:280 */
6250 if (UNTAG_Bool(REGB2
)) {
6251 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6252 if (UNTAG_Bool(REGB2
)) {
6254 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6256 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
6263 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6265 /* ./../lib/standard//collection//array.nit:280 */
6266 REGB0
= TAG_Bool(false);
6269 if (UNTAG_Bool(REGB2
)) {
6271 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6273 /* ./../lib/standard//collection//array.nit:281 */
6274 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6275 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6276 if (UNTAG_Bool(REGB2
)) {
6277 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6279 /* ./../lib/standard//collection//array.nit:718 */
6280 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6281 /* ./../lib/standard//collection//array.nit:281 */
6284 /* ./compiling//compiling_icode.nit:745 */
6285 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6286 if (!once_value_49
) {
6287 fra
.me
.REG
[7] = BOX_NativeString("))");
6289 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6290 once_value_49
= fra
.me
.REG
[7];
6291 register_static_object(&once_value_49
);
6292 } else fra
.me
.REG
[7] = once_value_49
;
6293 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6294 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6295 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6296 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6298 /* ./compiling//compiling_icode.nit:746 */
6299 if (!once_value_50
) {
6300 if (!once_value_51
) {
6301 fra
.me
.REG
[6] = BOX_NativeString("*");
6303 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
6304 once_value_51
= fra
.me
.REG
[6];
6305 register_static_object(&once_value_51
);
6306 } else fra
.me
.REG
[6] = once_value_51
;
6307 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6308 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6309 once_value_50
= fra
.me
.REG
[6];
6310 register_static_object(&once_value_50
);
6311 } else fra
.me
.REG
[6] = once_value_50
;
6312 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6313 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6314 if (UNTAG_Bool(REGB1
)) {
6316 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6319 if (UNTAG_Bool(REGB1
)) {
6320 /* ./compiling//compiling_icode.nit:747 */
6322 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6323 if (!once_value_52
) {
6324 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6325 REGB1
= TAG_Int(18);
6326 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6327 once_value_52
= fra
.me
.REG
[7];
6328 register_static_object(&once_value_52
);
6329 } else fra
.me
.REG
[7] = once_value_52
;
6330 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6331 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6333 /* ./../lib/standard//collection//array.nit:278 */
6334 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6335 /* ./../lib/standard//collection//array.nit:280 */
6337 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6338 if (UNTAG_Bool(REGB0
)) {
6340 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6342 /* ./../lib/standard//kernel.nit:233 */
6343 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6344 /* ./../lib/standard//collection//array.nit:280 */
6345 if (UNTAG_Bool(REGB2
)) {
6346 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6347 if (UNTAG_Bool(REGB2
)) {
6349 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6351 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6352 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6353 if (UNTAG_Bool(REGB0
)) {
6355 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6357 /* ./../lib/standard//kernel.nit:232 */
6358 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6360 /* ./../lib/standard//collection//array.nit:280 */
6361 REGB0
= TAG_Bool(false);
6364 if (UNTAG_Bool(REGB2
)) {
6366 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6368 /* ./../lib/standard//collection//array.nit:281 */
6369 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6370 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6371 if (UNTAG_Bool(REGB2
)) {
6372 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6374 /* ./../lib/standard//collection//array.nit:718 */
6375 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6376 /* ./../lib/standard//collection//array.nit:281 */
6379 /* ./compiling//compiling_icode.nit:747 */
6380 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6381 if (!once_value_54
) {
6382 fra
.me
.REG
[7] = BOX_NativeString(")*UNTAG_Int(");
6383 REGB1
= TAG_Int(12);
6384 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6385 once_value_54
= fra
.me
.REG
[7];
6386 register_static_object(&once_value_54
);
6387 } else fra
.me
.REG
[7] = once_value_54
;
6388 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6389 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6391 /* ./../lib/standard//collection//array.nit:278 */
6392 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6393 /* ./../lib/standard//collection//array.nit:280 */
6395 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6396 if (UNTAG_Bool(REGB0
)) {
6398 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6400 /* ./../lib/standard//kernel.nit:233 */
6401 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6402 /* ./../lib/standard//collection//array.nit:280 */
6403 if (UNTAG_Bool(REGB2
)) {
6404 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6405 if (UNTAG_Bool(REGB2
)) {
6407 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6409 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
6416 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6418 /* ./../lib/standard//collection//array.nit:280 */
6419 REGB0
= TAG_Bool(false);
6422 if (UNTAG_Bool(REGB2
)) {
6424 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6426 /* ./../lib/standard//collection//array.nit:281 */
6427 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6428 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6429 if (UNTAG_Bool(REGB2
)) {
6430 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6432 /* ./../lib/standard//collection//array.nit:718 */
6433 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6434 /* ./../lib/standard//collection//array.nit:281 */
6437 /* ./compiling//compiling_icode.nit:747 */
6438 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6439 if (!once_value_56
) {
6440 fra
.me
.REG
[7] = BOX_NativeString("))");
6442 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6443 once_value_56
= fra
.me
.REG
[7];
6444 register_static_object(&once_value_56
);
6445 } else fra
.me
.REG
[7] = once_value_56
;
6446 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6447 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6448 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6449 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6451 /* ./compiling//compiling_icode.nit:748 */
6452 if (!once_value_57
) {
6453 if (!once_value_58
) {
6454 fra
.me
.REG
[6] = BOX_NativeString("/");
6456 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
6457 once_value_58
= fra
.me
.REG
[6];
6458 register_static_object(&once_value_58
);
6459 } else fra
.me
.REG
[6] = once_value_58
;
6460 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6461 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6462 once_value_57
= fra
.me
.REG
[6];
6463 register_static_object(&once_value_57
);
6464 } else fra
.me
.REG
[6] = once_value_57
;
6465 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6466 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6467 if (UNTAG_Bool(REGB1
)) {
6469 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6472 if (UNTAG_Bool(REGB1
)) {
6473 /* ./compiling//compiling_icode.nit:749 */
6475 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6476 if (!once_value_59
) {
6477 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6478 REGB1
= TAG_Int(18);
6479 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6480 once_value_59
= fra
.me
.REG
[7];
6481 register_static_object(&once_value_59
);
6482 } else fra
.me
.REG
[7] = once_value_59
;
6483 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6484 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6486 /* ./../lib/standard//collection//array.nit:278 */
6487 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6488 /* ./../lib/standard//collection//array.nit:280 */
6490 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6491 if (UNTAG_Bool(REGB0
)) {
6493 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6495 /* ./../lib/standard//kernel.nit:233 */
6496 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6497 /* ./../lib/standard//collection//array.nit:280 */
6498 if (UNTAG_Bool(REGB2
)) {
6499 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6500 if (UNTAG_Bool(REGB2
)) {
6502 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6504 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6505 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6506 if (UNTAG_Bool(REGB0
)) {
6508 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6510 /* ./../lib/standard//kernel.nit:232 */
6511 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6513 /* ./../lib/standard//collection//array.nit:280 */
6514 REGB0
= TAG_Bool(false);
6517 if (UNTAG_Bool(REGB2
)) {
6519 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6521 /* ./../lib/standard//collection//array.nit:281 */
6522 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6523 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6524 if (UNTAG_Bool(REGB2
)) {
6525 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6527 /* ./../lib/standard//collection//array.nit:718 */
6528 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6529 /* ./../lib/standard//collection//array.nit:281 */
6532 /* ./compiling//compiling_icode.nit:749 */
6533 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6534 if (!once_value_61
) {
6535 fra
.me
.REG
[7] = BOX_NativeString(")/UNTAG_Int(");
6536 REGB1
= TAG_Int(12);
6537 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6538 once_value_61
= fra
.me
.REG
[7];
6539 register_static_object(&once_value_61
);
6540 } else fra
.me
.REG
[7] = once_value_61
;
6541 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6542 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6544 /* ./../lib/standard//collection//array.nit:278 */
6545 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6546 /* ./../lib/standard//collection//array.nit:280 */
6548 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6549 if (UNTAG_Bool(REGB0
)) {
6551 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6553 /* ./../lib/standard//kernel.nit:233 */
6554 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6555 /* ./../lib/standard//collection//array.nit:280 */
6556 if (UNTAG_Bool(REGB2
)) {
6557 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6558 if (UNTAG_Bool(REGB2
)) {
6560 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6562 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
6569 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6571 /* ./../lib/standard//collection//array.nit:280 */
6572 REGB0
= TAG_Bool(false);
6575 if (UNTAG_Bool(REGB2
)) {
6577 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6579 /* ./../lib/standard//collection//array.nit:281 */
6580 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6581 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6582 if (UNTAG_Bool(REGB2
)) {
6583 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6585 /* ./../lib/standard//collection//array.nit:718 */
6586 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6587 /* ./../lib/standard//collection//array.nit:281 */
6590 /* ./compiling//compiling_icode.nit:749 */
6591 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6592 if (!once_value_63
) {
6593 fra
.me
.REG
[7] = BOX_NativeString("))");
6595 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6596 once_value_63
= fra
.me
.REG
[7];
6597 register_static_object(&once_value_63
);
6598 } else fra
.me
.REG
[7] = once_value_63
;
6599 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6600 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6601 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6602 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6604 /* ./compiling//compiling_icode.nit:750 */
6605 if (!once_value_64
) {
6606 if (!once_value_65
) {
6607 fra
.me
.REG
[6] = BOX_NativeString("%");
6609 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
6610 once_value_65
= fra
.me
.REG
[6];
6611 register_static_object(&once_value_65
);
6612 } else fra
.me
.REG
[6] = once_value_65
;
6613 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6614 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6615 once_value_64
= fra
.me
.REG
[6];
6616 register_static_object(&once_value_64
);
6617 } else fra
.me
.REG
[6] = once_value_64
;
6618 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6619 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6620 if (UNTAG_Bool(REGB1
)) {
6622 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6625 if (UNTAG_Bool(REGB1
)) {
6626 /* ./compiling//compiling_icode.nit:751 */
6628 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6629 if (!once_value_66
) {
6630 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6631 REGB1
= TAG_Int(18);
6632 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6633 once_value_66
= fra
.me
.REG
[7];
6634 register_static_object(&once_value_66
);
6635 } else fra
.me
.REG
[7] = once_value_66
;
6636 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6637 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6639 /* ./../lib/standard//collection//array.nit:278 */
6640 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6641 /* ./../lib/standard//collection//array.nit:280 */
6643 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6644 if (UNTAG_Bool(REGB0
)) {
6646 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6648 /* ./../lib/standard//kernel.nit:233 */
6649 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6650 /* ./../lib/standard//collection//array.nit:280 */
6651 if (UNTAG_Bool(REGB2
)) {
6652 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6653 if (UNTAG_Bool(REGB2
)) {
6655 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6657 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6658 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6659 if (UNTAG_Bool(REGB0
)) {
6661 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6663 /* ./../lib/standard//kernel.nit:232 */
6664 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6666 /* ./../lib/standard//collection//array.nit:280 */
6667 REGB0
= TAG_Bool(false);
6670 if (UNTAG_Bool(REGB2
)) {
6672 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6674 /* ./../lib/standard//collection//array.nit:281 */
6675 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6676 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6677 if (UNTAG_Bool(REGB2
)) {
6678 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6680 /* ./../lib/standard//collection//array.nit:718 */
6681 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6682 /* ./../lib/standard//collection//array.nit:281 */
6685 /* ./compiling//compiling_icode.nit:751 */
6686 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6687 if (!once_value_68
) {
6688 fra
.me
.REG
[7] = BOX_NativeString(")%UNTAG_Int(");
6689 REGB1
= TAG_Int(12);
6690 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6691 once_value_68
= fra
.me
.REG
[7];
6692 register_static_object(&once_value_68
);
6693 } else fra
.me
.REG
[7] = once_value_68
;
6694 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6695 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6697 /* ./../lib/standard//collection//array.nit:278 */
6698 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6699 /* ./../lib/standard//collection//array.nit:280 */
6701 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6702 if (UNTAG_Bool(REGB0
)) {
6704 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6706 /* ./../lib/standard//kernel.nit:233 */
6707 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6708 /* ./../lib/standard//collection//array.nit:280 */
6709 if (UNTAG_Bool(REGB2
)) {
6710 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6711 if (UNTAG_Bool(REGB2
)) {
6713 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6715 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
6722 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6724 /* ./../lib/standard//collection//array.nit:280 */
6725 REGB0
= TAG_Bool(false);
6728 if (UNTAG_Bool(REGB2
)) {
6730 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6732 /* ./../lib/standard//collection//array.nit:281 */
6733 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6734 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6735 if (UNTAG_Bool(REGB2
)) {
6736 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6738 /* ./../lib/standard//collection//array.nit:718 */
6739 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6740 /* ./../lib/standard//collection//array.nit:281 */
6743 /* ./compiling//compiling_icode.nit:751 */
6744 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6745 if (!once_value_70
) {
6746 fra
.me
.REG
[7] = BOX_NativeString("))");
6748 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6749 once_value_70
= fra
.me
.REG
[7];
6750 register_static_object(&once_value_70
);
6751 } else fra
.me
.REG
[7] = once_value_70
;
6752 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6753 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6754 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6755 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6757 /* ./compiling//compiling_icode.nit:752 */
6758 if (!once_value_71
) {
6759 if (!once_value_72
) {
6760 fra
.me
.REG
[6] = BOX_NativeString("<");
6762 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
6763 once_value_72
= fra
.me
.REG
[6];
6764 register_static_object(&once_value_72
);
6765 } else fra
.me
.REG
[6] = once_value_72
;
6766 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6767 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6768 once_value_71
= fra
.me
.REG
[6];
6769 register_static_object(&once_value_71
);
6770 } else fra
.me
.REG
[6] = once_value_71
;
6771 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6772 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6773 if (UNTAG_Bool(REGB1
)) {
6775 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6778 if (UNTAG_Bool(REGB1
)) {
6779 /* ./compiling//compiling_icode.nit:753 */
6781 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6782 if (!once_value_73
) {
6783 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Int(");
6784 REGB1
= TAG_Int(19);
6785 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6786 once_value_73
= fra
.me
.REG
[7];
6787 register_static_object(&once_value_73
);
6788 } else fra
.me
.REG
[7] = once_value_73
;
6789 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6790 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6792 /* ./../lib/standard//collection//array.nit:278 */
6793 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6794 /* ./../lib/standard//collection//array.nit:280 */
6796 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6797 if (UNTAG_Bool(REGB0
)) {
6799 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6801 /* ./../lib/standard//kernel.nit:233 */
6802 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6803 /* ./../lib/standard//collection//array.nit:280 */
6804 if (UNTAG_Bool(REGB2
)) {
6805 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6806 if (UNTAG_Bool(REGB2
)) {
6808 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6810 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6811 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6812 if (UNTAG_Bool(REGB0
)) {
6814 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6816 /* ./../lib/standard//kernel.nit:232 */
6817 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6819 /* ./../lib/standard//collection//array.nit:280 */
6820 REGB0
= TAG_Bool(false);
6823 if (UNTAG_Bool(REGB2
)) {
6825 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6827 /* ./../lib/standard//collection//array.nit:281 */
6828 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6829 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6830 if (UNTAG_Bool(REGB2
)) {
6831 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6833 /* ./../lib/standard//collection//array.nit:718 */
6834 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6835 /* ./../lib/standard//collection//array.nit:281 */
6838 /* ./compiling//compiling_icode.nit:753 */
6839 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6840 if (!once_value_75
) {
6841 fra
.me
.REG
[7] = BOX_NativeString(")<UNTAG_Int(");
6842 REGB1
= TAG_Int(12);
6843 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6844 once_value_75
= fra
.me
.REG
[7];
6845 register_static_object(&once_value_75
);
6846 } else fra
.me
.REG
[7] = once_value_75
;
6847 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6848 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6850 /* ./../lib/standard//collection//array.nit:278 */
6851 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6852 /* ./../lib/standard//collection//array.nit:280 */
6854 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6855 if (UNTAG_Bool(REGB0
)) {
6857 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6859 /* ./../lib/standard//kernel.nit:233 */
6860 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6861 /* ./../lib/standard//collection//array.nit:280 */
6862 if (UNTAG_Bool(REGB2
)) {
6863 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6864 if (UNTAG_Bool(REGB2
)) {
6866 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6868 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
6875 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6877 /* ./../lib/standard//collection//array.nit:280 */
6878 REGB0
= TAG_Bool(false);
6881 if (UNTAG_Bool(REGB2
)) {
6883 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6885 /* ./../lib/standard//collection//array.nit:281 */
6886 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6887 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6888 if (UNTAG_Bool(REGB2
)) {
6889 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6891 /* ./../lib/standard//collection//array.nit:718 */
6892 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6893 /* ./../lib/standard//collection//array.nit:281 */
6896 /* ./compiling//compiling_icode.nit:753 */
6897 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6898 if (!once_value_77
) {
6899 fra
.me
.REG
[7] = BOX_NativeString("))");
6901 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6902 once_value_77
= fra
.me
.REG
[7];
6903 register_static_object(&once_value_77
);
6904 } else fra
.me
.REG
[7] = once_value_77
;
6905 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6906 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6907 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6908 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6910 /* ./compiling//compiling_icode.nit:754 */
6911 if (!once_value_78
) {
6912 if (!once_value_79
) {
6913 fra
.me
.REG
[6] = BOX_NativeString(">");
6915 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
6916 once_value_79
= fra
.me
.REG
[6];
6917 register_static_object(&once_value_79
);
6918 } else fra
.me
.REG
[6] = once_value_79
;
6919 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6920 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6921 once_value_78
= fra
.me
.REG
[6];
6922 register_static_object(&once_value_78
);
6923 } else fra
.me
.REG
[6] = once_value_78
;
6924 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6925 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6926 if (UNTAG_Bool(REGB1
)) {
6928 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6931 if (UNTAG_Bool(REGB1
)) {
6932 /* ./compiling//compiling_icode.nit:755 */
6934 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6935 if (!once_value_80
) {
6936 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Int(");
6937 REGB1
= TAG_Int(19);
6938 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6939 once_value_80
= fra
.me
.REG
[7];
6940 register_static_object(&once_value_80
);
6941 } else fra
.me
.REG
[7] = once_value_80
;
6942 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6943 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6945 /* ./../lib/standard//collection//array.nit:278 */
6946 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6947 /* ./../lib/standard//collection//array.nit:280 */
6949 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6950 if (UNTAG_Bool(REGB0
)) {
6952 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6954 /* ./../lib/standard//kernel.nit:233 */
6955 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6956 /* ./../lib/standard//collection//array.nit:280 */
6957 if (UNTAG_Bool(REGB2
)) {
6958 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6959 if (UNTAG_Bool(REGB2
)) {
6961 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6963 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6964 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6965 if (UNTAG_Bool(REGB0
)) {
6967 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6969 /* ./../lib/standard//kernel.nit:232 */
6970 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6972 /* ./../lib/standard//collection//array.nit:280 */
6973 REGB0
= TAG_Bool(false);
6976 if (UNTAG_Bool(REGB2
)) {
6978 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
6980 /* ./../lib/standard//collection//array.nit:281 */
6981 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6982 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6983 if (UNTAG_Bool(REGB2
)) {
6984 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6986 /* ./../lib/standard//collection//array.nit:718 */
6987 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6988 /* ./../lib/standard//collection//array.nit:281 */
6991 /* ./compiling//compiling_icode.nit:755 */
6992 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6993 if (!once_value_82
) {
6994 fra
.me
.REG
[7] = BOX_NativeString(")>UNTAG_Int(");
6995 REGB1
= TAG_Int(12);
6996 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6997 once_value_82
= fra
.me
.REG
[7];
6998 register_static_object(&once_value_82
);
6999 } else fra
.me
.REG
[7] = once_value_82
;
7000 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7001 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7003 /* ./../lib/standard//collection//array.nit:278 */
7004 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7005 /* ./../lib/standard//collection//array.nit:280 */
7007 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7008 if (UNTAG_Bool(REGB0
)) {
7010 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7012 /* ./../lib/standard//kernel.nit:233 */
7013 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7014 /* ./../lib/standard//collection//array.nit:280 */
7015 if (UNTAG_Bool(REGB2
)) {
7016 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7017 if (UNTAG_Bool(REGB2
)) {
7019 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7021 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
7028 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7030 /* ./../lib/standard//collection//array.nit:280 */
7031 REGB0
= TAG_Bool(false);
7034 if (UNTAG_Bool(REGB2
)) {
7036 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7038 /* ./../lib/standard//collection//array.nit:281 */
7039 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7040 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7041 if (UNTAG_Bool(REGB2
)) {
7042 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7044 /* ./../lib/standard//collection//array.nit:718 */
7045 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7046 /* ./../lib/standard//collection//array.nit:281 */
7049 /* ./compiling//compiling_icode.nit:755 */
7050 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7051 if (!once_value_84
) {
7052 fra
.me
.REG
[7] = BOX_NativeString("))");
7054 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7055 once_value_84
= fra
.me
.REG
[7];
7056 register_static_object(&once_value_84
);
7057 } else fra
.me
.REG
[7] = once_value_84
;
7058 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7059 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7060 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7061 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7063 /* ./compiling//compiling_icode.nit:756 */
7064 if (!once_value_85
) {
7065 if (!once_value_86
) {
7066 fra
.me
.REG
[6] = BOX_NativeString("<=");
7068 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
7069 once_value_86
= fra
.me
.REG
[6];
7070 register_static_object(&once_value_86
);
7071 } else fra
.me
.REG
[6] = once_value_86
;
7072 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7073 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7074 once_value_85
= fra
.me
.REG
[6];
7075 register_static_object(&once_value_85
);
7076 } else fra
.me
.REG
[6] = once_value_85
;
7077 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7078 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7079 if (UNTAG_Bool(REGB1
)) {
7081 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7084 if (UNTAG_Bool(REGB1
)) {
7085 /* ./compiling//compiling_icode.nit:757 */
7087 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7088 if (!once_value_87
) {
7089 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Int(");
7090 REGB1
= TAG_Int(19);
7091 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7092 once_value_87
= fra
.me
.REG
[7];
7093 register_static_object(&once_value_87
);
7094 } else fra
.me
.REG
[7] = once_value_87
;
7095 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7096 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7098 /* ./../lib/standard//collection//array.nit:278 */
7099 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7100 /* ./../lib/standard//collection//array.nit:280 */
7102 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7103 if (UNTAG_Bool(REGB0
)) {
7105 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7107 /* ./../lib/standard//kernel.nit:233 */
7108 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7109 /* ./../lib/standard//collection//array.nit:280 */
7110 if (UNTAG_Bool(REGB2
)) {
7111 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7112 if (UNTAG_Bool(REGB2
)) {
7114 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7116 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7117 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7118 if (UNTAG_Bool(REGB0
)) {
7120 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7122 /* ./../lib/standard//kernel.nit:232 */
7123 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7125 /* ./../lib/standard//collection//array.nit:280 */
7126 REGB0
= TAG_Bool(false);
7129 if (UNTAG_Bool(REGB2
)) {
7131 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7133 /* ./../lib/standard//collection//array.nit:281 */
7134 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7135 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7136 if (UNTAG_Bool(REGB2
)) {
7137 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7139 /* ./../lib/standard//collection//array.nit:718 */
7140 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7141 /* ./../lib/standard//collection//array.nit:281 */
7144 /* ./compiling//compiling_icode.nit:757 */
7145 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7146 if (!once_value_89
) {
7147 fra
.me
.REG
[7] = BOX_NativeString(")<=UNTAG_Int(");
7148 REGB1
= TAG_Int(13);
7149 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7150 once_value_89
= fra
.me
.REG
[7];
7151 register_static_object(&once_value_89
);
7152 } else fra
.me
.REG
[7] = once_value_89
;
7153 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7154 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7156 /* ./../lib/standard//collection//array.nit:278 */
7157 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7158 /* ./../lib/standard//collection//array.nit:280 */
7160 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7161 if (UNTAG_Bool(REGB0
)) {
7163 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7165 /* ./../lib/standard//kernel.nit:233 */
7166 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7167 /* ./../lib/standard//collection//array.nit:280 */
7168 if (UNTAG_Bool(REGB2
)) {
7169 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7170 if (UNTAG_Bool(REGB2
)) {
7172 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7174 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
7181 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7183 /* ./../lib/standard//collection//array.nit:280 */
7184 REGB0
= TAG_Bool(false);
7187 if (UNTAG_Bool(REGB2
)) {
7189 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7191 /* ./../lib/standard//collection//array.nit:281 */
7192 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7193 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7194 if (UNTAG_Bool(REGB2
)) {
7195 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7197 /* ./../lib/standard//collection//array.nit:718 */
7198 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7199 /* ./../lib/standard//collection//array.nit:281 */
7202 /* ./compiling//compiling_icode.nit:757 */
7203 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7204 if (!once_value_91
) {
7205 fra
.me
.REG
[7] = BOX_NativeString("))");
7207 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7208 once_value_91
= fra
.me
.REG
[7];
7209 register_static_object(&once_value_91
);
7210 } else fra
.me
.REG
[7] = once_value_91
;
7211 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7212 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7213 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7214 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7216 /* ./compiling//compiling_icode.nit:758 */
7217 if (!once_value_92
) {
7218 if (!once_value_93
) {
7219 fra
.me
.REG
[6] = BOX_NativeString(">=");
7221 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
7222 once_value_93
= fra
.me
.REG
[6];
7223 register_static_object(&once_value_93
);
7224 } else fra
.me
.REG
[6] = once_value_93
;
7225 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7226 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7227 once_value_92
= fra
.me
.REG
[6];
7228 register_static_object(&once_value_92
);
7229 } else fra
.me
.REG
[6] = once_value_92
;
7230 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7231 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7232 if (UNTAG_Bool(REGB1
)) {
7234 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7237 if (UNTAG_Bool(REGB1
)) {
7238 /* ./compiling//compiling_icode.nit:759 */
7240 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7241 if (!once_value_94
) {
7242 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Int(");
7243 REGB1
= TAG_Int(19);
7244 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7245 once_value_94
= fra
.me
.REG
[7];
7246 register_static_object(&once_value_94
);
7247 } else fra
.me
.REG
[7] = once_value_94
;
7248 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7249 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7251 /* ./../lib/standard//collection//array.nit:278 */
7252 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7253 /* ./../lib/standard//collection//array.nit:280 */
7255 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7256 if (UNTAG_Bool(REGB0
)) {
7258 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7260 /* ./../lib/standard//kernel.nit:233 */
7261 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7262 /* ./../lib/standard//collection//array.nit:280 */
7263 if (UNTAG_Bool(REGB2
)) {
7264 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7265 if (UNTAG_Bool(REGB2
)) {
7267 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7269 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7270 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7271 if (UNTAG_Bool(REGB0
)) {
7273 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7275 /* ./../lib/standard//kernel.nit:232 */
7276 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7278 /* ./../lib/standard//collection//array.nit:280 */
7279 REGB0
= TAG_Bool(false);
7282 if (UNTAG_Bool(REGB2
)) {
7284 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7286 /* ./../lib/standard//collection//array.nit:281 */
7287 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7288 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7289 if (UNTAG_Bool(REGB2
)) {
7290 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7292 /* ./../lib/standard//collection//array.nit:718 */
7293 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7294 /* ./../lib/standard//collection//array.nit:281 */
7297 /* ./compiling//compiling_icode.nit:759 */
7298 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7299 if (!once_value_96
) {
7300 fra
.me
.REG
[7] = BOX_NativeString(")>=UNTAG_Int(");
7301 REGB1
= TAG_Int(13);
7302 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7303 once_value_96
= fra
.me
.REG
[7];
7304 register_static_object(&once_value_96
);
7305 } else fra
.me
.REG
[7] = once_value_96
;
7306 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7307 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7309 /* ./../lib/standard//collection//array.nit:278 */
7310 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7311 /* ./../lib/standard//collection//array.nit:280 */
7313 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7314 if (UNTAG_Bool(REGB0
)) {
7316 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7318 /* ./../lib/standard//kernel.nit:233 */
7319 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7320 /* ./../lib/standard//collection//array.nit:280 */
7321 if (UNTAG_Bool(REGB2
)) {
7322 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7323 if (UNTAG_Bool(REGB2
)) {
7325 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7327 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
7334 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7336 /* ./../lib/standard//collection//array.nit:280 */
7337 REGB0
= TAG_Bool(false);
7340 if (UNTAG_Bool(REGB2
)) {
7342 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7344 /* ./../lib/standard//collection//array.nit:281 */
7345 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7346 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7347 if (UNTAG_Bool(REGB2
)) {
7348 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7350 /* ./../lib/standard//collection//array.nit:718 */
7351 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7352 /* ./../lib/standard//collection//array.nit:281 */
7355 /* ./compiling//compiling_icode.nit:759 */
7356 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7357 if (!once_value_98
) {
7358 fra
.me
.REG
[7] = BOX_NativeString("))");
7360 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7361 once_value_98
= fra
.me
.REG
[7];
7362 register_static_object(&once_value_98
);
7363 } else fra
.me
.REG
[7] = once_value_98
;
7364 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7365 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7366 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7367 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7369 /* ./compiling//compiling_icode.nit:760 */
7370 if (!once_value_99
) {
7371 if (!once_value_100
) {
7372 fra
.me
.REG
[6] = BOX_NativeString("lshift");
7374 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
7375 once_value_100
= fra
.me
.REG
[6];
7376 register_static_object(&once_value_100
);
7377 } else fra
.me
.REG
[6] = once_value_100
;
7378 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7379 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7380 once_value_99
= fra
.me
.REG
[6];
7381 register_static_object(&once_value_99
);
7382 } else fra
.me
.REG
[6] = once_value_99
;
7383 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7384 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7385 if (UNTAG_Bool(REGB1
)) {
7387 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7390 if (UNTAG_Bool(REGB1
)) {
7391 /* ./compiling//compiling_icode.nit:761 */
7393 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7394 if (!once_value_101
) {
7395 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
7396 REGB1
= TAG_Int(18);
7397 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7398 once_value_101
= fra
.me
.REG
[7];
7399 register_static_object(&once_value_101
);
7400 } else fra
.me
.REG
[7] = once_value_101
;
7401 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7402 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7404 /* ./../lib/standard//collection//array.nit:278 */
7405 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7406 /* ./../lib/standard//collection//array.nit:280 */
7408 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7409 if (UNTAG_Bool(REGB0
)) {
7411 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7413 /* ./../lib/standard//kernel.nit:233 */
7414 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7415 /* ./../lib/standard//collection//array.nit:280 */
7416 if (UNTAG_Bool(REGB2
)) {
7417 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7418 if (UNTAG_Bool(REGB2
)) {
7420 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7422 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7423 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7424 if (UNTAG_Bool(REGB0
)) {
7426 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7428 /* ./../lib/standard//kernel.nit:232 */
7429 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7431 /* ./../lib/standard//collection//array.nit:280 */
7432 REGB0
= TAG_Bool(false);
7435 if (UNTAG_Bool(REGB2
)) {
7437 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7439 /* ./../lib/standard//collection//array.nit:281 */
7440 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7441 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7442 if (UNTAG_Bool(REGB2
)) {
7443 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7445 /* ./../lib/standard//collection//array.nit:718 */
7446 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7447 /* ./../lib/standard//collection//array.nit:281 */
7450 /* ./compiling//compiling_icode.nit:761 */
7451 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7452 if (!once_value_103
) {
7453 fra
.me
.REG
[7] = BOX_NativeString(")<<UNTAG_Int(");
7454 REGB1
= TAG_Int(13);
7455 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7456 once_value_103
= fra
.me
.REG
[7];
7457 register_static_object(&once_value_103
);
7458 } else fra
.me
.REG
[7] = once_value_103
;
7459 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7460 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7462 /* ./../lib/standard//collection//array.nit:278 */
7463 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7464 /* ./../lib/standard//collection//array.nit:280 */
7466 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7467 if (UNTAG_Bool(REGB0
)) {
7469 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7471 /* ./../lib/standard//kernel.nit:233 */
7472 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7473 /* ./../lib/standard//collection//array.nit:280 */
7474 if (UNTAG_Bool(REGB2
)) {
7475 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7476 if (UNTAG_Bool(REGB2
)) {
7478 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7480 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
7487 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7489 /* ./../lib/standard//collection//array.nit:280 */
7490 REGB0
= TAG_Bool(false);
7493 if (UNTAG_Bool(REGB2
)) {
7495 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7497 /* ./../lib/standard//collection//array.nit:281 */
7498 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7499 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7500 if (UNTAG_Bool(REGB2
)) {
7501 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7503 /* ./../lib/standard//collection//array.nit:718 */
7504 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7505 /* ./../lib/standard//collection//array.nit:281 */
7508 /* ./compiling//compiling_icode.nit:761 */
7509 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7510 if (!once_value_105
) {
7511 fra
.me
.REG
[7] = BOX_NativeString("))");
7513 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7514 once_value_105
= fra
.me
.REG
[7];
7515 register_static_object(&once_value_105
);
7516 } else fra
.me
.REG
[7] = once_value_105
;
7517 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7518 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7519 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7520 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7522 /* ./compiling//compiling_icode.nit:762 */
7523 if (!once_value_106
) {
7524 if (!once_value_107
) {
7525 fra
.me
.REG
[6] = BOX_NativeString("rshift");
7527 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
7528 once_value_107
= fra
.me
.REG
[6];
7529 register_static_object(&once_value_107
);
7530 } else fra
.me
.REG
[6] = once_value_107
;
7531 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7532 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7533 once_value_106
= fra
.me
.REG
[6];
7534 register_static_object(&once_value_106
);
7535 } else fra
.me
.REG
[6] = once_value_106
;
7536 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7537 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7538 if (UNTAG_Bool(REGB1
)) {
7540 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7543 if (UNTAG_Bool(REGB1
)) {
7544 /* ./compiling//compiling_icode.nit:763 */
7546 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7547 if (!once_value_108
) {
7548 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
7549 REGB1
= TAG_Int(18);
7550 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7551 once_value_108
= fra
.me
.REG
[7];
7552 register_static_object(&once_value_108
);
7553 } else fra
.me
.REG
[7] = once_value_108
;
7554 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7555 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7557 /* ./../lib/standard//collection//array.nit:278 */
7558 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7559 /* ./../lib/standard//collection//array.nit:280 */
7561 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7562 if (UNTAG_Bool(REGB0
)) {
7564 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7566 /* ./../lib/standard//kernel.nit:233 */
7567 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7568 /* ./../lib/standard//collection//array.nit:280 */
7569 if (UNTAG_Bool(REGB2
)) {
7570 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7571 if (UNTAG_Bool(REGB2
)) {
7573 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7575 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7576 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7577 if (UNTAG_Bool(REGB0
)) {
7579 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7581 /* ./../lib/standard//kernel.nit:232 */
7582 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7584 /* ./../lib/standard//collection//array.nit:280 */
7585 REGB0
= TAG_Bool(false);
7588 if (UNTAG_Bool(REGB2
)) {
7590 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7592 /* ./../lib/standard//collection//array.nit:281 */
7593 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7594 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7595 if (UNTAG_Bool(REGB2
)) {
7596 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7598 /* ./../lib/standard//collection//array.nit:718 */
7599 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7600 /* ./../lib/standard//collection//array.nit:281 */
7603 /* ./compiling//compiling_icode.nit:763 */
7604 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7605 if (!once_value_110
) {
7606 fra
.me
.REG
[7] = BOX_NativeString(")>>UNTAG_Int(");
7607 REGB1
= TAG_Int(13);
7608 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7609 once_value_110
= fra
.me
.REG
[7];
7610 register_static_object(&once_value_110
);
7611 } else fra
.me
.REG
[7] = once_value_110
;
7612 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7613 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7615 /* ./../lib/standard//collection//array.nit:278 */
7616 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7617 /* ./../lib/standard//collection//array.nit:280 */
7619 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7620 if (UNTAG_Bool(REGB0
)) {
7622 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7624 /* ./../lib/standard//kernel.nit:233 */
7625 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7626 /* ./../lib/standard//collection//array.nit:280 */
7627 if (UNTAG_Bool(REGB2
)) {
7628 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7629 if (UNTAG_Bool(REGB2
)) {
7631 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7633 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
7640 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7642 /* ./../lib/standard//collection//array.nit:280 */
7643 REGB0
= TAG_Bool(false);
7646 if (UNTAG_Bool(REGB2
)) {
7648 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7650 /* ./../lib/standard//collection//array.nit:281 */
7651 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7652 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7653 if (UNTAG_Bool(REGB2
)) {
7654 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7656 /* ./../lib/standard//collection//array.nit:718 */
7657 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7658 /* ./../lib/standard//collection//array.nit:281 */
7661 /* ./compiling//compiling_icode.nit:763 */
7662 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7663 if (!once_value_112
) {
7664 fra
.me
.REG
[7] = BOX_NativeString("))");
7666 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7667 once_value_112
= fra
.me
.REG
[7];
7668 register_static_object(&once_value_112
);
7669 } else fra
.me
.REG
[7] = once_value_112
;
7670 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7671 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7672 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7673 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7675 /* ./compiling//compiling_icode.nit:764 */
7676 if (!once_value_113
) {
7677 if (!once_value_114
) {
7678 fra
.me
.REG
[6] = BOX_NativeString("==");
7680 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
7681 once_value_114
= fra
.me
.REG
[6];
7682 register_static_object(&once_value_114
);
7683 } else fra
.me
.REG
[6] = once_value_114
;
7684 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7685 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7686 once_value_113
= fra
.me
.REG
[6];
7687 register_static_object(&once_value_113
);
7688 } else fra
.me
.REG
[6] = once_value_113
;
7689 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7690 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7691 if (UNTAG_Bool(REGB1
)) {
7693 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7696 if (UNTAG_Bool(REGB1
)) {
7697 /* ./compiling//compiling_icode.nit:765 */
7699 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7700 if (!once_value_115
) {
7701 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
7702 REGB1
= TAG_Int(10);
7703 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7704 once_value_115
= fra
.me
.REG
[7];
7705 register_static_object(&once_value_115
);
7706 } else fra
.me
.REG
[7] = once_value_115
;
7707 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7708 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7710 /* ./../lib/standard//collection//array.nit:278 */
7711 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7712 /* ./../lib/standard//collection//array.nit:280 */
7714 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7715 if (UNTAG_Bool(REGB0
)) {
7717 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7719 /* ./../lib/standard//kernel.nit:233 */
7720 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7721 /* ./../lib/standard//collection//array.nit:280 */
7722 if (UNTAG_Bool(REGB2
)) {
7723 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7724 if (UNTAG_Bool(REGB2
)) {
7726 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7728 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7729 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7730 if (UNTAG_Bool(REGB0
)) {
7732 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7734 /* ./../lib/standard//kernel.nit:232 */
7735 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7737 /* ./../lib/standard//collection//array.nit:280 */
7738 REGB0
= TAG_Bool(false);
7741 if (UNTAG_Bool(REGB2
)) {
7743 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7745 /* ./../lib/standard//collection//array.nit:281 */
7746 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7747 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7748 if (UNTAG_Bool(REGB2
)) {
7749 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7751 /* ./../lib/standard//collection//array.nit:718 */
7752 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7753 /* ./../lib/standard//collection//array.nit:281 */
7756 /* ./compiling//compiling_icode.nit:765 */
7757 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7758 if (!once_value_117
) {
7759 fra
.me
.REG
[7] = BOX_NativeString(")==(");
7761 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7762 once_value_117
= fra
.me
.REG
[7];
7763 register_static_object(&once_value_117
);
7764 } else fra
.me
.REG
[7] = once_value_117
;
7765 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7766 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7768 /* ./../lib/standard//collection//array.nit:278 */
7769 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7770 /* ./../lib/standard//collection//array.nit:280 */
7772 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7773 if (UNTAG_Bool(REGB0
)) {
7775 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7777 /* ./../lib/standard//kernel.nit:233 */
7778 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7779 /* ./../lib/standard//collection//array.nit:280 */
7780 if (UNTAG_Bool(REGB2
)) {
7781 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7782 if (UNTAG_Bool(REGB2
)) {
7784 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7786 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
7793 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7795 /* ./../lib/standard//collection//array.nit:280 */
7796 REGB0
= TAG_Bool(false);
7799 if (UNTAG_Bool(REGB2
)) {
7801 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7803 /* ./../lib/standard//collection//array.nit:281 */
7804 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7805 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7806 if (UNTAG_Bool(REGB2
)) {
7807 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7809 /* ./../lib/standard//collection//array.nit:718 */
7810 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7811 /* ./../lib/standard//collection//array.nit:281 */
7814 /* ./compiling//compiling_icode.nit:765 */
7815 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7816 if (!once_value_119
) {
7817 fra
.me
.REG
[7] = BOX_NativeString("))");
7819 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7820 once_value_119
= fra
.me
.REG
[7];
7821 register_static_object(&once_value_119
);
7822 } else fra
.me
.REG
[7] = once_value_119
;
7823 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7824 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7825 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7826 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7828 /* ./compiling//compiling_icode.nit:766 */
7829 if (!once_value_120
) {
7830 if (!once_value_121
) {
7831 fra
.me
.REG
[6] = BOX_NativeString("!=");
7833 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
7834 once_value_121
= fra
.me
.REG
[6];
7835 register_static_object(&once_value_121
);
7836 } else fra
.me
.REG
[6] = once_value_121
;
7837 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7838 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7839 once_value_120
= fra
.me
.REG
[6];
7840 register_static_object(&once_value_120
);
7841 } else fra
.me
.REG
[6] = once_value_120
;
7842 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7843 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7844 if (UNTAG_Bool(REGB1
)) {
7846 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7849 if (UNTAG_Bool(REGB1
)) {
7850 /* ./compiling//compiling_icode.nit:767 */
7852 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7853 if (!once_value_122
) {
7854 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
7855 REGB1
= TAG_Int(10);
7856 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7857 once_value_122
= fra
.me
.REG
[7];
7858 register_static_object(&once_value_122
);
7859 } else fra
.me
.REG
[7] = once_value_122
;
7860 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7861 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7863 /* ./../lib/standard//collection//array.nit:278 */
7864 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7865 /* ./../lib/standard//collection//array.nit:280 */
7867 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7868 if (UNTAG_Bool(REGB0
)) {
7870 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7872 /* ./../lib/standard//kernel.nit:233 */
7873 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7874 /* ./../lib/standard//collection//array.nit:280 */
7875 if (UNTAG_Bool(REGB2
)) {
7876 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7877 if (UNTAG_Bool(REGB2
)) {
7879 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7881 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7882 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7883 if (UNTAG_Bool(REGB0
)) {
7885 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7887 /* ./../lib/standard//kernel.nit:232 */
7888 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7890 /* ./../lib/standard//collection//array.nit:280 */
7891 REGB0
= TAG_Bool(false);
7894 if (UNTAG_Bool(REGB2
)) {
7896 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7898 /* ./../lib/standard//collection//array.nit:281 */
7899 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7900 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7901 if (UNTAG_Bool(REGB2
)) {
7902 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7904 /* ./../lib/standard//collection//array.nit:718 */
7905 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7906 /* ./../lib/standard//collection//array.nit:281 */
7909 /* ./compiling//compiling_icode.nit:767 */
7910 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7911 if (!once_value_124
) {
7912 fra
.me
.REG
[7] = BOX_NativeString(")!=(");
7914 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7915 once_value_124
= fra
.me
.REG
[7];
7916 register_static_object(&once_value_124
);
7917 } else fra
.me
.REG
[7] = once_value_124
;
7918 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7919 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7921 /* ./../lib/standard//collection//array.nit:278 */
7922 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7923 /* ./../lib/standard//collection//array.nit:280 */
7925 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7926 if (UNTAG_Bool(REGB0
)) {
7928 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7930 /* ./../lib/standard//kernel.nit:233 */
7931 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7932 /* ./../lib/standard//collection//array.nit:280 */
7933 if (UNTAG_Bool(REGB2
)) {
7934 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7935 if (UNTAG_Bool(REGB2
)) {
7937 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7939 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
7946 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7948 /* ./../lib/standard//collection//array.nit:280 */
7949 REGB0
= TAG_Bool(false);
7952 if (UNTAG_Bool(REGB2
)) {
7954 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
7956 /* ./../lib/standard//collection//array.nit:281 */
7957 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7958 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7959 if (UNTAG_Bool(REGB2
)) {
7960 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7962 /* ./../lib/standard//collection//array.nit:718 */
7963 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7964 /* ./../lib/standard//collection//array.nit:281 */
7967 /* ./compiling//compiling_icode.nit:767 */
7968 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7969 if (!once_value_126
) {
7970 fra
.me
.REG
[7] = BOX_NativeString("))");
7972 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7973 once_value_126
= fra
.me
.REG
[7];
7974 register_static_object(&once_value_126
);
7975 } else fra
.me
.REG
[7] = once_value_126
;
7976 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7977 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7978 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7979 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8001 /* ./compiling//compiling_icode.nit:769 */
8002 if (!once_value_127
) {
8003 if (!once_value_128
) {
8004 fra
.me
.REG
[6] = BOX_NativeString("Float");
8006 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8007 once_value_128
= fra
.me
.REG
[6];
8008 register_static_object(&once_value_128
);
8009 } else fra
.me
.REG
[6] = once_value_128
;
8010 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8011 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8012 once_value_127
= fra
.me
.REG
[6];
8013 register_static_object(&once_value_127
);
8014 } else fra
.me
.REG
[6] = once_value_127
;
8015 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8016 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
8017 if (UNTAG_Bool(REGB1
)) {
8019 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
8022 if (UNTAG_Bool(REGB1
)) {
8023 /* ./compiling//compiling_icode.nit:770 */
8024 if (!once_value_129
) {
8025 if (!once_value_130
) {
8026 fra
.me
.REG
[6] = BOX_NativeString("object_id");
8028 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8029 once_value_130
= fra
.me
.REG
[6];
8030 register_static_object(&once_value_130
);
8031 } else fra
.me
.REG
[6] = once_value_130
;
8032 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8033 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8034 once_value_129
= fra
.me
.REG
[6];
8035 register_static_object(&once_value_129
);
8036 } else fra
.me
.REG
[6] = once_value_129
;
8037 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8038 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8039 if (UNTAG_Bool(REGB1
)) {
8041 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8044 if (UNTAG_Bool(REGB1
)) {
8045 /* ./compiling//compiling_icode.nit:771 */
8047 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8048 if (!once_value_131
) {
8049 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int((bigint)UNBOX_Float(");
8050 REGB1
= TAG_Int(28);
8051 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8052 once_value_131
= fra
.me
.REG
[7];
8053 register_static_object(&once_value_131
);
8054 } else fra
.me
.REG
[7] = once_value_131
;
8055 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8056 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8058 /* ./../lib/standard//collection//array.nit:278 */
8059 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8060 /* ./../lib/standard//collection//array.nit:280 */
8062 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8063 if (UNTAG_Bool(REGB0
)) {
8065 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8067 /* ./../lib/standard//kernel.nit:233 */
8068 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8069 /* ./../lib/standard//collection//array.nit:280 */
8070 if (UNTAG_Bool(REGB2
)) {
8071 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8072 if (UNTAG_Bool(REGB2
)) {
8074 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8076 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8077 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8078 if (UNTAG_Bool(REGB0
)) {
8080 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8082 /* ./../lib/standard//kernel.nit:232 */
8083 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8085 /* ./../lib/standard//collection//array.nit:280 */
8086 REGB0
= TAG_Bool(false);
8089 if (UNTAG_Bool(REGB2
)) {
8091 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8093 /* ./../lib/standard//collection//array.nit:281 */
8094 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8095 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8096 if (UNTAG_Bool(REGB2
)) {
8097 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8099 /* ./../lib/standard//collection//array.nit:718 */
8100 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8101 /* ./../lib/standard//collection//array.nit:281 */
8104 /* ./compiling//compiling_icode.nit:771 */
8105 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8106 if (!once_value_133
) {
8107 fra
.me
.REG
[7] = BOX_NativeString("))");
8109 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8110 once_value_133
= fra
.me
.REG
[7];
8111 register_static_object(&once_value_133
);
8112 } else fra
.me
.REG
[7] = once_value_133
;
8113 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8114 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8115 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8116 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8118 /* ./compiling//compiling_icode.nit:772 */
8119 if (!once_value_134
) {
8120 if (!once_value_135
) {
8121 fra
.me
.REG
[6] = BOX_NativeString("unary -");
8123 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8124 once_value_135
= fra
.me
.REG
[6];
8125 register_static_object(&once_value_135
);
8126 } else fra
.me
.REG
[6] = once_value_135
;
8127 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8128 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8129 once_value_134
= fra
.me
.REG
[6];
8130 register_static_object(&once_value_134
);
8131 } else fra
.me
.REG
[6] = once_value_134
;
8132 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8133 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8134 if (UNTAG_Bool(REGB1
)) {
8136 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8139 if (UNTAG_Bool(REGB1
)) {
8140 /* ./compiling//compiling_icode.nit:773 */
8142 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8143 if (!once_value_136
) {
8144 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(-UNBOX_Float(");
8145 REGB1
= TAG_Int(23);
8146 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8147 once_value_136
= fra
.me
.REG
[7];
8148 register_static_object(&once_value_136
);
8149 } else fra
.me
.REG
[7] = once_value_136
;
8150 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8151 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8153 /* ./../lib/standard//collection//array.nit:278 */
8154 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8155 /* ./../lib/standard//collection//array.nit:280 */
8157 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8158 if (UNTAG_Bool(REGB0
)) {
8160 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8162 /* ./../lib/standard//kernel.nit:233 */
8163 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8164 /* ./../lib/standard//collection//array.nit:280 */
8165 if (UNTAG_Bool(REGB2
)) {
8166 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8167 if (UNTAG_Bool(REGB2
)) {
8169 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8171 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8172 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8173 if (UNTAG_Bool(REGB0
)) {
8175 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8177 /* ./../lib/standard//kernel.nit:232 */
8178 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8180 /* ./../lib/standard//collection//array.nit:280 */
8181 REGB0
= TAG_Bool(false);
8184 if (UNTAG_Bool(REGB2
)) {
8186 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8188 /* ./../lib/standard//collection//array.nit:281 */
8189 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8190 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8191 if (UNTAG_Bool(REGB2
)) {
8192 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8194 /* ./../lib/standard//collection//array.nit:718 */
8195 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8196 /* ./../lib/standard//collection//array.nit:281 */
8199 /* ./compiling//compiling_icode.nit:773 */
8200 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8201 if (!once_value_138
) {
8202 fra
.me
.REG
[7] = BOX_NativeString("))");
8204 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8205 once_value_138
= fra
.me
.REG
[7];
8206 register_static_object(&once_value_138
);
8207 } else fra
.me
.REG
[7] = once_value_138
;
8208 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8209 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8210 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8211 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8213 /* ./compiling//compiling_icode.nit:774 */
8214 if (!once_value_139
) {
8215 if (!once_value_140
) {
8216 fra
.me
.REG
[6] = BOX_NativeString("output");
8218 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8219 once_value_140
= fra
.me
.REG
[6];
8220 register_static_object(&once_value_140
);
8221 } else fra
.me
.REG
[6] = once_value_140
;
8222 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8223 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8224 once_value_139
= fra
.me
.REG
[6];
8225 register_static_object(&once_value_139
);
8226 } else fra
.me
.REG
[6] = once_value_139
;
8227 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8228 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8229 if (UNTAG_Bool(REGB1
)) {
8231 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8234 if (UNTAG_Bool(REGB1
)) {
8235 /* ./compiling//compiling_icode.nit:775 */
8237 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8238 if (!once_value_141
) {
8239 fra
.me
.REG
[7] = BOX_NativeString("printf(\"%f\\n\", UNBOX_Float(");
8240 REGB1
= TAG_Int(27);
8241 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8242 once_value_141
= fra
.me
.REG
[7];
8243 register_static_object(&once_value_141
);
8244 } else fra
.me
.REG
[7] = once_value_141
;
8245 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8246 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8248 /* ./../lib/standard//collection//array.nit:278 */
8249 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8250 /* ./../lib/standard//collection//array.nit:280 */
8252 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8253 if (UNTAG_Bool(REGB0
)) {
8255 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8257 /* ./../lib/standard//kernel.nit:233 */
8258 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8259 /* ./../lib/standard//collection//array.nit:280 */
8260 if (UNTAG_Bool(REGB2
)) {
8261 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8262 if (UNTAG_Bool(REGB2
)) {
8264 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8266 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8267 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8268 if (UNTAG_Bool(REGB0
)) {
8270 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8272 /* ./../lib/standard//kernel.nit:232 */
8273 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8275 /* ./../lib/standard//collection//array.nit:280 */
8276 REGB0
= TAG_Bool(false);
8279 if (UNTAG_Bool(REGB2
)) {
8281 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8283 /* ./../lib/standard//collection//array.nit:281 */
8284 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8285 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8286 if (UNTAG_Bool(REGB2
)) {
8287 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8289 /* ./../lib/standard//collection//array.nit:718 */
8290 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8291 /* ./../lib/standard//collection//array.nit:281 */
8294 /* ./compiling//compiling_icode.nit:775 */
8295 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8296 if (!once_value_143
) {
8297 fra
.me
.REG
[7] = BOX_NativeString("));");
8299 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8300 once_value_143
= fra
.me
.REG
[7];
8301 register_static_object(&once_value_143
);
8302 } else fra
.me
.REG
[7] = once_value_143
;
8303 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8304 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8305 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8306 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8308 /* ./compiling//compiling_icode.nit:776 */
8309 if (!once_value_144
) {
8310 if (!once_value_145
) {
8311 fra
.me
.REG
[6] = BOX_NativeString("to_i");
8313 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8314 once_value_145
= fra
.me
.REG
[6];
8315 register_static_object(&once_value_145
);
8316 } else fra
.me
.REG
[6] = once_value_145
;
8317 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8318 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8319 once_value_144
= fra
.me
.REG
[6];
8320 register_static_object(&once_value_144
);
8321 } else fra
.me
.REG
[6] = once_value_144
;
8322 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8323 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8324 if (UNTAG_Bool(REGB1
)) {
8326 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8329 if (UNTAG_Bool(REGB1
)) {
8330 /* ./compiling//compiling_icode.nit:777 */
8332 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8333 if (!once_value_146
) {
8334 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int((bigint)UNBOX_Float(");
8335 REGB1
= TAG_Int(28);
8336 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8337 once_value_146
= fra
.me
.REG
[7];
8338 register_static_object(&once_value_146
);
8339 } else fra
.me
.REG
[7] = once_value_146
;
8340 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8341 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8343 /* ./../lib/standard//collection//array.nit:278 */
8344 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8345 /* ./../lib/standard//collection//array.nit:280 */
8347 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8348 if (UNTAG_Bool(REGB0
)) {
8350 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8352 /* ./../lib/standard//kernel.nit:233 */
8353 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8354 /* ./../lib/standard//collection//array.nit:280 */
8355 if (UNTAG_Bool(REGB2
)) {
8356 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8357 if (UNTAG_Bool(REGB2
)) {
8359 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8361 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8362 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8363 if (UNTAG_Bool(REGB0
)) {
8365 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8367 /* ./../lib/standard//kernel.nit:232 */
8368 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8370 /* ./../lib/standard//collection//array.nit:280 */
8371 REGB0
= TAG_Bool(false);
8374 if (UNTAG_Bool(REGB2
)) {
8376 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8378 /* ./../lib/standard//collection//array.nit:281 */
8379 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8380 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8381 if (UNTAG_Bool(REGB2
)) {
8382 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8384 /* ./../lib/standard//collection//array.nit:718 */
8385 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8386 /* ./../lib/standard//collection//array.nit:281 */
8389 /* ./compiling//compiling_icode.nit:777 */
8390 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8391 if (!once_value_148
) {
8392 fra
.me
.REG
[7] = BOX_NativeString("))");
8394 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8395 once_value_148
= fra
.me
.REG
[7];
8396 register_static_object(&once_value_148
);
8397 } else fra
.me
.REG
[7] = once_value_148
;
8398 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8399 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8400 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8401 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8403 /* ./compiling//compiling_icode.nit:778 */
8404 if (!once_value_149
) {
8405 if (!once_value_150
) {
8406 fra
.me
.REG
[6] = BOX_NativeString("+");
8408 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8409 once_value_150
= fra
.me
.REG
[6];
8410 register_static_object(&once_value_150
);
8411 } else fra
.me
.REG
[6] = once_value_150
;
8412 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8413 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8414 once_value_149
= fra
.me
.REG
[6];
8415 register_static_object(&once_value_149
);
8416 } else fra
.me
.REG
[6] = once_value_149
;
8417 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8418 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8419 if (UNTAG_Bool(REGB1
)) {
8421 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8424 if (UNTAG_Bool(REGB1
)) {
8425 /* ./compiling//compiling_icode.nit:779 */
8427 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8428 if (!once_value_151
) {
8429 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(UNBOX_Float(");
8430 REGB1
= TAG_Int(22);
8431 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8432 once_value_151
= fra
.me
.REG
[7];
8433 register_static_object(&once_value_151
);
8434 } else fra
.me
.REG
[7] = once_value_151
;
8435 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8436 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8438 /* ./../lib/standard//collection//array.nit:278 */
8439 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8440 /* ./../lib/standard//collection//array.nit:280 */
8442 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8443 if (UNTAG_Bool(REGB0
)) {
8445 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8447 /* ./../lib/standard//kernel.nit:233 */
8448 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8449 /* ./../lib/standard//collection//array.nit:280 */
8450 if (UNTAG_Bool(REGB2
)) {
8451 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8452 if (UNTAG_Bool(REGB2
)) {
8454 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8456 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8457 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8458 if (UNTAG_Bool(REGB0
)) {
8460 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8462 /* ./../lib/standard//kernel.nit:232 */
8463 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8465 /* ./../lib/standard//collection//array.nit:280 */
8466 REGB0
= TAG_Bool(false);
8469 if (UNTAG_Bool(REGB2
)) {
8471 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8473 /* ./../lib/standard//collection//array.nit:281 */
8474 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8475 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8476 if (UNTAG_Bool(REGB2
)) {
8477 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8479 /* ./../lib/standard//collection//array.nit:718 */
8480 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8481 /* ./../lib/standard//collection//array.nit:281 */
8484 /* ./compiling//compiling_icode.nit:779 */
8485 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8486 if (!once_value_153
) {
8487 fra
.me
.REG
[7] = BOX_NativeString(")+UNBOX_Float(");
8488 REGB1
= TAG_Int(14);
8489 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8490 once_value_153
= fra
.me
.REG
[7];
8491 register_static_object(&once_value_153
);
8492 } else fra
.me
.REG
[7] = once_value_153
;
8493 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8494 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8496 /* ./../lib/standard//collection//array.nit:278 */
8497 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8498 /* ./../lib/standard//collection//array.nit:280 */
8500 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8501 if (UNTAG_Bool(REGB0
)) {
8503 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8505 /* ./../lib/standard//kernel.nit:233 */
8506 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8507 /* ./../lib/standard//collection//array.nit:280 */
8508 if (UNTAG_Bool(REGB2
)) {
8509 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8510 if (UNTAG_Bool(REGB2
)) {
8512 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8514 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
8521 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8523 /* ./../lib/standard//collection//array.nit:280 */
8524 REGB0
= TAG_Bool(false);
8527 if (UNTAG_Bool(REGB2
)) {
8529 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8531 /* ./../lib/standard//collection//array.nit:281 */
8532 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8533 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8534 if (UNTAG_Bool(REGB2
)) {
8535 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8537 /* ./../lib/standard//collection//array.nit:718 */
8538 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8539 /* ./../lib/standard//collection//array.nit:281 */
8542 /* ./compiling//compiling_icode.nit:779 */
8543 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8544 if (!once_value_155
) {
8545 fra
.me
.REG
[7] = BOX_NativeString("))");
8547 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8548 once_value_155
= fra
.me
.REG
[7];
8549 register_static_object(&once_value_155
);
8550 } else fra
.me
.REG
[7] = once_value_155
;
8551 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8552 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8553 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8554 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8556 /* ./compiling//compiling_icode.nit:780 */
8557 if (!once_value_156
) {
8558 if (!once_value_157
) {
8559 fra
.me
.REG
[6] = BOX_NativeString("-");
8561 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8562 once_value_157
= fra
.me
.REG
[6];
8563 register_static_object(&once_value_157
);
8564 } else fra
.me
.REG
[6] = once_value_157
;
8565 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8566 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8567 once_value_156
= fra
.me
.REG
[6];
8568 register_static_object(&once_value_156
);
8569 } else fra
.me
.REG
[6] = once_value_156
;
8570 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8571 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8572 if (UNTAG_Bool(REGB1
)) {
8574 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8577 if (UNTAG_Bool(REGB1
)) {
8578 /* ./compiling//compiling_icode.nit:781 */
8580 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8581 if (!once_value_158
) {
8582 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(UNBOX_Float(");
8583 REGB1
= TAG_Int(22);
8584 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8585 once_value_158
= fra
.me
.REG
[7];
8586 register_static_object(&once_value_158
);
8587 } else fra
.me
.REG
[7] = once_value_158
;
8588 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8589 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8591 /* ./../lib/standard//collection//array.nit:278 */
8592 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8593 /* ./../lib/standard//collection//array.nit:280 */
8595 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8596 if (UNTAG_Bool(REGB0
)) {
8598 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8600 /* ./../lib/standard//kernel.nit:233 */
8601 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8602 /* ./../lib/standard//collection//array.nit:280 */
8603 if (UNTAG_Bool(REGB2
)) {
8604 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8605 if (UNTAG_Bool(REGB2
)) {
8607 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8609 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8610 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8611 if (UNTAG_Bool(REGB0
)) {
8613 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8615 /* ./../lib/standard//kernel.nit:232 */
8616 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8618 /* ./../lib/standard//collection//array.nit:280 */
8619 REGB0
= TAG_Bool(false);
8622 if (UNTAG_Bool(REGB2
)) {
8624 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8626 /* ./../lib/standard//collection//array.nit:281 */
8627 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8628 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8629 if (UNTAG_Bool(REGB2
)) {
8630 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8632 /* ./../lib/standard//collection//array.nit:718 */
8633 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8634 /* ./../lib/standard//collection//array.nit:281 */
8637 /* ./compiling//compiling_icode.nit:781 */
8638 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8639 if (!once_value_160
) {
8640 fra
.me
.REG
[7] = BOX_NativeString(")-UNBOX_Float(");
8641 REGB1
= TAG_Int(14);
8642 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8643 once_value_160
= fra
.me
.REG
[7];
8644 register_static_object(&once_value_160
);
8645 } else fra
.me
.REG
[7] = once_value_160
;
8646 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8647 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8649 /* ./../lib/standard//collection//array.nit:278 */
8650 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8651 /* ./../lib/standard//collection//array.nit:280 */
8653 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8654 if (UNTAG_Bool(REGB0
)) {
8656 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8658 /* ./../lib/standard//kernel.nit:233 */
8659 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8660 /* ./../lib/standard//collection//array.nit:280 */
8661 if (UNTAG_Bool(REGB2
)) {
8662 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8663 if (UNTAG_Bool(REGB2
)) {
8665 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8667 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
8674 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8676 /* ./../lib/standard//collection//array.nit:280 */
8677 REGB0
= TAG_Bool(false);
8680 if (UNTAG_Bool(REGB2
)) {
8682 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8684 /* ./../lib/standard//collection//array.nit:281 */
8685 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8686 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8687 if (UNTAG_Bool(REGB2
)) {
8688 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8690 /* ./../lib/standard//collection//array.nit:718 */
8691 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8692 /* ./../lib/standard//collection//array.nit:281 */
8695 /* ./compiling//compiling_icode.nit:781 */
8696 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8697 if (!once_value_162
) {
8698 fra
.me
.REG
[7] = BOX_NativeString("))");
8700 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8701 once_value_162
= fra
.me
.REG
[7];
8702 register_static_object(&once_value_162
);
8703 } else fra
.me
.REG
[7] = once_value_162
;
8704 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8705 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8706 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8707 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8709 /* ./compiling//compiling_icode.nit:782 */
8710 if (!once_value_163
) {
8711 if (!once_value_164
) {
8712 fra
.me
.REG
[6] = BOX_NativeString("*");
8714 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8715 once_value_164
= fra
.me
.REG
[6];
8716 register_static_object(&once_value_164
);
8717 } else fra
.me
.REG
[6] = once_value_164
;
8718 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8719 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8720 once_value_163
= fra
.me
.REG
[6];
8721 register_static_object(&once_value_163
);
8722 } else fra
.me
.REG
[6] = once_value_163
;
8723 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8724 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8725 if (UNTAG_Bool(REGB1
)) {
8727 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8730 if (UNTAG_Bool(REGB1
)) {
8731 /* ./compiling//compiling_icode.nit:783 */
8733 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8734 if (!once_value_165
) {
8735 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(UNBOX_Float(");
8736 REGB1
= TAG_Int(22);
8737 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8738 once_value_165
= fra
.me
.REG
[7];
8739 register_static_object(&once_value_165
);
8740 } else fra
.me
.REG
[7] = once_value_165
;
8741 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8742 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8744 /* ./../lib/standard//collection//array.nit:278 */
8745 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8746 /* ./../lib/standard//collection//array.nit:280 */
8748 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8749 if (UNTAG_Bool(REGB0
)) {
8751 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8753 /* ./../lib/standard//kernel.nit:233 */
8754 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8755 /* ./../lib/standard//collection//array.nit:280 */
8756 if (UNTAG_Bool(REGB2
)) {
8757 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8758 if (UNTAG_Bool(REGB2
)) {
8760 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8762 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8763 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8764 if (UNTAG_Bool(REGB0
)) {
8766 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8768 /* ./../lib/standard//kernel.nit:232 */
8769 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8771 /* ./../lib/standard//collection//array.nit:280 */
8772 REGB0
= TAG_Bool(false);
8775 if (UNTAG_Bool(REGB2
)) {
8777 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8779 /* ./../lib/standard//collection//array.nit:281 */
8780 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8781 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8782 if (UNTAG_Bool(REGB2
)) {
8783 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8785 /* ./../lib/standard//collection//array.nit:718 */
8786 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8787 /* ./../lib/standard//collection//array.nit:281 */
8790 /* ./compiling//compiling_icode.nit:783 */
8791 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8792 if (!once_value_167
) {
8793 fra
.me
.REG
[7] = BOX_NativeString(")*UNBOX_Float(");
8794 REGB1
= TAG_Int(14);
8795 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8796 once_value_167
= fra
.me
.REG
[7];
8797 register_static_object(&once_value_167
);
8798 } else fra
.me
.REG
[7] = once_value_167
;
8799 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8800 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8802 /* ./../lib/standard//collection//array.nit:278 */
8803 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8804 /* ./../lib/standard//collection//array.nit:280 */
8806 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8807 if (UNTAG_Bool(REGB0
)) {
8809 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8811 /* ./../lib/standard//kernel.nit:233 */
8812 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8813 /* ./../lib/standard//collection//array.nit:280 */
8814 if (UNTAG_Bool(REGB2
)) {
8815 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8816 if (UNTAG_Bool(REGB2
)) {
8818 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8820 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
8827 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8829 /* ./../lib/standard//collection//array.nit:280 */
8830 REGB0
= TAG_Bool(false);
8833 if (UNTAG_Bool(REGB2
)) {
8835 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8837 /* ./../lib/standard//collection//array.nit:281 */
8838 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8839 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8840 if (UNTAG_Bool(REGB2
)) {
8841 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8843 /* ./../lib/standard//collection//array.nit:718 */
8844 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8845 /* ./../lib/standard//collection//array.nit:281 */
8848 /* ./compiling//compiling_icode.nit:783 */
8849 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8850 if (!once_value_169
) {
8851 fra
.me
.REG
[7] = BOX_NativeString("))");
8853 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8854 once_value_169
= fra
.me
.REG
[7];
8855 register_static_object(&once_value_169
);
8856 } else fra
.me
.REG
[7] = once_value_169
;
8857 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8858 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8859 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8860 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8862 /* ./compiling//compiling_icode.nit:784 */
8863 if (!once_value_170
) {
8864 if (!once_value_171
) {
8865 fra
.me
.REG
[6] = BOX_NativeString("/");
8867 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8868 once_value_171
= fra
.me
.REG
[6];
8869 register_static_object(&once_value_171
);
8870 } else fra
.me
.REG
[6] = once_value_171
;
8871 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8872 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8873 once_value_170
= fra
.me
.REG
[6];
8874 register_static_object(&once_value_170
);
8875 } else fra
.me
.REG
[6] = once_value_170
;
8876 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8877 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8878 if (UNTAG_Bool(REGB1
)) {
8880 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8883 if (UNTAG_Bool(REGB1
)) {
8884 /* ./compiling//compiling_icode.nit:785 */
8886 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8887 if (!once_value_172
) {
8888 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(UNBOX_Float(");
8889 REGB1
= TAG_Int(22);
8890 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8891 once_value_172
= fra
.me
.REG
[7];
8892 register_static_object(&once_value_172
);
8893 } else fra
.me
.REG
[7] = once_value_172
;
8894 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8895 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8897 /* ./../lib/standard//collection//array.nit:278 */
8898 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8899 /* ./../lib/standard//collection//array.nit:280 */
8901 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8902 if (UNTAG_Bool(REGB0
)) {
8904 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8906 /* ./../lib/standard//kernel.nit:233 */
8907 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8908 /* ./../lib/standard//collection//array.nit:280 */
8909 if (UNTAG_Bool(REGB2
)) {
8910 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8911 if (UNTAG_Bool(REGB2
)) {
8913 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8915 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8916 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8917 if (UNTAG_Bool(REGB0
)) {
8919 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8921 /* ./../lib/standard//kernel.nit:232 */
8922 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8924 /* ./../lib/standard//collection//array.nit:280 */
8925 REGB0
= TAG_Bool(false);
8928 if (UNTAG_Bool(REGB2
)) {
8930 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8932 /* ./../lib/standard//collection//array.nit:281 */
8933 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8934 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8935 if (UNTAG_Bool(REGB2
)) {
8936 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8938 /* ./../lib/standard//collection//array.nit:718 */
8939 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8940 /* ./../lib/standard//collection//array.nit:281 */
8943 /* ./compiling//compiling_icode.nit:785 */
8944 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8945 if (!once_value_174
) {
8946 fra
.me
.REG
[7] = BOX_NativeString(")/UNBOX_Float(");
8947 REGB1
= TAG_Int(14);
8948 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8949 once_value_174
= fra
.me
.REG
[7];
8950 register_static_object(&once_value_174
);
8951 } else fra
.me
.REG
[7] = once_value_174
;
8952 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8953 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8955 /* ./../lib/standard//collection//array.nit:278 */
8956 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8957 /* ./../lib/standard//collection//array.nit:280 */
8959 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8960 if (UNTAG_Bool(REGB0
)) {
8962 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8964 /* ./../lib/standard//kernel.nit:233 */
8965 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8966 /* ./../lib/standard//collection//array.nit:280 */
8967 if (UNTAG_Bool(REGB2
)) {
8968 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8969 if (UNTAG_Bool(REGB2
)) {
8971 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8973 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
8980 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8982 /* ./../lib/standard//collection//array.nit:280 */
8983 REGB0
= TAG_Bool(false);
8986 if (UNTAG_Bool(REGB2
)) {
8988 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
8990 /* ./../lib/standard//collection//array.nit:281 */
8991 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8992 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8993 if (UNTAG_Bool(REGB2
)) {
8994 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8996 /* ./../lib/standard//collection//array.nit:718 */
8997 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8998 /* ./../lib/standard//collection//array.nit:281 */
9001 /* ./compiling//compiling_icode.nit:785 */
9002 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9003 if (!once_value_176
) {
9004 fra
.me
.REG
[7] = BOX_NativeString("))");
9006 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9007 once_value_176
= fra
.me
.REG
[7];
9008 register_static_object(&once_value_176
);
9009 } else fra
.me
.REG
[7] = once_value_176
;
9010 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9011 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9012 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9013 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9015 /* ./compiling//compiling_icode.nit:786 */
9016 if (!once_value_177
) {
9017 if (!once_value_178
) {
9018 fra
.me
.REG
[6] = BOX_NativeString("<");
9020 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9021 once_value_178
= fra
.me
.REG
[6];
9022 register_static_object(&once_value_178
);
9023 } else fra
.me
.REG
[6] = once_value_178
;
9024 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9025 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9026 once_value_177
= fra
.me
.REG
[6];
9027 register_static_object(&once_value_177
);
9028 } else fra
.me
.REG
[6] = once_value_177
;
9029 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9030 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9031 if (UNTAG_Bool(REGB1
)) {
9033 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9036 if (UNTAG_Bool(REGB1
)) {
9037 /* ./compiling//compiling_icode.nit:787 */
9039 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9040 if (!once_value_179
) {
9041 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNBOX_Float(");
9042 REGB1
= TAG_Int(21);
9043 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9044 once_value_179
= fra
.me
.REG
[7];
9045 register_static_object(&once_value_179
);
9046 } else fra
.me
.REG
[7] = once_value_179
;
9047 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9048 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9050 /* ./../lib/standard//collection//array.nit:278 */
9051 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9052 /* ./../lib/standard//collection//array.nit:280 */
9054 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9055 if (UNTAG_Bool(REGB0
)) {
9057 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9059 /* ./../lib/standard//kernel.nit:233 */
9060 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9061 /* ./../lib/standard//collection//array.nit:280 */
9062 if (UNTAG_Bool(REGB2
)) {
9063 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9064 if (UNTAG_Bool(REGB2
)) {
9066 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9068 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9069 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9070 if (UNTAG_Bool(REGB0
)) {
9072 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9074 /* ./../lib/standard//kernel.nit:232 */
9075 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9077 /* ./../lib/standard//collection//array.nit:280 */
9078 REGB0
= TAG_Bool(false);
9081 if (UNTAG_Bool(REGB2
)) {
9083 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9085 /* ./../lib/standard//collection//array.nit:281 */
9086 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9087 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9088 if (UNTAG_Bool(REGB2
)) {
9089 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9091 /* ./../lib/standard//collection//array.nit:718 */
9092 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9093 /* ./../lib/standard//collection//array.nit:281 */
9096 /* ./compiling//compiling_icode.nit:787 */
9097 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9098 if (!once_value_181
) {
9099 fra
.me
.REG
[7] = BOX_NativeString(")<UNBOX_Float(");
9100 REGB1
= TAG_Int(14);
9101 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9102 once_value_181
= fra
.me
.REG
[7];
9103 register_static_object(&once_value_181
);
9104 } else fra
.me
.REG
[7] = once_value_181
;
9105 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9106 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9108 /* ./../lib/standard//collection//array.nit:278 */
9109 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9110 /* ./../lib/standard//collection//array.nit:280 */
9112 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9113 if (UNTAG_Bool(REGB0
)) {
9115 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9117 /* ./../lib/standard//kernel.nit:233 */
9118 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9119 /* ./../lib/standard//collection//array.nit:280 */
9120 if (UNTAG_Bool(REGB2
)) {
9121 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9122 if (UNTAG_Bool(REGB2
)) {
9124 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9126 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
9133 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9135 /* ./../lib/standard//collection//array.nit:280 */
9136 REGB0
= TAG_Bool(false);
9139 if (UNTAG_Bool(REGB2
)) {
9141 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9143 /* ./../lib/standard//collection//array.nit:281 */
9144 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9145 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9146 if (UNTAG_Bool(REGB2
)) {
9147 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9149 /* ./../lib/standard//collection//array.nit:718 */
9150 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9151 /* ./../lib/standard//collection//array.nit:281 */
9154 /* ./compiling//compiling_icode.nit:787 */
9155 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9156 if (!once_value_183
) {
9157 fra
.me
.REG
[7] = BOX_NativeString("))");
9159 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9160 once_value_183
= fra
.me
.REG
[7];
9161 register_static_object(&once_value_183
);
9162 } else fra
.me
.REG
[7] = once_value_183
;
9163 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9164 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9165 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9166 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9168 /* ./compiling//compiling_icode.nit:788 */
9169 if (!once_value_184
) {
9170 if (!once_value_185
) {
9171 fra
.me
.REG
[6] = BOX_NativeString(">");
9173 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9174 once_value_185
= fra
.me
.REG
[6];
9175 register_static_object(&once_value_185
);
9176 } else fra
.me
.REG
[6] = once_value_185
;
9177 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9178 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9179 once_value_184
= fra
.me
.REG
[6];
9180 register_static_object(&once_value_184
);
9181 } else fra
.me
.REG
[6] = once_value_184
;
9182 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9183 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9184 if (UNTAG_Bool(REGB1
)) {
9186 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9189 if (UNTAG_Bool(REGB1
)) {
9190 /* ./compiling//compiling_icode.nit:789 */
9192 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9193 if (!once_value_186
) {
9194 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNBOX_Float(");
9195 REGB1
= TAG_Int(21);
9196 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9197 once_value_186
= fra
.me
.REG
[7];
9198 register_static_object(&once_value_186
);
9199 } else fra
.me
.REG
[7] = once_value_186
;
9200 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9201 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9203 /* ./../lib/standard//collection//array.nit:278 */
9204 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9205 /* ./../lib/standard//collection//array.nit:280 */
9207 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9208 if (UNTAG_Bool(REGB0
)) {
9210 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9212 /* ./../lib/standard//kernel.nit:233 */
9213 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9214 /* ./../lib/standard//collection//array.nit:280 */
9215 if (UNTAG_Bool(REGB2
)) {
9216 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9217 if (UNTAG_Bool(REGB2
)) {
9219 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9221 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9222 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9223 if (UNTAG_Bool(REGB0
)) {
9225 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9227 /* ./../lib/standard//kernel.nit:232 */
9228 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9230 /* ./../lib/standard//collection//array.nit:280 */
9231 REGB0
= TAG_Bool(false);
9234 if (UNTAG_Bool(REGB2
)) {
9236 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9238 /* ./../lib/standard//collection//array.nit:281 */
9239 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9240 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9241 if (UNTAG_Bool(REGB2
)) {
9242 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9244 /* ./../lib/standard//collection//array.nit:718 */
9245 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9246 /* ./../lib/standard//collection//array.nit:281 */
9249 /* ./compiling//compiling_icode.nit:789 */
9250 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9251 if (!once_value_188
) {
9252 fra
.me
.REG
[7] = BOX_NativeString(")>UNBOX_Float(");
9253 REGB1
= TAG_Int(14);
9254 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9255 once_value_188
= fra
.me
.REG
[7];
9256 register_static_object(&once_value_188
);
9257 } else fra
.me
.REG
[7] = once_value_188
;
9258 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9259 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9261 /* ./../lib/standard//collection//array.nit:278 */
9262 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9263 /* ./../lib/standard//collection//array.nit:280 */
9265 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9266 if (UNTAG_Bool(REGB0
)) {
9268 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9270 /* ./../lib/standard//kernel.nit:233 */
9271 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9272 /* ./../lib/standard//collection//array.nit:280 */
9273 if (UNTAG_Bool(REGB2
)) {
9274 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9275 if (UNTAG_Bool(REGB2
)) {
9277 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9279 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
9286 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9288 /* ./../lib/standard//collection//array.nit:280 */
9289 REGB0
= TAG_Bool(false);
9292 if (UNTAG_Bool(REGB2
)) {
9294 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9296 /* ./../lib/standard//collection//array.nit:281 */
9297 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9298 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9299 if (UNTAG_Bool(REGB2
)) {
9300 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9302 /* ./../lib/standard//collection//array.nit:718 */
9303 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9304 /* ./../lib/standard//collection//array.nit:281 */
9307 /* ./compiling//compiling_icode.nit:789 */
9308 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9309 if (!once_value_190
) {
9310 fra
.me
.REG
[7] = BOX_NativeString("))");
9312 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9313 once_value_190
= fra
.me
.REG
[7];
9314 register_static_object(&once_value_190
);
9315 } else fra
.me
.REG
[7] = once_value_190
;
9316 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9317 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9318 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9319 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9321 /* ./compiling//compiling_icode.nit:790 */
9322 if (!once_value_191
) {
9323 if (!once_value_192
) {
9324 fra
.me
.REG
[6] = BOX_NativeString("<=");
9326 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9327 once_value_192
= fra
.me
.REG
[6];
9328 register_static_object(&once_value_192
);
9329 } else fra
.me
.REG
[6] = once_value_192
;
9330 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9331 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9332 once_value_191
= fra
.me
.REG
[6];
9333 register_static_object(&once_value_191
);
9334 } else fra
.me
.REG
[6] = once_value_191
;
9335 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9336 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9337 if (UNTAG_Bool(REGB1
)) {
9339 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9342 if (UNTAG_Bool(REGB1
)) {
9343 /* ./compiling//compiling_icode.nit:791 */
9345 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9346 if (!once_value_193
) {
9347 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNBOX_Float(");
9348 REGB1
= TAG_Int(21);
9349 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9350 once_value_193
= fra
.me
.REG
[7];
9351 register_static_object(&once_value_193
);
9352 } else fra
.me
.REG
[7] = once_value_193
;
9353 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9354 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9356 /* ./../lib/standard//collection//array.nit:278 */
9357 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9358 /* ./../lib/standard//collection//array.nit:280 */
9360 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9361 if (UNTAG_Bool(REGB0
)) {
9363 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9365 /* ./../lib/standard//kernel.nit:233 */
9366 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9367 /* ./../lib/standard//collection//array.nit:280 */
9368 if (UNTAG_Bool(REGB2
)) {
9369 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9370 if (UNTAG_Bool(REGB2
)) {
9372 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9374 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9375 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9376 if (UNTAG_Bool(REGB0
)) {
9378 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9380 /* ./../lib/standard//kernel.nit:232 */
9381 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9383 /* ./../lib/standard//collection//array.nit:280 */
9384 REGB0
= TAG_Bool(false);
9387 if (UNTAG_Bool(REGB2
)) {
9389 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9391 /* ./../lib/standard//collection//array.nit:281 */
9392 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9393 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9394 if (UNTAG_Bool(REGB2
)) {
9395 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9397 /* ./../lib/standard//collection//array.nit:718 */
9398 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9399 /* ./../lib/standard//collection//array.nit:281 */
9402 /* ./compiling//compiling_icode.nit:791 */
9403 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9404 if (!once_value_195
) {
9405 fra
.me
.REG
[7] = BOX_NativeString(")<=UNBOX_Float(");
9406 REGB1
= TAG_Int(15);
9407 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9408 once_value_195
= fra
.me
.REG
[7];
9409 register_static_object(&once_value_195
);
9410 } else fra
.me
.REG
[7] = once_value_195
;
9411 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9412 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9414 /* ./../lib/standard//collection//array.nit:278 */
9415 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9416 /* ./../lib/standard//collection//array.nit:280 */
9418 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9419 if (UNTAG_Bool(REGB0
)) {
9421 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9423 /* ./../lib/standard//kernel.nit:233 */
9424 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9425 /* ./../lib/standard//collection//array.nit:280 */
9426 if (UNTAG_Bool(REGB2
)) {
9427 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9428 if (UNTAG_Bool(REGB2
)) {
9430 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9432 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
9439 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9441 /* ./../lib/standard//collection//array.nit:280 */
9442 REGB0
= TAG_Bool(false);
9445 if (UNTAG_Bool(REGB2
)) {
9447 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9449 /* ./../lib/standard//collection//array.nit:281 */
9450 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9451 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9452 if (UNTAG_Bool(REGB2
)) {
9453 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9455 /* ./../lib/standard//collection//array.nit:718 */
9456 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9457 /* ./../lib/standard//collection//array.nit:281 */
9460 /* ./compiling//compiling_icode.nit:791 */
9461 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9462 if (!once_value_197
) {
9463 fra
.me
.REG
[7] = BOX_NativeString("))");
9465 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9466 once_value_197
= fra
.me
.REG
[7];
9467 register_static_object(&once_value_197
);
9468 } else fra
.me
.REG
[7] = once_value_197
;
9469 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9470 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9471 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9472 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9474 /* ./compiling//compiling_icode.nit:792 */
9475 if (!once_value_198
) {
9476 if (!once_value_199
) {
9477 fra
.me
.REG
[6] = BOX_NativeString(">=");
9479 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9480 once_value_199
= fra
.me
.REG
[6];
9481 register_static_object(&once_value_199
);
9482 } else fra
.me
.REG
[6] = once_value_199
;
9483 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9484 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9485 once_value_198
= fra
.me
.REG
[6];
9486 register_static_object(&once_value_198
);
9487 } else fra
.me
.REG
[6] = once_value_198
;
9488 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9489 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9490 if (UNTAG_Bool(REGB1
)) {
9492 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9495 if (UNTAG_Bool(REGB1
)) {
9496 /* ./compiling//compiling_icode.nit:793 */
9498 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9499 if (!once_value_200
) {
9500 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNBOX_Float(");
9501 REGB1
= TAG_Int(21);
9502 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9503 once_value_200
= fra
.me
.REG
[7];
9504 register_static_object(&once_value_200
);
9505 } else fra
.me
.REG
[7] = once_value_200
;
9506 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9507 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9509 /* ./../lib/standard//collection//array.nit:278 */
9510 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9511 /* ./../lib/standard//collection//array.nit:280 */
9513 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9514 if (UNTAG_Bool(REGB0
)) {
9516 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9518 /* ./../lib/standard//kernel.nit:233 */
9519 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9520 /* ./../lib/standard//collection//array.nit:280 */
9521 if (UNTAG_Bool(REGB2
)) {
9522 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9523 if (UNTAG_Bool(REGB2
)) {
9525 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9527 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9528 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9529 if (UNTAG_Bool(REGB0
)) {
9531 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9533 /* ./../lib/standard//kernel.nit:232 */
9534 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9536 /* ./../lib/standard//collection//array.nit:280 */
9537 REGB0
= TAG_Bool(false);
9540 if (UNTAG_Bool(REGB2
)) {
9542 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9544 /* ./../lib/standard//collection//array.nit:281 */
9545 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9546 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9547 if (UNTAG_Bool(REGB2
)) {
9548 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9550 /* ./../lib/standard//collection//array.nit:718 */
9551 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9552 /* ./../lib/standard//collection//array.nit:281 */
9555 /* ./compiling//compiling_icode.nit:793 */
9556 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9557 if (!once_value_202
) {
9558 fra
.me
.REG
[7] = BOX_NativeString(")>=UNBOX_Float(");
9559 REGB1
= TAG_Int(15);
9560 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9561 once_value_202
= fra
.me
.REG
[7];
9562 register_static_object(&once_value_202
);
9563 } else fra
.me
.REG
[7] = once_value_202
;
9564 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9565 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9567 /* ./../lib/standard//collection//array.nit:278 */
9568 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9569 /* ./../lib/standard//collection//array.nit:280 */
9571 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9572 if (UNTAG_Bool(REGB0
)) {
9574 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9576 /* ./../lib/standard//kernel.nit:233 */
9577 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9578 /* ./../lib/standard//collection//array.nit:280 */
9579 if (UNTAG_Bool(REGB2
)) {
9580 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9581 if (UNTAG_Bool(REGB2
)) {
9583 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9585 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
9592 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9594 /* ./../lib/standard//collection//array.nit:280 */
9595 REGB0
= TAG_Bool(false);
9598 if (UNTAG_Bool(REGB2
)) {
9600 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9602 /* ./../lib/standard//collection//array.nit:281 */
9603 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9604 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9605 if (UNTAG_Bool(REGB2
)) {
9606 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9608 /* ./../lib/standard//collection//array.nit:718 */
9609 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9610 /* ./../lib/standard//collection//array.nit:281 */
9613 /* ./compiling//compiling_icode.nit:793 */
9614 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9615 if (!once_value_204
) {
9616 fra
.me
.REG
[7] = BOX_NativeString("))");
9618 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9619 once_value_204
= fra
.me
.REG
[7];
9620 register_static_object(&once_value_204
);
9621 } else fra
.me
.REG
[7] = once_value_204
;
9622 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9623 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9624 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9625 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9639 /* ./compiling//compiling_icode.nit:795 */
9640 if (!once_value_205
) {
9641 if (!once_value_206
) {
9642 fra
.me
.REG
[6] = BOX_NativeString("Char");
9644 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9645 once_value_206
= fra
.me
.REG
[6];
9646 register_static_object(&once_value_206
);
9647 } else fra
.me
.REG
[6] = once_value_206
;
9648 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9649 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9650 once_value_205
= fra
.me
.REG
[6];
9651 register_static_object(&once_value_205
);
9652 } else fra
.me
.REG
[6] = once_value_205
;
9653 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9654 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
9655 if (UNTAG_Bool(REGB1
)) {
9657 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
9660 if (UNTAG_Bool(REGB1
)) {
9661 /* ./compiling//compiling_icode.nit:796 */
9662 if (!once_value_207
) {
9663 if (!once_value_208
) {
9664 fra
.me
.REG
[6] = BOX_NativeString("object_id");
9666 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9667 once_value_208
= fra
.me
.REG
[6];
9668 register_static_object(&once_value_208
);
9669 } else fra
.me
.REG
[6] = once_value_208
;
9670 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9671 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9672 once_value_207
= fra
.me
.REG
[6];
9673 register_static_object(&once_value_207
);
9674 } else fra
.me
.REG
[6] = once_value_207
;
9675 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9676 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9677 if (UNTAG_Bool(REGB1
)) {
9679 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9682 if (UNTAG_Bool(REGB1
)) {
9683 /* ./compiling//compiling_icode.nit:797 */
9685 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9686 if (!once_value_209
) {
9687 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Char(");
9688 REGB1
= TAG_Int(19);
9689 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9690 once_value_209
= fra
.me
.REG
[7];
9691 register_static_object(&once_value_209
);
9692 } else fra
.me
.REG
[7] = once_value_209
;
9693 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9694 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9696 /* ./../lib/standard//collection//array.nit:278 */
9697 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9698 /* ./../lib/standard//collection//array.nit:280 */
9700 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9701 if (UNTAG_Bool(REGB0
)) {
9703 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9705 /* ./../lib/standard//kernel.nit:233 */
9706 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9707 /* ./../lib/standard//collection//array.nit:280 */
9708 if (UNTAG_Bool(REGB2
)) {
9709 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9710 if (UNTAG_Bool(REGB2
)) {
9712 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9714 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9715 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9716 if (UNTAG_Bool(REGB0
)) {
9718 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9720 /* ./../lib/standard//kernel.nit:232 */
9721 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9723 /* ./../lib/standard//collection//array.nit:280 */
9724 REGB0
= TAG_Bool(false);
9727 if (UNTAG_Bool(REGB2
)) {
9729 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9731 /* ./../lib/standard//collection//array.nit:281 */
9732 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9733 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9734 if (UNTAG_Bool(REGB2
)) {
9735 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9737 /* ./../lib/standard//collection//array.nit:718 */
9738 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9739 /* ./../lib/standard//collection//array.nit:281 */
9742 /* ./compiling//compiling_icode.nit:797 */
9743 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9744 if (!once_value_211
) {
9745 fra
.me
.REG
[7] = BOX_NativeString("))");
9747 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9748 once_value_211
= fra
.me
.REG
[7];
9749 register_static_object(&once_value_211
);
9750 } else fra
.me
.REG
[7] = once_value_211
;
9751 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9752 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9753 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9754 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9756 /* ./compiling//compiling_icode.nit:798 */
9757 if (!once_value_212
) {
9758 if (!once_value_213
) {
9759 fra
.me
.REG
[6] = BOX_NativeString("unary -");
9761 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9762 once_value_213
= fra
.me
.REG
[6];
9763 register_static_object(&once_value_213
);
9764 } else fra
.me
.REG
[6] = once_value_213
;
9765 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9766 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9767 once_value_212
= fra
.me
.REG
[6];
9768 register_static_object(&once_value_212
);
9769 } else fra
.me
.REG
[6] = once_value_212
;
9770 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9771 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9772 if (UNTAG_Bool(REGB1
)) {
9774 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9777 if (UNTAG_Bool(REGB1
)) {
9778 /* ./compiling//compiling_icode.nit:799 */
9780 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9781 if (!once_value_214
) {
9782 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(-UNTAG_Char(");
9783 REGB1
= TAG_Int(21);
9784 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9785 once_value_214
= fra
.me
.REG
[7];
9786 register_static_object(&once_value_214
);
9787 } else fra
.me
.REG
[7] = once_value_214
;
9788 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9789 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9791 /* ./../lib/standard//collection//array.nit:278 */
9792 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9793 /* ./../lib/standard//collection//array.nit:280 */
9795 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9796 if (UNTAG_Bool(REGB0
)) {
9798 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9800 /* ./../lib/standard//kernel.nit:233 */
9801 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9802 /* ./../lib/standard//collection//array.nit:280 */
9803 if (UNTAG_Bool(REGB2
)) {
9804 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9805 if (UNTAG_Bool(REGB2
)) {
9807 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9809 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9810 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9811 if (UNTAG_Bool(REGB0
)) {
9813 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9815 /* ./../lib/standard//kernel.nit:232 */
9816 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9818 /* ./../lib/standard//collection//array.nit:280 */
9819 REGB0
= TAG_Bool(false);
9822 if (UNTAG_Bool(REGB2
)) {
9824 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9826 /* ./../lib/standard//collection//array.nit:281 */
9827 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9828 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9829 if (UNTAG_Bool(REGB2
)) {
9830 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9832 /* ./../lib/standard//collection//array.nit:718 */
9833 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9834 /* ./../lib/standard//collection//array.nit:281 */
9837 /* ./compiling//compiling_icode.nit:799 */
9838 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9839 if (!once_value_216
) {
9840 fra
.me
.REG
[7] = BOX_NativeString("))");
9842 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9843 once_value_216
= fra
.me
.REG
[7];
9844 register_static_object(&once_value_216
);
9845 } else fra
.me
.REG
[7] = once_value_216
;
9846 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9847 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9848 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9849 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9851 /* ./compiling//compiling_icode.nit:800 */
9852 if (!once_value_217
) {
9853 if (!once_value_218
) {
9854 fra
.me
.REG
[6] = BOX_NativeString("output");
9856 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9857 once_value_218
= fra
.me
.REG
[6];
9858 register_static_object(&once_value_218
);
9859 } else fra
.me
.REG
[6] = once_value_218
;
9860 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9861 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9862 once_value_217
= fra
.me
.REG
[6];
9863 register_static_object(&once_value_217
);
9864 } else fra
.me
.REG
[6] = once_value_217
;
9865 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9866 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9867 if (UNTAG_Bool(REGB1
)) {
9869 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9872 if (UNTAG_Bool(REGB1
)) {
9873 /* ./compiling//compiling_icode.nit:801 */
9875 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9876 if (!once_value_219
) {
9877 fra
.me
.REG
[7] = BOX_NativeString("printf(\"%c\", (unsigned char)UNTAG_Char(");
9878 REGB1
= TAG_Int(39);
9879 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9880 once_value_219
= fra
.me
.REG
[7];
9881 register_static_object(&once_value_219
);
9882 } else fra
.me
.REG
[7] = once_value_219
;
9883 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9884 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9886 /* ./../lib/standard//collection//array.nit:278 */
9887 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9888 /* ./../lib/standard//collection//array.nit:280 */
9890 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9891 if (UNTAG_Bool(REGB0
)) {
9893 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9895 /* ./../lib/standard//kernel.nit:233 */
9896 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9897 /* ./../lib/standard//collection//array.nit:280 */
9898 if (UNTAG_Bool(REGB2
)) {
9899 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9900 if (UNTAG_Bool(REGB2
)) {
9902 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9904 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9905 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9906 if (UNTAG_Bool(REGB0
)) {
9908 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9910 /* ./../lib/standard//kernel.nit:232 */
9911 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9913 /* ./../lib/standard//collection//array.nit:280 */
9914 REGB0
= TAG_Bool(false);
9917 if (UNTAG_Bool(REGB2
)) {
9919 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
9921 /* ./../lib/standard//collection//array.nit:281 */
9922 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9923 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9924 if (UNTAG_Bool(REGB2
)) {
9925 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9927 /* ./../lib/standard//collection//array.nit:718 */
9928 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9929 /* ./../lib/standard//collection//array.nit:281 */
9932 /* ./compiling//compiling_icode.nit:801 */
9933 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9934 if (!once_value_221
) {
9935 fra
.me
.REG
[7] = BOX_NativeString("));");
9937 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9938 once_value_221
= fra
.me
.REG
[7];
9939 register_static_object(&once_value_221
);
9940 } else fra
.me
.REG
[7] = once_value_221
;
9941 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9942 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9943 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9944 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9946 /* ./compiling//compiling_icode.nit:802 */
9947 if (!once_value_222
) {
9948 if (!once_value_223
) {
9949 fra
.me
.REG
[6] = BOX_NativeString("ascii");
9951 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9952 once_value_223
= fra
.me
.REG
[6];
9953 register_static_object(&once_value_223
);
9954 } else fra
.me
.REG
[6] = once_value_223
;
9955 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9956 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9957 once_value_222
= fra
.me
.REG
[6];
9958 register_static_object(&once_value_222
);
9959 } else fra
.me
.REG
[6] = once_value_222
;
9960 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9961 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9962 if (UNTAG_Bool(REGB1
)) {
9964 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9967 if (UNTAG_Bool(REGB1
)) {
9968 /* ./compiling//compiling_icode.nit:803 */
9970 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9971 if (!once_value_224
) {
9972 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int((unsigned char)UNTAG_Char(");
9973 REGB1
= TAG_Int(34);
9974 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9975 once_value_224
= fra
.me
.REG
[7];
9976 register_static_object(&once_value_224
);
9977 } else fra
.me
.REG
[7] = once_value_224
;
9978 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9979 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9981 /* ./../lib/standard//collection//array.nit:278 */
9982 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9983 /* ./../lib/standard//collection//array.nit:280 */
9985 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9986 if (UNTAG_Bool(REGB0
)) {
9988 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9990 /* ./../lib/standard//kernel.nit:233 */
9991 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9992 /* ./../lib/standard//collection//array.nit:280 */
9993 if (UNTAG_Bool(REGB2
)) {
9994 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9995 if (UNTAG_Bool(REGB2
)) {
9997 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9999 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10000 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10001 if (UNTAG_Bool(REGB0
)) {
10003 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10005 /* ./../lib/standard//kernel.nit:232 */
10006 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10008 /* ./../lib/standard//collection//array.nit:280 */
10009 REGB0
= TAG_Bool(false);
10012 if (UNTAG_Bool(REGB2
)) {
10014 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10016 /* ./../lib/standard//collection//array.nit:281 */
10017 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10018 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10019 if (UNTAG_Bool(REGB2
)) {
10020 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10022 /* ./../lib/standard//collection//array.nit:718 */
10023 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10024 /* ./../lib/standard//collection//array.nit:281 */
10026 label225
: while(0);
10027 /* ./compiling//compiling_icode.nit:803 */
10028 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10029 if (!once_value_226
) {
10030 fra
.me
.REG
[7] = BOX_NativeString("))");
10031 REGB1
= TAG_Int(2);
10032 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10033 once_value_226
= fra
.me
.REG
[7];
10034 register_static_object(&once_value_226
);
10035 } else fra
.me
.REG
[7] = once_value_226
;
10036 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10037 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10038 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10039 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10041 /* ./compiling//compiling_icode.nit:804 */
10042 if (!once_value_227
) {
10043 if (!once_value_228
) {
10044 fra
.me
.REG
[6] = BOX_NativeString("succ");
10045 REGB1
= TAG_Int(4);
10046 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10047 once_value_228
= fra
.me
.REG
[6];
10048 register_static_object(&once_value_228
);
10049 } else fra
.me
.REG
[6] = once_value_228
;
10050 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10051 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10052 once_value_227
= fra
.me
.REG
[6];
10053 register_static_object(&once_value_227
);
10054 } else fra
.me
.REG
[6] = once_value_227
;
10055 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10056 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10057 if (UNTAG_Bool(REGB1
)) {
10059 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10062 if (UNTAG_Bool(REGB1
)) {
10063 /* ./compiling//compiling_icode.nit:805 */
10064 REGB1
= TAG_Int(3);
10065 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10066 if (!once_value_229
) {
10067 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10068 REGB1
= TAG_Int(20);
10069 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10070 once_value_229
= fra
.me
.REG
[7];
10071 register_static_object(&once_value_229
);
10072 } else fra
.me
.REG
[7] = once_value_229
;
10073 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10074 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10075 REGB1
= TAG_Int(0);
10076 /* ./../lib/standard//collection//array.nit:278 */
10077 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10078 /* ./../lib/standard//collection//array.nit:280 */
10079 REGB2
= TAG_Int(0);
10080 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10081 if (UNTAG_Bool(REGB0
)) {
10083 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10085 /* ./../lib/standard//kernel.nit:233 */
10086 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10087 /* ./../lib/standard//collection//array.nit:280 */
10088 if (UNTAG_Bool(REGB2
)) {
10089 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10090 if (UNTAG_Bool(REGB2
)) {
10092 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10094 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10095 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10096 if (UNTAG_Bool(REGB0
)) {
10098 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10100 /* ./../lib/standard//kernel.nit:232 */
10101 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10103 /* ./../lib/standard//collection//array.nit:280 */
10104 REGB0
= TAG_Bool(false);
10107 if (UNTAG_Bool(REGB2
)) {
10109 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10111 /* ./../lib/standard//collection//array.nit:281 */
10112 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10113 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10114 if (UNTAG_Bool(REGB2
)) {
10115 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10117 /* ./../lib/standard//collection//array.nit:718 */
10118 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10119 /* ./../lib/standard//collection//array.nit:281 */
10121 label230
: while(0);
10122 /* ./compiling//compiling_icode.nit:805 */
10123 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10124 if (!once_value_231
) {
10125 fra
.me
.REG
[7] = BOX_NativeString(")+1)");
10126 REGB1
= TAG_Int(4);
10127 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10128 once_value_231
= fra
.me
.REG
[7];
10129 register_static_object(&once_value_231
);
10130 } else fra
.me
.REG
[7] = once_value_231
;
10131 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10132 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10133 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10134 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10136 /* ./compiling//compiling_icode.nit:806 */
10137 if (!once_value_232
) {
10138 if (!once_value_233
) {
10139 fra
.me
.REG
[6] = BOX_NativeString("prec");
10140 REGB1
= TAG_Int(4);
10141 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10142 once_value_233
= fra
.me
.REG
[6];
10143 register_static_object(&once_value_233
);
10144 } else fra
.me
.REG
[6] = once_value_233
;
10145 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10146 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10147 once_value_232
= fra
.me
.REG
[6];
10148 register_static_object(&once_value_232
);
10149 } else fra
.me
.REG
[6] = once_value_232
;
10150 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10151 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10152 if (UNTAG_Bool(REGB1
)) {
10154 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10157 if (UNTAG_Bool(REGB1
)) {
10158 /* ./compiling//compiling_icode.nit:807 */
10159 REGB1
= TAG_Int(3);
10160 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10161 if (!once_value_234
) {
10162 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10163 REGB1
= TAG_Int(20);
10164 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10165 once_value_234
= fra
.me
.REG
[7];
10166 register_static_object(&once_value_234
);
10167 } else fra
.me
.REG
[7] = once_value_234
;
10168 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10169 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10170 REGB1
= TAG_Int(0);
10171 /* ./../lib/standard//collection//array.nit:278 */
10172 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10173 /* ./../lib/standard//collection//array.nit:280 */
10174 REGB2
= TAG_Int(0);
10175 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10176 if (UNTAG_Bool(REGB0
)) {
10178 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10180 /* ./../lib/standard//kernel.nit:233 */
10181 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10182 /* ./../lib/standard//collection//array.nit:280 */
10183 if (UNTAG_Bool(REGB2
)) {
10184 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10185 if (UNTAG_Bool(REGB2
)) {
10187 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10189 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10190 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10191 if (UNTAG_Bool(REGB0
)) {
10193 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10195 /* ./../lib/standard//kernel.nit:232 */
10196 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10198 /* ./../lib/standard//collection//array.nit:280 */
10199 REGB0
= TAG_Bool(false);
10202 if (UNTAG_Bool(REGB2
)) {
10204 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10206 /* ./../lib/standard//collection//array.nit:281 */
10207 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10208 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10209 if (UNTAG_Bool(REGB2
)) {
10210 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10212 /* ./../lib/standard//collection//array.nit:718 */
10213 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10214 /* ./../lib/standard//collection//array.nit:281 */
10216 label235
: while(0);
10217 /* ./compiling//compiling_icode.nit:807 */
10218 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10219 if (!once_value_236
) {
10220 fra
.me
.REG
[7] = BOX_NativeString(")-1)");
10221 REGB1
= TAG_Int(4);
10222 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10223 once_value_236
= fra
.me
.REG
[7];
10224 register_static_object(&once_value_236
);
10225 } else fra
.me
.REG
[7] = once_value_236
;
10226 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10227 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10228 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10229 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10231 /* ./compiling//compiling_icode.nit:808 */
10232 if (!once_value_237
) {
10233 if (!once_value_238
) {
10234 fra
.me
.REG
[6] = BOX_NativeString("to_i");
10235 REGB1
= TAG_Int(4);
10236 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10237 once_value_238
= fra
.me
.REG
[6];
10238 register_static_object(&once_value_238
);
10239 } else fra
.me
.REG
[6] = once_value_238
;
10240 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10241 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10242 once_value_237
= fra
.me
.REG
[6];
10243 register_static_object(&once_value_237
);
10244 } else fra
.me
.REG
[6] = once_value_237
;
10245 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10246 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10247 if (UNTAG_Bool(REGB1
)) {
10249 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10252 if (UNTAG_Bool(REGB1
)) {
10253 /* ./compiling//compiling_icode.nit:809 */
10254 REGB1
= TAG_Int(3);
10255 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10256 if (!once_value_239
) {
10257 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Char(");
10258 REGB1
= TAG_Int(19);
10259 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10260 once_value_239
= fra
.me
.REG
[7];
10261 register_static_object(&once_value_239
);
10262 } else fra
.me
.REG
[7] = once_value_239
;
10263 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10264 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10265 REGB1
= TAG_Int(0);
10266 /* ./../lib/standard//collection//array.nit:278 */
10267 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10268 /* ./../lib/standard//collection//array.nit:280 */
10269 REGB2
= TAG_Int(0);
10270 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10271 if (UNTAG_Bool(REGB0
)) {
10273 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10275 /* ./../lib/standard//kernel.nit:233 */
10276 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10277 /* ./../lib/standard//collection//array.nit:280 */
10278 if (UNTAG_Bool(REGB2
)) {
10279 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10280 if (UNTAG_Bool(REGB2
)) {
10282 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10284 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10285 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10286 if (UNTAG_Bool(REGB0
)) {
10288 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10290 /* ./../lib/standard//kernel.nit:232 */
10291 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10293 /* ./../lib/standard//collection//array.nit:280 */
10294 REGB0
= TAG_Bool(false);
10297 if (UNTAG_Bool(REGB2
)) {
10299 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10301 /* ./../lib/standard//collection//array.nit:281 */
10302 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10303 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10304 if (UNTAG_Bool(REGB2
)) {
10305 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10307 /* ./../lib/standard//collection//array.nit:718 */
10308 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10309 /* ./../lib/standard//collection//array.nit:281 */
10311 label240
: while(0);
10312 /* ./compiling//compiling_icode.nit:809 */
10313 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10314 if (!once_value_241
) {
10315 fra
.me
.REG
[7] = BOX_NativeString(")-'0')");
10316 REGB1
= TAG_Int(6);
10317 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10318 once_value_241
= fra
.me
.REG
[7];
10319 register_static_object(&once_value_241
);
10320 } else fra
.me
.REG
[7] = once_value_241
;
10321 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10322 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10323 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10324 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10326 /* ./compiling//compiling_icode.nit:810 */
10327 if (!once_value_242
) {
10328 if (!once_value_243
) {
10329 fra
.me
.REG
[6] = BOX_NativeString("+");
10330 REGB1
= TAG_Int(1);
10331 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10332 once_value_243
= fra
.me
.REG
[6];
10333 register_static_object(&once_value_243
);
10334 } else fra
.me
.REG
[6] = once_value_243
;
10335 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10336 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10337 once_value_242
= fra
.me
.REG
[6];
10338 register_static_object(&once_value_242
);
10339 } else fra
.me
.REG
[6] = once_value_242
;
10340 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10341 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10342 if (UNTAG_Bool(REGB1
)) {
10344 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10347 if (UNTAG_Bool(REGB1
)) {
10348 /* ./compiling//compiling_icode.nit:811 */
10349 REGB1
= TAG_Int(5);
10350 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10351 if (!once_value_244
) {
10352 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10353 REGB1
= TAG_Int(20);
10354 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10355 once_value_244
= fra
.me
.REG
[7];
10356 register_static_object(&once_value_244
);
10357 } else fra
.me
.REG
[7] = once_value_244
;
10358 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10359 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10360 REGB1
= TAG_Int(0);
10361 /* ./../lib/standard//collection//array.nit:278 */
10362 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10363 /* ./../lib/standard//collection//array.nit:280 */
10364 REGB2
= TAG_Int(0);
10365 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10366 if (UNTAG_Bool(REGB0
)) {
10368 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10370 /* ./../lib/standard//kernel.nit:233 */
10371 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10372 /* ./../lib/standard//collection//array.nit:280 */
10373 if (UNTAG_Bool(REGB2
)) {
10374 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10375 if (UNTAG_Bool(REGB2
)) {
10377 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10379 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10380 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10381 if (UNTAG_Bool(REGB0
)) {
10383 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10385 /* ./../lib/standard//kernel.nit:232 */
10386 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10388 /* ./../lib/standard//collection//array.nit:280 */
10389 REGB0
= TAG_Bool(false);
10392 if (UNTAG_Bool(REGB2
)) {
10394 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10396 /* ./../lib/standard//collection//array.nit:281 */
10397 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10398 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10399 if (UNTAG_Bool(REGB2
)) {
10400 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10402 /* ./../lib/standard//collection//array.nit:718 */
10403 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10404 /* ./../lib/standard//collection//array.nit:281 */
10406 label245
: while(0);
10407 /* ./compiling//compiling_icode.nit:811 */
10408 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10409 if (!once_value_246
) {
10410 fra
.me
.REG
[7] = BOX_NativeString(")+UNTAG_Char(");
10411 REGB1
= TAG_Int(13);
10412 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10413 once_value_246
= fra
.me
.REG
[7];
10414 register_static_object(&once_value_246
);
10415 } else fra
.me
.REG
[7] = once_value_246
;
10416 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10417 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10418 REGB1
= TAG_Int(1);
10419 /* ./../lib/standard//collection//array.nit:278 */
10420 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10421 /* ./../lib/standard//collection//array.nit:280 */
10422 REGB2
= TAG_Int(0);
10423 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10424 if (UNTAG_Bool(REGB0
)) {
10426 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10428 /* ./../lib/standard//kernel.nit:233 */
10429 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10430 /* ./../lib/standard//collection//array.nit:280 */
10431 if (UNTAG_Bool(REGB2
)) {
10432 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10433 if (UNTAG_Bool(REGB2
)) {
10435 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10437 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
10444 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10446 /* ./../lib/standard//collection//array.nit:280 */
10447 REGB0
= TAG_Bool(false);
10450 if (UNTAG_Bool(REGB2
)) {
10452 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10454 /* ./../lib/standard//collection//array.nit:281 */
10455 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10456 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10457 if (UNTAG_Bool(REGB2
)) {
10458 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10460 /* ./../lib/standard//collection//array.nit:718 */
10461 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10462 /* ./../lib/standard//collection//array.nit:281 */
10464 label247
: while(0);
10465 /* ./compiling//compiling_icode.nit:811 */
10466 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10467 if (!once_value_248
) {
10468 fra
.me
.REG
[7] = BOX_NativeString("))");
10469 REGB1
= TAG_Int(2);
10470 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10471 once_value_248
= fra
.me
.REG
[7];
10472 register_static_object(&once_value_248
);
10473 } else fra
.me
.REG
[7] = once_value_248
;
10474 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10475 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10476 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10477 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10479 /* ./compiling//compiling_icode.nit:812 */
10480 if (!once_value_249
) {
10481 if (!once_value_250
) {
10482 fra
.me
.REG
[6] = BOX_NativeString("-");
10483 REGB1
= TAG_Int(1);
10484 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10485 once_value_250
= fra
.me
.REG
[6];
10486 register_static_object(&once_value_250
);
10487 } else fra
.me
.REG
[6] = once_value_250
;
10488 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10489 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10490 once_value_249
= fra
.me
.REG
[6];
10491 register_static_object(&once_value_249
);
10492 } else fra
.me
.REG
[6] = once_value_249
;
10493 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10494 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10495 if (UNTAG_Bool(REGB1
)) {
10497 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10500 if (UNTAG_Bool(REGB1
)) {
10501 /* ./compiling//compiling_icode.nit:813 */
10502 REGB1
= TAG_Int(5);
10503 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10504 if (!once_value_251
) {
10505 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10506 REGB1
= TAG_Int(20);
10507 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10508 once_value_251
= fra
.me
.REG
[7];
10509 register_static_object(&once_value_251
);
10510 } else fra
.me
.REG
[7] = once_value_251
;
10511 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10512 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10513 REGB1
= TAG_Int(0);
10514 /* ./../lib/standard//collection//array.nit:278 */
10515 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10516 /* ./../lib/standard//collection//array.nit:280 */
10517 REGB2
= TAG_Int(0);
10518 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10519 if (UNTAG_Bool(REGB0
)) {
10521 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10523 /* ./../lib/standard//kernel.nit:233 */
10524 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10525 /* ./../lib/standard//collection//array.nit:280 */
10526 if (UNTAG_Bool(REGB2
)) {
10527 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10528 if (UNTAG_Bool(REGB2
)) {
10530 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10532 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10533 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10534 if (UNTAG_Bool(REGB0
)) {
10536 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10538 /* ./../lib/standard//kernel.nit:232 */
10539 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10541 /* ./../lib/standard//collection//array.nit:280 */
10542 REGB0
= TAG_Bool(false);
10545 if (UNTAG_Bool(REGB2
)) {
10547 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10549 /* ./../lib/standard//collection//array.nit:281 */
10550 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10551 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10552 if (UNTAG_Bool(REGB2
)) {
10553 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10555 /* ./../lib/standard//collection//array.nit:718 */
10556 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10557 /* ./../lib/standard//collection//array.nit:281 */
10559 label252
: while(0);
10560 /* ./compiling//compiling_icode.nit:813 */
10561 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10562 if (!once_value_253
) {
10563 fra
.me
.REG
[7] = BOX_NativeString(")-UNTAG_Char(");
10564 REGB1
= TAG_Int(13);
10565 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10566 once_value_253
= fra
.me
.REG
[7];
10567 register_static_object(&once_value_253
);
10568 } else fra
.me
.REG
[7] = once_value_253
;
10569 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10570 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10571 REGB1
= TAG_Int(1);
10572 /* ./../lib/standard//collection//array.nit:278 */
10573 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10574 /* ./../lib/standard//collection//array.nit:280 */
10575 REGB2
= TAG_Int(0);
10576 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10577 if (UNTAG_Bool(REGB0
)) {
10579 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10581 /* ./../lib/standard//kernel.nit:233 */
10582 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10583 /* ./../lib/standard//collection//array.nit:280 */
10584 if (UNTAG_Bool(REGB2
)) {
10585 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10586 if (UNTAG_Bool(REGB2
)) {
10588 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10590 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
10597 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10599 /* ./../lib/standard//collection//array.nit:280 */
10600 REGB0
= TAG_Bool(false);
10603 if (UNTAG_Bool(REGB2
)) {
10605 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10607 /* ./../lib/standard//collection//array.nit:281 */
10608 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10609 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10610 if (UNTAG_Bool(REGB2
)) {
10611 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10613 /* ./../lib/standard//collection//array.nit:718 */
10614 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10615 /* ./../lib/standard//collection//array.nit:281 */
10617 label254
: while(0);
10618 /* ./compiling//compiling_icode.nit:813 */
10619 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10620 if (!once_value_255
) {
10621 fra
.me
.REG
[7] = BOX_NativeString("))");
10622 REGB1
= TAG_Int(2);
10623 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10624 once_value_255
= fra
.me
.REG
[7];
10625 register_static_object(&once_value_255
);
10626 } else fra
.me
.REG
[7] = once_value_255
;
10627 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10628 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10629 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10630 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10632 /* ./compiling//compiling_icode.nit:814 */
10633 if (!once_value_256
) {
10634 if (!once_value_257
) {
10635 fra
.me
.REG
[6] = BOX_NativeString("*");
10636 REGB1
= TAG_Int(1);
10637 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10638 once_value_257
= fra
.me
.REG
[6];
10639 register_static_object(&once_value_257
);
10640 } else fra
.me
.REG
[6] = once_value_257
;
10641 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10642 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10643 once_value_256
= fra
.me
.REG
[6];
10644 register_static_object(&once_value_256
);
10645 } else fra
.me
.REG
[6] = once_value_256
;
10646 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10647 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10648 if (UNTAG_Bool(REGB1
)) {
10650 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10653 if (UNTAG_Bool(REGB1
)) {
10654 /* ./compiling//compiling_icode.nit:815 */
10655 REGB1
= TAG_Int(5);
10656 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10657 if (!once_value_258
) {
10658 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10659 REGB1
= TAG_Int(20);
10660 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10661 once_value_258
= fra
.me
.REG
[7];
10662 register_static_object(&once_value_258
);
10663 } else fra
.me
.REG
[7] = once_value_258
;
10664 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10665 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10666 REGB1
= TAG_Int(0);
10667 /* ./../lib/standard//collection//array.nit:278 */
10668 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10669 /* ./../lib/standard//collection//array.nit:280 */
10670 REGB2
= TAG_Int(0);
10671 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10672 if (UNTAG_Bool(REGB0
)) {
10674 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10676 /* ./../lib/standard//kernel.nit:233 */
10677 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10678 /* ./../lib/standard//collection//array.nit:280 */
10679 if (UNTAG_Bool(REGB2
)) {
10680 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10681 if (UNTAG_Bool(REGB2
)) {
10683 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10685 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10686 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10687 if (UNTAG_Bool(REGB0
)) {
10689 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10691 /* ./../lib/standard//kernel.nit:232 */
10692 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10694 /* ./../lib/standard//collection//array.nit:280 */
10695 REGB0
= TAG_Bool(false);
10698 if (UNTAG_Bool(REGB2
)) {
10700 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10702 /* ./../lib/standard//collection//array.nit:281 */
10703 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10704 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10705 if (UNTAG_Bool(REGB2
)) {
10706 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10708 /* ./../lib/standard//collection//array.nit:718 */
10709 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10710 /* ./../lib/standard//collection//array.nit:281 */
10712 label259
: while(0);
10713 /* ./compiling//compiling_icode.nit:815 */
10714 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10715 if (!once_value_260
) {
10716 fra
.me
.REG
[7] = BOX_NativeString(")*UNTAG_Char(");
10717 REGB1
= TAG_Int(13);
10718 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10719 once_value_260
= fra
.me
.REG
[7];
10720 register_static_object(&once_value_260
);
10721 } else fra
.me
.REG
[7] = once_value_260
;
10722 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10723 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10724 REGB1
= TAG_Int(1);
10725 /* ./../lib/standard//collection//array.nit:278 */
10726 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10727 /* ./../lib/standard//collection//array.nit:280 */
10728 REGB2
= TAG_Int(0);
10729 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10730 if (UNTAG_Bool(REGB0
)) {
10732 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10734 /* ./../lib/standard//kernel.nit:233 */
10735 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10736 /* ./../lib/standard//collection//array.nit:280 */
10737 if (UNTAG_Bool(REGB2
)) {
10738 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10739 if (UNTAG_Bool(REGB2
)) {
10741 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10743 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
10750 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10752 /* ./../lib/standard//collection//array.nit:280 */
10753 REGB0
= TAG_Bool(false);
10756 if (UNTAG_Bool(REGB2
)) {
10758 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10760 /* ./../lib/standard//collection//array.nit:281 */
10761 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10762 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10763 if (UNTAG_Bool(REGB2
)) {
10764 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10766 /* ./../lib/standard//collection//array.nit:718 */
10767 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10768 /* ./../lib/standard//collection//array.nit:281 */
10770 label261
: while(0);
10771 /* ./compiling//compiling_icode.nit:815 */
10772 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10773 if (!once_value_262
) {
10774 fra
.me
.REG
[7] = BOX_NativeString("))");
10775 REGB1
= TAG_Int(2);
10776 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10777 once_value_262
= fra
.me
.REG
[7];
10778 register_static_object(&once_value_262
);
10779 } else fra
.me
.REG
[7] = once_value_262
;
10780 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10781 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10782 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10783 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10785 /* ./compiling//compiling_icode.nit:816 */
10786 if (!once_value_263
) {
10787 if (!once_value_264
) {
10788 fra
.me
.REG
[6] = BOX_NativeString("/");
10789 REGB1
= TAG_Int(1);
10790 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10791 once_value_264
= fra
.me
.REG
[6];
10792 register_static_object(&once_value_264
);
10793 } else fra
.me
.REG
[6] = once_value_264
;
10794 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10795 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10796 once_value_263
= fra
.me
.REG
[6];
10797 register_static_object(&once_value_263
);
10798 } else fra
.me
.REG
[6] = once_value_263
;
10799 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10800 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10801 if (UNTAG_Bool(REGB1
)) {
10803 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10806 if (UNTAG_Bool(REGB1
)) {
10807 /* ./compiling//compiling_icode.nit:817 */
10808 REGB1
= TAG_Int(5);
10809 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10810 if (!once_value_265
) {
10811 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10812 REGB1
= TAG_Int(20);
10813 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10814 once_value_265
= fra
.me
.REG
[7];
10815 register_static_object(&once_value_265
);
10816 } else fra
.me
.REG
[7] = once_value_265
;
10817 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10818 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10819 REGB1
= TAG_Int(0);
10820 /* ./../lib/standard//collection//array.nit:278 */
10821 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10822 /* ./../lib/standard//collection//array.nit:280 */
10823 REGB2
= TAG_Int(0);
10824 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10825 if (UNTAG_Bool(REGB0
)) {
10827 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10829 /* ./../lib/standard//kernel.nit:233 */
10830 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10831 /* ./../lib/standard//collection//array.nit:280 */
10832 if (UNTAG_Bool(REGB2
)) {
10833 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10834 if (UNTAG_Bool(REGB2
)) {
10836 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10838 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10839 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10840 if (UNTAG_Bool(REGB0
)) {
10842 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10844 /* ./../lib/standard//kernel.nit:232 */
10845 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10847 /* ./../lib/standard//collection//array.nit:280 */
10848 REGB0
= TAG_Bool(false);
10851 if (UNTAG_Bool(REGB2
)) {
10853 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10855 /* ./../lib/standard//collection//array.nit:281 */
10856 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10857 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10858 if (UNTAG_Bool(REGB2
)) {
10859 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10861 /* ./../lib/standard//collection//array.nit:718 */
10862 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10863 /* ./../lib/standard//collection//array.nit:281 */
10865 label266
: while(0);
10866 /* ./compiling//compiling_icode.nit:817 */
10867 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10868 if (!once_value_267
) {
10869 fra
.me
.REG
[7] = BOX_NativeString(")/UNTAG_Char(");
10870 REGB1
= TAG_Int(13);
10871 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10872 once_value_267
= fra
.me
.REG
[7];
10873 register_static_object(&once_value_267
);
10874 } else fra
.me
.REG
[7] = once_value_267
;
10875 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10876 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10877 REGB1
= TAG_Int(1);
10878 /* ./../lib/standard//collection//array.nit:278 */
10879 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10880 /* ./../lib/standard//collection//array.nit:280 */
10881 REGB2
= TAG_Int(0);
10882 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10883 if (UNTAG_Bool(REGB0
)) {
10885 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10887 /* ./../lib/standard//kernel.nit:233 */
10888 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10889 /* ./../lib/standard//collection//array.nit:280 */
10890 if (UNTAG_Bool(REGB2
)) {
10891 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10892 if (UNTAG_Bool(REGB2
)) {
10894 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10896 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
10903 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10905 /* ./../lib/standard//collection//array.nit:280 */
10906 REGB0
= TAG_Bool(false);
10909 if (UNTAG_Bool(REGB2
)) {
10911 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
10913 /* ./../lib/standard//collection//array.nit:281 */
10914 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10915 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10916 if (UNTAG_Bool(REGB2
)) {
10917 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10919 /* ./../lib/standard//collection//array.nit:718 */
10920 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10921 /* ./../lib/standard//collection//array.nit:281 */
10923 label268
: while(0);
10924 /* ./compiling//compiling_icode.nit:817 */
10925 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10926 if (!once_value_269
) {
10927 fra
.me
.REG
[7] = BOX_NativeString("))");
10928 REGB1
= TAG_Int(2);
10929 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10930 once_value_269
= fra
.me
.REG
[7];
10931 register_static_object(&once_value_269
);
10932 } else fra
.me
.REG
[7] = once_value_269
;
10933 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10934 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10935 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10936 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10938 /* ./compiling//compiling_icode.nit:818 */
10939 if (!once_value_270
) {
10940 if (!once_value_271
) {
10941 fra
.me
.REG
[6] = BOX_NativeString("%");
10942 REGB1
= TAG_Int(1);
10943 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10944 once_value_271
= fra
.me
.REG
[6];
10945 register_static_object(&once_value_271
);
10946 } else fra
.me
.REG
[6] = once_value_271
;
10947 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10948 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10949 once_value_270
= fra
.me
.REG
[6];
10950 register_static_object(&once_value_270
);
10951 } else fra
.me
.REG
[6] = once_value_270
;
10952 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10953 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10954 if (UNTAG_Bool(REGB1
)) {
10956 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10959 if (UNTAG_Bool(REGB1
)) {
10960 /* ./compiling//compiling_icode.nit:819 */
10961 REGB1
= TAG_Int(5);
10962 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10963 if (!once_value_272
) {
10964 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10965 REGB1
= TAG_Int(20);
10966 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10967 once_value_272
= fra
.me
.REG
[7];
10968 register_static_object(&once_value_272
);
10969 } else fra
.me
.REG
[7] = once_value_272
;
10970 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10971 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10972 REGB1
= TAG_Int(0);
10973 /* ./../lib/standard//collection//array.nit:278 */
10974 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10975 /* ./../lib/standard//collection//array.nit:280 */
10976 REGB2
= TAG_Int(0);
10977 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10978 if (UNTAG_Bool(REGB0
)) {
10980 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10982 /* ./../lib/standard//kernel.nit:233 */
10983 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10984 /* ./../lib/standard//collection//array.nit:280 */
10985 if (UNTAG_Bool(REGB2
)) {
10986 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10987 if (UNTAG_Bool(REGB2
)) {
10989 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10991 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10992 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10993 if (UNTAG_Bool(REGB0
)) {
10995 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10997 /* ./../lib/standard//kernel.nit:232 */
10998 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11000 /* ./../lib/standard//collection//array.nit:280 */
11001 REGB0
= TAG_Bool(false);
11004 if (UNTAG_Bool(REGB2
)) {
11006 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11008 /* ./../lib/standard//collection//array.nit:281 */
11009 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11010 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11011 if (UNTAG_Bool(REGB2
)) {
11012 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11014 /* ./../lib/standard//collection//array.nit:718 */
11015 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11016 /* ./../lib/standard//collection//array.nit:281 */
11018 label273
: while(0);
11019 /* ./compiling//compiling_icode.nit:819 */
11020 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11021 if (!once_value_274
) {
11022 fra
.me
.REG
[7] = BOX_NativeString(")%UNTAG_Char(");
11023 REGB1
= TAG_Int(13);
11024 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11025 once_value_274
= fra
.me
.REG
[7];
11026 register_static_object(&once_value_274
);
11027 } else fra
.me
.REG
[7] = once_value_274
;
11028 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11029 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11030 REGB1
= TAG_Int(1);
11031 /* ./../lib/standard//collection//array.nit:278 */
11032 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11033 /* ./../lib/standard//collection//array.nit:280 */
11034 REGB2
= TAG_Int(0);
11035 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11036 if (UNTAG_Bool(REGB0
)) {
11038 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11040 /* ./../lib/standard//kernel.nit:233 */
11041 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11042 /* ./../lib/standard//collection//array.nit:280 */
11043 if (UNTAG_Bool(REGB2
)) {
11044 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11045 if (UNTAG_Bool(REGB2
)) {
11047 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11049 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
11056 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11058 /* ./../lib/standard//collection//array.nit:280 */
11059 REGB0
= TAG_Bool(false);
11062 if (UNTAG_Bool(REGB2
)) {
11064 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11066 /* ./../lib/standard//collection//array.nit:281 */
11067 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11068 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11069 if (UNTAG_Bool(REGB2
)) {
11070 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11072 /* ./../lib/standard//collection//array.nit:718 */
11073 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11074 /* ./../lib/standard//collection//array.nit:281 */
11076 label275
: while(0);
11077 /* ./compiling//compiling_icode.nit:819 */
11078 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11079 if (!once_value_276
) {
11080 fra
.me
.REG
[7] = BOX_NativeString("))");
11081 REGB1
= TAG_Int(2);
11082 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11083 once_value_276
= fra
.me
.REG
[7];
11084 register_static_object(&once_value_276
);
11085 } else fra
.me
.REG
[7] = once_value_276
;
11086 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11087 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11088 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11089 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11091 /* ./compiling//compiling_icode.nit:820 */
11092 if (!once_value_277
) {
11093 if (!once_value_278
) {
11094 fra
.me
.REG
[6] = BOX_NativeString("<");
11095 REGB1
= TAG_Int(1);
11096 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
11097 once_value_278
= fra
.me
.REG
[6];
11098 register_static_object(&once_value_278
);
11099 } else fra
.me
.REG
[6] = once_value_278
;
11100 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11101 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11102 once_value_277
= fra
.me
.REG
[6];
11103 register_static_object(&once_value_277
);
11104 } else fra
.me
.REG
[6] = once_value_277
;
11105 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11106 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11107 if (UNTAG_Bool(REGB1
)) {
11109 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11112 if (UNTAG_Bool(REGB1
)) {
11113 /* ./compiling//compiling_icode.nit:821 */
11114 REGB1
= TAG_Int(5);
11115 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11116 if (!once_value_279
) {
11117 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Char(");
11118 REGB1
= TAG_Int(20);
11119 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11120 once_value_279
= fra
.me
.REG
[7];
11121 register_static_object(&once_value_279
);
11122 } else fra
.me
.REG
[7] = once_value_279
;
11123 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11124 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11125 REGB1
= TAG_Int(0);
11126 /* ./../lib/standard//collection//array.nit:278 */
11127 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11128 /* ./../lib/standard//collection//array.nit:280 */
11129 REGB2
= TAG_Int(0);
11130 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11131 if (UNTAG_Bool(REGB0
)) {
11133 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11135 /* ./../lib/standard//kernel.nit:233 */
11136 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11137 /* ./../lib/standard//collection//array.nit:280 */
11138 if (UNTAG_Bool(REGB2
)) {
11139 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11140 if (UNTAG_Bool(REGB2
)) {
11142 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11144 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11145 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11146 if (UNTAG_Bool(REGB0
)) {
11148 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11150 /* ./../lib/standard//kernel.nit:232 */
11151 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11153 /* ./../lib/standard//collection//array.nit:280 */
11154 REGB0
= TAG_Bool(false);
11157 if (UNTAG_Bool(REGB2
)) {
11159 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11161 /* ./../lib/standard//collection//array.nit:281 */
11162 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11163 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11164 if (UNTAG_Bool(REGB2
)) {
11165 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11167 /* ./../lib/standard//collection//array.nit:718 */
11168 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11169 /* ./../lib/standard//collection//array.nit:281 */
11171 label280
: while(0);
11172 /* ./compiling//compiling_icode.nit:821 */
11173 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11174 if (!once_value_281
) {
11175 fra
.me
.REG
[7] = BOX_NativeString(")<UNTAG_Char(");
11176 REGB1
= TAG_Int(13);
11177 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11178 once_value_281
= fra
.me
.REG
[7];
11179 register_static_object(&once_value_281
);
11180 } else fra
.me
.REG
[7] = once_value_281
;
11181 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11182 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11183 REGB1
= TAG_Int(1);
11184 /* ./../lib/standard//collection//array.nit:278 */
11185 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11186 /* ./../lib/standard//collection//array.nit:280 */
11187 REGB2
= TAG_Int(0);
11188 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11189 if (UNTAG_Bool(REGB0
)) {
11191 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11193 /* ./../lib/standard//kernel.nit:233 */
11194 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11195 /* ./../lib/standard//collection//array.nit:280 */
11196 if (UNTAG_Bool(REGB2
)) {
11197 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11198 if (UNTAG_Bool(REGB2
)) {
11200 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11202 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
11209 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11211 /* ./../lib/standard//collection//array.nit:280 */
11212 REGB0
= TAG_Bool(false);
11215 if (UNTAG_Bool(REGB2
)) {
11217 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11219 /* ./../lib/standard//collection//array.nit:281 */
11220 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11221 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11222 if (UNTAG_Bool(REGB2
)) {
11223 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11225 /* ./../lib/standard//collection//array.nit:718 */
11226 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11227 /* ./../lib/standard//collection//array.nit:281 */
11229 label282
: while(0);
11230 /* ./compiling//compiling_icode.nit:821 */
11231 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11232 if (!once_value_283
) {
11233 fra
.me
.REG
[7] = BOX_NativeString("))");
11234 REGB1
= TAG_Int(2);
11235 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11236 once_value_283
= fra
.me
.REG
[7];
11237 register_static_object(&once_value_283
);
11238 } else fra
.me
.REG
[7] = once_value_283
;
11239 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11240 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11241 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11242 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11244 /* ./compiling//compiling_icode.nit:822 */
11245 if (!once_value_284
) {
11246 if (!once_value_285
) {
11247 fra
.me
.REG
[6] = BOX_NativeString(">");
11248 REGB1
= TAG_Int(1);
11249 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
11250 once_value_285
= fra
.me
.REG
[6];
11251 register_static_object(&once_value_285
);
11252 } else fra
.me
.REG
[6] = once_value_285
;
11253 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11254 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11255 once_value_284
= fra
.me
.REG
[6];
11256 register_static_object(&once_value_284
);
11257 } else fra
.me
.REG
[6] = once_value_284
;
11258 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11259 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11260 if (UNTAG_Bool(REGB1
)) {
11262 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11265 if (UNTAG_Bool(REGB1
)) {
11266 /* ./compiling//compiling_icode.nit:823 */
11267 REGB1
= TAG_Int(5);
11268 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11269 if (!once_value_286
) {
11270 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Char(");
11271 REGB1
= TAG_Int(20);
11272 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11273 once_value_286
= fra
.me
.REG
[7];
11274 register_static_object(&once_value_286
);
11275 } else fra
.me
.REG
[7] = once_value_286
;
11276 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11277 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11278 REGB1
= TAG_Int(0);
11279 /* ./../lib/standard//collection//array.nit:278 */
11280 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11281 /* ./../lib/standard//collection//array.nit:280 */
11282 REGB2
= TAG_Int(0);
11283 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11284 if (UNTAG_Bool(REGB0
)) {
11286 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11288 /* ./../lib/standard//kernel.nit:233 */
11289 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11290 /* ./../lib/standard//collection//array.nit:280 */
11291 if (UNTAG_Bool(REGB2
)) {
11292 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11293 if (UNTAG_Bool(REGB2
)) {
11295 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11297 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11298 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11299 if (UNTAG_Bool(REGB0
)) {
11301 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11303 /* ./../lib/standard//kernel.nit:232 */
11304 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11306 /* ./../lib/standard//collection//array.nit:280 */
11307 REGB0
= TAG_Bool(false);
11310 if (UNTAG_Bool(REGB2
)) {
11312 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11314 /* ./../lib/standard//collection//array.nit:281 */
11315 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11316 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11317 if (UNTAG_Bool(REGB2
)) {
11318 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11320 /* ./../lib/standard//collection//array.nit:718 */
11321 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11322 /* ./../lib/standard//collection//array.nit:281 */
11324 label287
: while(0);
11325 /* ./compiling//compiling_icode.nit:823 */
11326 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11327 if (!once_value_288
) {
11328 fra
.me
.REG
[7] = BOX_NativeString(")>UNTAG_Char(");
11329 REGB1
= TAG_Int(13);
11330 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11331 once_value_288
= fra
.me
.REG
[7];
11332 register_static_object(&once_value_288
);
11333 } else fra
.me
.REG
[7] = once_value_288
;
11334 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11335 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11336 REGB1
= TAG_Int(1);
11337 /* ./../lib/standard//collection//array.nit:278 */
11338 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11339 /* ./../lib/standard//collection//array.nit:280 */
11340 REGB2
= TAG_Int(0);
11341 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11342 if (UNTAG_Bool(REGB0
)) {
11344 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11346 /* ./../lib/standard//kernel.nit:233 */
11347 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11348 /* ./../lib/standard//collection//array.nit:280 */
11349 if (UNTAG_Bool(REGB2
)) {
11350 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11351 if (UNTAG_Bool(REGB2
)) {
11353 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11355 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
11362 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11364 /* ./../lib/standard//collection//array.nit:280 */
11365 REGB0
= TAG_Bool(false);
11368 if (UNTAG_Bool(REGB2
)) {
11370 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11372 /* ./../lib/standard//collection//array.nit:281 */
11373 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11374 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11375 if (UNTAG_Bool(REGB2
)) {
11376 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11378 /* ./../lib/standard//collection//array.nit:718 */
11379 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11380 /* ./../lib/standard//collection//array.nit:281 */
11382 label289
: while(0);
11383 /* ./compiling//compiling_icode.nit:823 */
11384 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11385 if (!once_value_290
) {
11386 fra
.me
.REG
[7] = BOX_NativeString("))");
11387 REGB1
= TAG_Int(2);
11388 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11389 once_value_290
= fra
.me
.REG
[7];
11390 register_static_object(&once_value_290
);
11391 } else fra
.me
.REG
[7] = once_value_290
;
11392 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11393 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11394 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11395 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11397 /* ./compiling//compiling_icode.nit:824 */
11398 if (!once_value_291
) {
11399 if (!once_value_292
) {
11400 fra
.me
.REG
[6] = BOX_NativeString("<=");
11401 REGB1
= TAG_Int(2);
11402 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
11403 once_value_292
= fra
.me
.REG
[6];
11404 register_static_object(&once_value_292
);
11405 } else fra
.me
.REG
[6] = once_value_292
;
11406 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11407 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11408 once_value_291
= fra
.me
.REG
[6];
11409 register_static_object(&once_value_291
);
11410 } else fra
.me
.REG
[6] = once_value_291
;
11411 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11412 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11413 if (UNTAG_Bool(REGB1
)) {
11415 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11418 if (UNTAG_Bool(REGB1
)) {
11419 /* ./compiling//compiling_icode.nit:825 */
11420 REGB1
= TAG_Int(5);
11421 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11422 if (!once_value_293
) {
11423 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Char(");
11424 REGB1
= TAG_Int(20);
11425 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11426 once_value_293
= fra
.me
.REG
[7];
11427 register_static_object(&once_value_293
);
11428 } else fra
.me
.REG
[7] = once_value_293
;
11429 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11430 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11431 REGB1
= TAG_Int(0);
11432 /* ./../lib/standard//collection//array.nit:278 */
11433 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11434 /* ./../lib/standard//collection//array.nit:280 */
11435 REGB2
= TAG_Int(0);
11436 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11437 if (UNTAG_Bool(REGB0
)) {
11439 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11441 /* ./../lib/standard//kernel.nit:233 */
11442 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11443 /* ./../lib/standard//collection//array.nit:280 */
11444 if (UNTAG_Bool(REGB2
)) {
11445 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11446 if (UNTAG_Bool(REGB2
)) {
11448 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11450 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11451 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11452 if (UNTAG_Bool(REGB0
)) {
11454 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11456 /* ./../lib/standard//kernel.nit:232 */
11457 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11459 /* ./../lib/standard//collection//array.nit:280 */
11460 REGB0
= TAG_Bool(false);
11463 if (UNTAG_Bool(REGB2
)) {
11465 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11467 /* ./../lib/standard//collection//array.nit:281 */
11468 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11469 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11470 if (UNTAG_Bool(REGB2
)) {
11471 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11473 /* ./../lib/standard//collection//array.nit:718 */
11474 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11475 /* ./../lib/standard//collection//array.nit:281 */
11477 label294
: while(0);
11478 /* ./compiling//compiling_icode.nit:825 */
11479 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11480 if (!once_value_295
) {
11481 fra
.me
.REG
[7] = BOX_NativeString(")<=UNTAG_Char(");
11482 REGB1
= TAG_Int(14);
11483 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11484 once_value_295
= fra
.me
.REG
[7];
11485 register_static_object(&once_value_295
);
11486 } else fra
.me
.REG
[7] = once_value_295
;
11487 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11488 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11489 REGB1
= TAG_Int(1);
11490 /* ./../lib/standard//collection//array.nit:278 */
11491 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11492 /* ./../lib/standard//collection//array.nit:280 */
11493 REGB2
= TAG_Int(0);
11494 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11495 if (UNTAG_Bool(REGB0
)) {
11497 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11499 /* ./../lib/standard//kernel.nit:233 */
11500 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11501 /* ./../lib/standard//collection//array.nit:280 */
11502 if (UNTAG_Bool(REGB2
)) {
11503 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11504 if (UNTAG_Bool(REGB2
)) {
11506 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11508 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
11515 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11517 /* ./../lib/standard//collection//array.nit:280 */
11518 REGB0
= TAG_Bool(false);
11521 if (UNTAG_Bool(REGB2
)) {
11523 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11525 /* ./../lib/standard//collection//array.nit:281 */
11526 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11527 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11528 if (UNTAG_Bool(REGB2
)) {
11529 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11531 /* ./../lib/standard//collection//array.nit:718 */
11532 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11533 /* ./../lib/standard//collection//array.nit:281 */
11535 label296
: while(0);
11536 /* ./compiling//compiling_icode.nit:825 */
11537 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11538 if (!once_value_297
) {
11539 fra
.me
.REG
[7] = BOX_NativeString("))");
11540 REGB1
= TAG_Int(2);
11541 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11542 once_value_297
= fra
.me
.REG
[7];
11543 register_static_object(&once_value_297
);
11544 } else fra
.me
.REG
[7] = once_value_297
;
11545 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11546 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11547 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11548 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11550 /* ./compiling//compiling_icode.nit:826 */
11551 if (!once_value_298
) {
11552 if (!once_value_299
) {
11553 fra
.me
.REG
[6] = BOX_NativeString(">=");
11554 REGB1
= TAG_Int(2);
11555 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
11556 once_value_299
= fra
.me
.REG
[6];
11557 register_static_object(&once_value_299
);
11558 } else fra
.me
.REG
[6] = once_value_299
;
11559 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11560 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11561 once_value_298
= fra
.me
.REG
[6];
11562 register_static_object(&once_value_298
);
11563 } else fra
.me
.REG
[6] = once_value_298
;
11564 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11565 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11566 if (UNTAG_Bool(REGB1
)) {
11568 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11571 if (UNTAG_Bool(REGB1
)) {
11572 /* ./compiling//compiling_icode.nit:827 */
11573 REGB1
= TAG_Int(5);
11574 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11575 if (!once_value_300
) {
11576 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Char(");
11577 REGB1
= TAG_Int(20);
11578 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11579 once_value_300
= fra
.me
.REG
[7];
11580 register_static_object(&once_value_300
);
11581 } else fra
.me
.REG
[7] = once_value_300
;
11582 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11583 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11584 REGB1
= TAG_Int(0);
11585 /* ./../lib/standard//collection//array.nit:278 */
11586 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11587 /* ./../lib/standard//collection//array.nit:280 */
11588 REGB2
= TAG_Int(0);
11589 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11590 if (UNTAG_Bool(REGB0
)) {
11592 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11594 /* ./../lib/standard//kernel.nit:233 */
11595 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11596 /* ./../lib/standard//collection//array.nit:280 */
11597 if (UNTAG_Bool(REGB2
)) {
11598 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11599 if (UNTAG_Bool(REGB2
)) {
11601 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11603 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11604 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11605 if (UNTAG_Bool(REGB0
)) {
11607 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11609 /* ./../lib/standard//kernel.nit:232 */
11610 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11612 /* ./../lib/standard//collection//array.nit:280 */
11613 REGB0
= TAG_Bool(false);
11616 if (UNTAG_Bool(REGB2
)) {
11618 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11620 /* ./../lib/standard//collection//array.nit:281 */
11621 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11622 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11623 if (UNTAG_Bool(REGB2
)) {
11624 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11626 /* ./../lib/standard//collection//array.nit:718 */
11627 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11628 /* ./../lib/standard//collection//array.nit:281 */
11630 label301
: while(0);
11631 /* ./compiling//compiling_icode.nit:827 */
11632 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11633 if (!once_value_302
) {
11634 fra
.me
.REG
[7] = BOX_NativeString(")>=UNTAG_Char(");
11635 REGB1
= TAG_Int(14);
11636 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11637 once_value_302
= fra
.me
.REG
[7];
11638 register_static_object(&once_value_302
);
11639 } else fra
.me
.REG
[7] = once_value_302
;
11640 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11641 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11642 REGB1
= TAG_Int(1);
11643 /* ./../lib/standard//collection//array.nit:278 */
11644 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11645 /* ./../lib/standard//collection//array.nit:280 */
11646 REGB2
= TAG_Int(0);
11647 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11648 if (UNTAG_Bool(REGB0
)) {
11650 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11652 /* ./../lib/standard//kernel.nit:233 */
11653 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11654 /* ./../lib/standard//collection//array.nit:280 */
11655 if (UNTAG_Bool(REGB2
)) {
11656 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11657 if (UNTAG_Bool(REGB2
)) {
11659 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11661 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
11668 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11670 /* ./../lib/standard//collection//array.nit:280 */
11671 REGB0
= TAG_Bool(false);
11674 if (UNTAG_Bool(REGB2
)) {
11676 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11678 /* ./../lib/standard//collection//array.nit:281 */
11679 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11680 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11681 if (UNTAG_Bool(REGB2
)) {
11682 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11684 /* ./../lib/standard//collection//array.nit:718 */
11685 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11686 /* ./../lib/standard//collection//array.nit:281 */
11688 label303
: while(0);
11689 /* ./compiling//compiling_icode.nit:827 */
11690 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11691 if (!once_value_304
) {
11692 fra
.me
.REG
[7] = BOX_NativeString("))");
11693 REGB1
= TAG_Int(2);
11694 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11695 once_value_304
= fra
.me
.REG
[7];
11696 register_static_object(&once_value_304
);
11697 } else fra
.me
.REG
[7] = once_value_304
;
11698 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11699 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11700 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11701 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11703 /* ./compiling//compiling_icode.nit:828 */
11704 if (!once_value_305
) {
11705 if (!once_value_306
) {
11706 fra
.me
.REG
[6] = BOX_NativeString("==");
11707 REGB1
= TAG_Int(2);
11708 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
11709 once_value_306
= fra
.me
.REG
[6];
11710 register_static_object(&once_value_306
);
11711 } else fra
.me
.REG
[6] = once_value_306
;
11712 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11713 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11714 once_value_305
= fra
.me
.REG
[6];
11715 register_static_object(&once_value_305
);
11716 } else fra
.me
.REG
[6] = once_value_305
;
11717 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11718 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11719 if (UNTAG_Bool(REGB1
)) {
11721 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11724 if (UNTAG_Bool(REGB1
)) {
11725 /* ./compiling//compiling_icode.nit:829 */
11726 REGB1
= TAG_Int(5);
11727 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11728 if (!once_value_307
) {
11729 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
11730 REGB1
= TAG_Int(10);
11731 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11732 once_value_307
= fra
.me
.REG
[7];
11733 register_static_object(&once_value_307
);
11734 } else fra
.me
.REG
[7] = once_value_307
;
11735 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11736 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11737 REGB1
= TAG_Int(0);
11738 /* ./../lib/standard//collection//array.nit:278 */
11739 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11740 /* ./../lib/standard//collection//array.nit:280 */
11741 REGB2
= TAG_Int(0);
11742 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11743 if (UNTAG_Bool(REGB0
)) {
11745 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11747 /* ./../lib/standard//kernel.nit:233 */
11748 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11749 /* ./../lib/standard//collection//array.nit:280 */
11750 if (UNTAG_Bool(REGB2
)) {
11751 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11752 if (UNTAG_Bool(REGB2
)) {
11754 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11756 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11757 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11758 if (UNTAG_Bool(REGB0
)) {
11760 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11762 /* ./../lib/standard//kernel.nit:232 */
11763 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11765 /* ./../lib/standard//collection//array.nit:280 */
11766 REGB0
= TAG_Bool(false);
11769 if (UNTAG_Bool(REGB2
)) {
11771 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11773 /* ./../lib/standard//collection//array.nit:281 */
11774 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11775 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11776 if (UNTAG_Bool(REGB2
)) {
11777 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11779 /* ./../lib/standard//collection//array.nit:718 */
11780 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11781 /* ./../lib/standard//collection//array.nit:281 */
11783 label308
: while(0);
11784 /* ./compiling//compiling_icode.nit:829 */
11785 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11786 if (!once_value_309
) {
11787 fra
.me
.REG
[7] = BOX_NativeString(")==(");
11788 REGB1
= TAG_Int(4);
11789 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11790 once_value_309
= fra
.me
.REG
[7];
11791 register_static_object(&once_value_309
);
11792 } else fra
.me
.REG
[7] = once_value_309
;
11793 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11794 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11795 REGB1
= TAG_Int(1);
11796 /* ./../lib/standard//collection//array.nit:278 */
11797 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11798 /* ./../lib/standard//collection//array.nit:280 */
11799 REGB2
= TAG_Int(0);
11800 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11801 if (UNTAG_Bool(REGB0
)) {
11803 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11805 /* ./../lib/standard//kernel.nit:233 */
11806 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11807 /* ./../lib/standard//collection//array.nit:280 */
11808 if (UNTAG_Bool(REGB2
)) {
11809 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11810 if (UNTAG_Bool(REGB2
)) {
11812 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11814 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
11821 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11823 /* ./../lib/standard//collection//array.nit:280 */
11824 REGB0
= TAG_Bool(false);
11827 if (UNTAG_Bool(REGB2
)) {
11829 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11831 /* ./../lib/standard//collection//array.nit:281 */
11832 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11833 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11834 if (UNTAG_Bool(REGB2
)) {
11835 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11837 /* ./../lib/standard//collection//array.nit:718 */
11838 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11839 /* ./../lib/standard//collection//array.nit:281 */
11841 label310
: while(0);
11842 /* ./compiling//compiling_icode.nit:829 */
11843 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11844 if (!once_value_311
) {
11845 fra
.me
.REG
[7] = BOX_NativeString("))");
11846 REGB1
= TAG_Int(2);
11847 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11848 once_value_311
= fra
.me
.REG
[7];
11849 register_static_object(&once_value_311
);
11850 } else fra
.me
.REG
[7] = once_value_311
;
11851 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11852 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11853 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11854 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11856 /* ./compiling//compiling_icode.nit:830 */
11857 if (!once_value_312
) {
11858 if (!once_value_313
) {
11859 fra
.me
.REG
[6] = BOX_NativeString("!=");
11860 REGB1
= TAG_Int(2);
11861 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
11862 once_value_313
= fra
.me
.REG
[6];
11863 register_static_object(&once_value_313
);
11864 } else fra
.me
.REG
[6] = once_value_313
;
11865 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11866 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11867 once_value_312
= fra
.me
.REG
[6];
11868 register_static_object(&once_value_312
);
11869 } else fra
.me
.REG
[6] = once_value_312
;
11870 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11871 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11872 if (UNTAG_Bool(REGB1
)) {
11874 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11877 if (UNTAG_Bool(REGB1
)) {
11878 /* ./compiling//compiling_icode.nit:831 */
11879 REGB1
= TAG_Int(5);
11880 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11881 if (!once_value_314
) {
11882 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
11883 REGB1
= TAG_Int(10);
11884 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11885 once_value_314
= fra
.me
.REG
[7];
11886 register_static_object(&once_value_314
);
11887 } else fra
.me
.REG
[7] = once_value_314
;
11888 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11889 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11890 REGB1
= TAG_Int(0);
11891 /* ./../lib/standard//collection//array.nit:278 */
11892 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11893 /* ./../lib/standard//collection//array.nit:280 */
11894 REGB2
= TAG_Int(0);
11895 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11896 if (UNTAG_Bool(REGB0
)) {
11898 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11900 /* ./../lib/standard//kernel.nit:233 */
11901 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11902 /* ./../lib/standard//collection//array.nit:280 */
11903 if (UNTAG_Bool(REGB2
)) {
11904 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11905 if (UNTAG_Bool(REGB2
)) {
11907 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11909 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11910 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11911 if (UNTAG_Bool(REGB0
)) {
11913 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11915 /* ./../lib/standard//kernel.nit:232 */
11916 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11918 /* ./../lib/standard//collection//array.nit:280 */
11919 REGB0
= TAG_Bool(false);
11922 if (UNTAG_Bool(REGB2
)) {
11924 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11926 /* ./../lib/standard//collection//array.nit:281 */
11927 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11928 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11929 if (UNTAG_Bool(REGB2
)) {
11930 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11932 /* ./../lib/standard//collection//array.nit:718 */
11933 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11934 /* ./../lib/standard//collection//array.nit:281 */
11936 label315
: while(0);
11937 /* ./compiling//compiling_icode.nit:831 */
11938 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11939 if (!once_value_316
) {
11940 fra
.me
.REG
[7] = BOX_NativeString(")!=(");
11941 REGB1
= TAG_Int(4);
11942 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11943 once_value_316
= fra
.me
.REG
[7];
11944 register_static_object(&once_value_316
);
11945 } else fra
.me
.REG
[7] = once_value_316
;
11946 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11947 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11948 REGB1
= TAG_Int(1);
11949 /* ./../lib/standard//collection//array.nit:278 */
11950 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11951 /* ./../lib/standard//collection//array.nit:280 */
11952 REGB2
= TAG_Int(0);
11953 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11954 if (UNTAG_Bool(REGB0
)) {
11956 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11958 /* ./../lib/standard//kernel.nit:233 */
11959 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11960 /* ./../lib/standard//collection//array.nit:280 */
11961 if (UNTAG_Bool(REGB2
)) {
11962 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11963 if (UNTAG_Bool(REGB2
)) {
11965 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11967 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
11974 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11976 /* ./../lib/standard//collection//array.nit:280 */
11977 REGB0
= TAG_Bool(false);
11980 if (UNTAG_Bool(REGB2
)) {
11982 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
11984 /* ./../lib/standard//collection//array.nit:281 */
11985 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11986 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11987 if (UNTAG_Bool(REGB2
)) {
11988 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11990 /* ./../lib/standard//collection//array.nit:718 */
11991 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11992 /* ./../lib/standard//collection//array.nit:281 */
11994 label317
: while(0);
11995 /* ./compiling//compiling_icode.nit:831 */
11996 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11997 if (!once_value_318
) {
11998 fra
.me
.REG
[7] = BOX_NativeString("))");
11999 REGB1
= TAG_Int(2);
12000 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12001 once_value_318
= fra
.me
.REG
[7];
12002 register_static_object(&once_value_318
);
12003 } else fra
.me
.REG
[7] = once_value_318
;
12004 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12005 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12006 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12007 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12027 /* ./compiling//compiling_icode.nit:833 */
12028 if (!once_value_319
) {
12029 if (!once_value_320
) {
12030 fra
.me
.REG
[6] = BOX_NativeString("Bool");
12031 REGB1
= TAG_Int(4);
12032 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12033 once_value_320
= fra
.me
.REG
[6];
12034 register_static_object(&once_value_320
);
12035 } else fra
.me
.REG
[6] = once_value_320
;
12036 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12037 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12038 once_value_319
= fra
.me
.REG
[6];
12039 register_static_object(&once_value_319
);
12040 } else fra
.me
.REG
[6] = once_value_319
;
12041 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12042 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
12043 if (UNTAG_Bool(REGB1
)) {
12045 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
12048 if (UNTAG_Bool(REGB1
)) {
12049 /* ./compiling//compiling_icode.nit:834 */
12050 if (!once_value_321
) {
12051 if (!once_value_322
) {
12052 fra
.me
.REG
[6] = BOX_NativeString("object_id");
12053 REGB1
= TAG_Int(9);
12054 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12055 once_value_322
= fra
.me
.REG
[6];
12056 register_static_object(&once_value_322
);
12057 } else fra
.me
.REG
[6] = once_value_322
;
12058 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12059 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12060 once_value_321
= fra
.me
.REG
[6];
12061 register_static_object(&once_value_321
);
12062 } else fra
.me
.REG
[6] = once_value_321
;
12063 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12064 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12065 if (UNTAG_Bool(REGB1
)) {
12067 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12070 if (UNTAG_Bool(REGB1
)) {
12071 /* ./compiling//compiling_icode.nit:835 */
12072 REGB1
= TAG_Int(3);
12073 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12074 if (!once_value_323
) {
12075 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Bool(");
12076 REGB1
= TAG_Int(19);
12077 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12078 once_value_323
= fra
.me
.REG
[7];
12079 register_static_object(&once_value_323
);
12080 } else fra
.me
.REG
[7] = once_value_323
;
12081 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12082 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12083 REGB1
= TAG_Int(0);
12084 /* ./../lib/standard//collection//array.nit:278 */
12085 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12086 /* ./../lib/standard//collection//array.nit:280 */
12087 REGB2
= TAG_Int(0);
12088 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12089 if (UNTAG_Bool(REGB0
)) {
12091 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12093 /* ./../lib/standard//kernel.nit:233 */
12094 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12095 /* ./../lib/standard//collection//array.nit:280 */
12096 if (UNTAG_Bool(REGB2
)) {
12097 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12098 if (UNTAG_Bool(REGB2
)) {
12100 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12102 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12103 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12104 if (UNTAG_Bool(REGB0
)) {
12106 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12108 /* ./../lib/standard//kernel.nit:232 */
12109 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12111 /* ./../lib/standard//collection//array.nit:280 */
12112 REGB0
= TAG_Bool(false);
12115 if (UNTAG_Bool(REGB2
)) {
12117 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
12119 /* ./../lib/standard//collection//array.nit:281 */
12120 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12121 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12122 if (UNTAG_Bool(REGB2
)) {
12123 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12125 /* ./../lib/standard//collection//array.nit:718 */
12126 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12127 /* ./../lib/standard//collection//array.nit:281 */
12129 label324
: while(0);
12130 /* ./compiling//compiling_icode.nit:835 */
12131 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12132 if (!once_value_325
) {
12133 fra
.me
.REG
[7] = BOX_NativeString("))");
12134 REGB1
= TAG_Int(2);
12135 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12136 once_value_325
= fra
.me
.REG
[7];
12137 register_static_object(&once_value_325
);
12138 } else fra
.me
.REG
[7] = once_value_325
;
12139 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12140 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12141 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12142 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12144 /* ./compiling//compiling_icode.nit:836 */
12145 if (!once_value_326
) {
12146 if (!once_value_327
) {
12147 fra
.me
.REG
[6] = BOX_NativeString("unary -");
12148 REGB1
= TAG_Int(7);
12149 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12150 once_value_327
= fra
.me
.REG
[6];
12151 register_static_object(&once_value_327
);
12152 } else fra
.me
.REG
[6] = once_value_327
;
12153 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12154 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12155 once_value_326
= fra
.me
.REG
[6];
12156 register_static_object(&once_value_326
);
12157 } else fra
.me
.REG
[6] = once_value_326
;
12158 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12159 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12160 if (UNTAG_Bool(REGB1
)) {
12162 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12165 if (UNTAG_Bool(REGB1
)) {
12166 /* ./compiling//compiling_icode.nit:837 */
12167 REGB1
= TAG_Int(3);
12168 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12169 if (!once_value_328
) {
12170 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(-UNTAG_Bool(");
12171 REGB1
= TAG_Int(21);
12172 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12173 once_value_328
= fra
.me
.REG
[7];
12174 register_static_object(&once_value_328
);
12175 } else fra
.me
.REG
[7] = once_value_328
;
12176 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12177 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12178 REGB1
= TAG_Int(0);
12179 /* ./../lib/standard//collection//array.nit:278 */
12180 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12181 /* ./../lib/standard//collection//array.nit:280 */
12182 REGB2
= TAG_Int(0);
12183 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12184 if (UNTAG_Bool(REGB0
)) {
12186 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12188 /* ./../lib/standard//kernel.nit:233 */
12189 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12190 /* ./../lib/standard//collection//array.nit:280 */
12191 if (UNTAG_Bool(REGB2
)) {
12192 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12193 if (UNTAG_Bool(REGB2
)) {
12195 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12197 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12198 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12199 if (UNTAG_Bool(REGB0
)) {
12201 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12203 /* ./../lib/standard//kernel.nit:232 */
12204 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12206 /* ./../lib/standard//collection//array.nit:280 */
12207 REGB0
= TAG_Bool(false);
12210 if (UNTAG_Bool(REGB2
)) {
12212 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
12214 /* ./../lib/standard//collection//array.nit:281 */
12215 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12216 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12217 if (UNTAG_Bool(REGB2
)) {
12218 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12220 /* ./../lib/standard//collection//array.nit:718 */
12221 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12222 /* ./../lib/standard//collection//array.nit:281 */
12224 label329
: while(0);
12225 /* ./compiling//compiling_icode.nit:837 */
12226 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12227 if (!once_value_330
) {
12228 fra
.me
.REG
[7] = BOX_NativeString("))");
12229 REGB1
= TAG_Int(2);
12230 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12231 once_value_330
= fra
.me
.REG
[7];
12232 register_static_object(&once_value_330
);
12233 } else fra
.me
.REG
[7] = once_value_330
;
12234 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12235 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12236 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12237 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12239 /* ./compiling//compiling_icode.nit:838 */
12240 if (!once_value_331
) {
12241 if (!once_value_332
) {
12242 fra
.me
.REG
[6] = BOX_NativeString("output");
12243 REGB1
= TAG_Int(6);
12244 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12245 once_value_332
= fra
.me
.REG
[6];
12246 register_static_object(&once_value_332
);
12247 } else fra
.me
.REG
[6] = once_value_332
;
12248 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12249 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12250 once_value_331
= fra
.me
.REG
[6];
12251 register_static_object(&once_value_331
);
12252 } else fra
.me
.REG
[6] = once_value_331
;
12253 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12254 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12255 if (UNTAG_Bool(REGB1
)) {
12257 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12260 if (UNTAG_Bool(REGB1
)) {
12261 /* ./compiling//compiling_icode.nit:839 */
12262 REGB1
= TAG_Int(3);
12263 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12264 if (!once_value_333
) {
12265 fra
.me
.REG
[7] = BOX_NativeString("(void)printf(UNTAG_Bool(");
12266 REGB1
= TAG_Int(24);
12267 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12268 once_value_333
= fra
.me
.REG
[7];
12269 register_static_object(&once_value_333
);
12270 } else fra
.me
.REG
[7] = once_value_333
;
12271 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12272 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12273 REGB1
= TAG_Int(0);
12274 /* ./../lib/standard//collection//array.nit:278 */
12275 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12276 /* ./../lib/standard//collection//array.nit:280 */
12277 REGB2
= TAG_Int(0);
12278 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12279 if (UNTAG_Bool(REGB0
)) {
12281 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12283 /* ./../lib/standard//kernel.nit:233 */
12284 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12285 /* ./../lib/standard//collection//array.nit:280 */
12286 if (UNTAG_Bool(REGB2
)) {
12287 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12288 if (UNTAG_Bool(REGB2
)) {
12290 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12292 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12293 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12294 if (UNTAG_Bool(REGB0
)) {
12296 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12298 /* ./../lib/standard//kernel.nit:232 */
12299 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12301 /* ./../lib/standard//collection//array.nit:280 */
12302 REGB0
= TAG_Bool(false);
12305 if (UNTAG_Bool(REGB2
)) {
12307 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
12309 /* ./../lib/standard//collection//array.nit:281 */
12310 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12311 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12312 if (UNTAG_Bool(REGB2
)) {
12313 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12315 /* ./../lib/standard//collection//array.nit:718 */
12316 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12317 /* ./../lib/standard//collection//array.nit:281 */
12319 label334
: while(0);
12320 /* ./compiling//compiling_icode.nit:839 */
12321 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12322 if (!once_value_335
) {
12323 fra
.me
.REG
[7] = BOX_NativeString(")?\"true\\n\":\"false\\n\");");
12324 REGB1
= TAG_Int(22);
12325 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12326 once_value_335
= fra
.me
.REG
[7];
12327 register_static_object(&once_value_335
);
12328 } else fra
.me
.REG
[7] = once_value_335
;
12329 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12330 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12331 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12332 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12334 /* ./compiling//compiling_icode.nit:840 */
12335 if (!once_value_336
) {
12336 if (!once_value_337
) {
12337 fra
.me
.REG
[6] = BOX_NativeString("ascii");
12338 REGB1
= TAG_Int(5);
12339 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12340 once_value_337
= fra
.me
.REG
[6];
12341 register_static_object(&once_value_337
);
12342 } else fra
.me
.REG
[6] = once_value_337
;
12343 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12344 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12345 once_value_336
= fra
.me
.REG
[6];
12346 register_static_object(&once_value_336
);
12347 } else fra
.me
.REG
[6] = once_value_336
;
12348 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12349 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12350 if (UNTAG_Bool(REGB1
)) {
12352 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12355 if (UNTAG_Bool(REGB1
)) {
12356 /* ./compiling//compiling_icode.nit:841 */
12357 REGB1
= TAG_Int(3);
12358 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12359 if (!once_value_338
) {
12360 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Bool(");
12361 REGB1
= TAG_Int(20);
12362 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12363 once_value_338
= fra
.me
.REG
[7];
12364 register_static_object(&once_value_338
);
12365 } else fra
.me
.REG
[7] = once_value_338
;
12366 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12367 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12368 REGB1
= TAG_Int(0);
12369 /* ./../lib/standard//collection//array.nit:278 */
12370 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12371 /* ./../lib/standard//collection//array.nit:280 */
12372 REGB2
= TAG_Int(0);
12373 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12374 if (UNTAG_Bool(REGB0
)) {
12376 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12378 /* ./../lib/standard//kernel.nit:233 */
12379 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12380 /* ./../lib/standard//collection//array.nit:280 */
12381 if (UNTAG_Bool(REGB2
)) {
12382 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12383 if (UNTAG_Bool(REGB2
)) {
12385 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12387 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12388 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12389 if (UNTAG_Bool(REGB0
)) {
12391 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12393 /* ./../lib/standard//kernel.nit:232 */
12394 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12396 /* ./../lib/standard//collection//array.nit:280 */
12397 REGB0
= TAG_Bool(false);
12400 if (UNTAG_Bool(REGB2
)) {
12402 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
12404 /* ./../lib/standard//collection//array.nit:281 */
12405 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12406 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12407 if (UNTAG_Bool(REGB2
)) {
12408 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12410 /* ./../lib/standard//collection//array.nit:718 */
12411 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12412 /* ./../lib/standard//collection//array.nit:281 */
12414 label339
: while(0);
12415 /* ./compiling//compiling_icode.nit:841 */
12416 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12417 if (!once_value_340
) {
12418 fra
.me
.REG
[7] = BOX_NativeString("))");
12419 REGB1
= TAG_Int(2);
12420 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12421 once_value_340
= fra
.me
.REG
[7];
12422 register_static_object(&once_value_340
);
12423 } else fra
.me
.REG
[7] = once_value_340
;
12424 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12425 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12426 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12427 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12429 /* ./compiling//compiling_icode.nit:842 */
12430 if (!once_value_341
) {
12431 if (!once_value_342
) {
12432 fra
.me
.REG
[6] = BOX_NativeString("to_i");
12433 REGB1
= TAG_Int(4);
12434 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12435 once_value_342
= fra
.me
.REG
[6];
12436 register_static_object(&once_value_342
);
12437 } else fra
.me
.REG
[6] = once_value_342
;
12438 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12439 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12440 once_value_341
= fra
.me
.REG
[6];
12441 register_static_object(&once_value_341
);
12442 } else fra
.me
.REG
[6] = once_value_341
;
12443 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12444 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12445 if (UNTAG_Bool(REGB1
)) {
12447 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12450 if (UNTAG_Bool(REGB1
)) {
12451 /* ./compiling//compiling_icode.nit:843 */
12452 REGB1
= TAG_Int(3);
12453 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12454 if (!once_value_343
) {
12455 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Bool(");
12456 REGB1
= TAG_Int(19);
12457 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12458 once_value_343
= fra
.me
.REG
[7];
12459 register_static_object(&once_value_343
);
12460 } else fra
.me
.REG
[7] = once_value_343
;
12461 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12462 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12463 REGB1
= TAG_Int(0);
12464 /* ./../lib/standard//collection//array.nit:278 */
12465 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12466 /* ./../lib/standard//collection//array.nit:280 */
12467 REGB2
= TAG_Int(0);
12468 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12469 if (UNTAG_Bool(REGB0
)) {
12471 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12473 /* ./../lib/standard//kernel.nit:233 */
12474 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12475 /* ./../lib/standard//collection//array.nit:280 */
12476 if (UNTAG_Bool(REGB2
)) {
12477 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12478 if (UNTAG_Bool(REGB2
)) {
12480 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12482 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12483 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12484 if (UNTAG_Bool(REGB0
)) {
12486 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12488 /* ./../lib/standard//kernel.nit:232 */
12489 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12491 /* ./../lib/standard//collection//array.nit:280 */
12492 REGB0
= TAG_Bool(false);
12495 if (UNTAG_Bool(REGB2
)) {
12497 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
12499 /* ./../lib/standard//collection//array.nit:281 */
12500 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12501 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12502 if (UNTAG_Bool(REGB2
)) {
12503 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12505 /* ./../lib/standard//collection//array.nit:718 */
12506 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12507 /* ./../lib/standard//collection//array.nit:281 */
12509 label344
: while(0);
12510 /* ./compiling//compiling_icode.nit:843 */
12511 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12512 if (!once_value_345
) {
12513 fra
.me
.REG
[7] = BOX_NativeString("))");
12514 REGB1
= TAG_Int(2);
12515 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12516 once_value_345
= fra
.me
.REG
[7];
12517 register_static_object(&once_value_345
);
12518 } else fra
.me
.REG
[7] = once_value_345
;
12519 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12520 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12521 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12522 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12524 /* ./compiling//compiling_icode.nit:844 */
12525 if (!once_value_346
) {
12526 if (!once_value_347
) {
12527 fra
.me
.REG
[6] = BOX_NativeString("==");
12528 REGB1
= TAG_Int(2);
12529 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12530 once_value_347
= fra
.me
.REG
[6];
12531 register_static_object(&once_value_347
);
12532 } else fra
.me
.REG
[6] = once_value_347
;
12533 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12534 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12535 once_value_346
= fra
.me
.REG
[6];
12536 register_static_object(&once_value_346
);
12537 } else fra
.me
.REG
[6] = once_value_346
;
12538 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12539 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12540 if (UNTAG_Bool(REGB1
)) {
12542 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12545 if (UNTAG_Bool(REGB1
)) {
12546 /* ./compiling//compiling_icode.nit:845 */
12547 REGB1
= TAG_Int(5);
12548 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12549 if (!once_value_348
) {
12550 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
12551 REGB1
= TAG_Int(10);
12552 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12553 once_value_348
= fra
.me
.REG
[7];
12554 register_static_object(&once_value_348
);
12555 } else fra
.me
.REG
[7] = once_value_348
;
12556 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12557 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12558 REGB1
= TAG_Int(0);
12559 /* ./../lib/standard//collection//array.nit:278 */
12560 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12561 /* ./../lib/standard//collection//array.nit:280 */
12562 REGB2
= TAG_Int(0);
12563 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12564 if (UNTAG_Bool(REGB0
)) {
12566 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12568 /* ./../lib/standard//kernel.nit:233 */
12569 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12570 /* ./../lib/standard//collection//array.nit:280 */
12571 if (UNTAG_Bool(REGB2
)) {
12572 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12573 if (UNTAG_Bool(REGB2
)) {
12575 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12577 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12578 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12579 if (UNTAG_Bool(REGB0
)) {
12581 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12583 /* ./../lib/standard//kernel.nit:232 */
12584 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12586 /* ./../lib/standard//collection//array.nit:280 */
12587 REGB0
= TAG_Bool(false);
12590 if (UNTAG_Bool(REGB2
)) {
12592 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
12594 /* ./../lib/standard//collection//array.nit:281 */
12595 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12596 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12597 if (UNTAG_Bool(REGB2
)) {
12598 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12600 /* ./../lib/standard//collection//array.nit:718 */
12601 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12602 /* ./../lib/standard//collection//array.nit:281 */
12604 label349
: while(0);
12605 /* ./compiling//compiling_icode.nit:845 */
12606 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12607 if (!once_value_350
) {
12608 fra
.me
.REG
[7] = BOX_NativeString(")==(");
12609 REGB1
= TAG_Int(4);
12610 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12611 once_value_350
= fra
.me
.REG
[7];
12612 register_static_object(&once_value_350
);
12613 } else fra
.me
.REG
[7] = once_value_350
;
12614 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12615 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12616 REGB1
= TAG_Int(1);
12617 /* ./../lib/standard//collection//array.nit:278 */
12618 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12619 /* ./../lib/standard//collection//array.nit:280 */
12620 REGB2
= TAG_Int(0);
12621 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12622 if (UNTAG_Bool(REGB0
)) {
12624 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12626 /* ./../lib/standard//kernel.nit:233 */
12627 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12628 /* ./../lib/standard//collection//array.nit:280 */
12629 if (UNTAG_Bool(REGB2
)) {
12630 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12631 if (UNTAG_Bool(REGB2
)) {
12633 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12635 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
12642 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12644 /* ./../lib/standard//collection//array.nit:280 */
12645 REGB0
= TAG_Bool(false);
12648 if (UNTAG_Bool(REGB2
)) {
12650 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
12652 /* ./../lib/standard//collection//array.nit:281 */
12653 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12654 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12655 if (UNTAG_Bool(REGB2
)) {
12656 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12658 /* ./../lib/standard//collection//array.nit:718 */
12659 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12660 /* ./../lib/standard//collection//array.nit:281 */
12662 label351
: while(0);
12663 /* ./compiling//compiling_icode.nit:845 */
12664 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12665 if (!once_value_352
) {
12666 fra
.me
.REG
[7] = BOX_NativeString("))");
12667 REGB1
= TAG_Int(2);
12668 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12669 once_value_352
= fra
.me
.REG
[7];
12670 register_static_object(&once_value_352
);
12671 } else fra
.me
.REG
[7] = once_value_352
;
12672 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12673 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12674 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12675 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12677 /* ./compiling//compiling_icode.nit:846 */
12678 if (!once_value_353
) {
12679 if (!once_value_354
) {
12680 fra
.me
.REG
[6] = BOX_NativeString("!=");
12681 REGB1
= TAG_Int(2);
12682 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12683 once_value_354
= fra
.me
.REG
[6];
12684 register_static_object(&once_value_354
);
12685 } else fra
.me
.REG
[6] = once_value_354
;
12686 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12687 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12688 once_value_353
= fra
.me
.REG
[6];
12689 register_static_object(&once_value_353
);
12690 } else fra
.me
.REG
[6] = once_value_353
;
12691 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12692 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12693 if (UNTAG_Bool(REGB1
)) {
12695 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12698 if (UNTAG_Bool(REGB1
)) {
12699 /* ./compiling//compiling_icode.nit:847 */
12700 REGB1
= TAG_Int(5);
12701 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12702 if (!once_value_355
) {
12703 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
12704 REGB1
= TAG_Int(10);
12705 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12706 once_value_355
= fra
.me
.REG
[7];
12707 register_static_object(&once_value_355
);
12708 } else fra
.me
.REG
[7] = once_value_355
;
12709 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12710 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12711 REGB1
= TAG_Int(0);
12712 /* ./../lib/standard//collection//array.nit:278 */
12713 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12714 /* ./../lib/standard//collection//array.nit:280 */
12715 REGB2
= TAG_Int(0);
12716 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12717 if (UNTAG_Bool(REGB0
)) {
12719 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12721 /* ./../lib/standard//kernel.nit:233 */
12722 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12723 /* ./../lib/standard//collection//array.nit:280 */
12724 if (UNTAG_Bool(REGB2
)) {
12725 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12726 if (UNTAG_Bool(REGB2
)) {
12728 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12730 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12731 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12732 if (UNTAG_Bool(REGB0
)) {
12734 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12736 /* ./../lib/standard//kernel.nit:232 */
12737 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12739 /* ./../lib/standard//collection//array.nit:280 */
12740 REGB0
= TAG_Bool(false);
12743 if (UNTAG_Bool(REGB2
)) {
12745 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
12747 /* ./../lib/standard//collection//array.nit:281 */
12748 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12749 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12750 if (UNTAG_Bool(REGB2
)) {
12751 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12753 /* ./../lib/standard//collection//array.nit:718 */
12754 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12755 /* ./../lib/standard//collection//array.nit:281 */
12757 label356
: while(0);
12758 /* ./compiling//compiling_icode.nit:847 */
12759 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12760 if (!once_value_357
) {
12761 fra
.me
.REG
[7] = BOX_NativeString(")!=(");
12762 REGB1
= TAG_Int(4);
12763 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12764 once_value_357
= fra
.me
.REG
[7];
12765 register_static_object(&once_value_357
);
12766 } else fra
.me
.REG
[7] = once_value_357
;
12767 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12768 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12769 REGB1
= TAG_Int(1);
12770 /* ./../lib/standard//collection//array.nit:278 */
12771 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12772 /* ./../lib/standard//collection//array.nit:280 */
12773 REGB2
= TAG_Int(0);
12774 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12775 if (UNTAG_Bool(REGB0
)) {
12777 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12779 /* ./../lib/standard//kernel.nit:233 */
12780 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12781 /* ./../lib/standard//collection//array.nit:280 */
12782 if (UNTAG_Bool(REGB2
)) {
12783 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12784 if (UNTAG_Bool(REGB2
)) {
12786 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12788 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
12795 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12797 /* ./../lib/standard//collection//array.nit:280 */
12798 REGB0
= TAG_Bool(false);
12801 if (UNTAG_Bool(REGB2
)) {
12803 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
12805 /* ./../lib/standard//collection//array.nit:281 */
12806 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12807 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12808 if (UNTAG_Bool(REGB2
)) {
12809 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12811 /* ./../lib/standard//collection//array.nit:718 */
12812 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12813 /* ./../lib/standard//collection//array.nit:281 */
12815 label358
: while(0);
12816 /* ./compiling//compiling_icode.nit:847 */
12817 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12818 if (!once_value_359
) {
12819 fra
.me
.REG
[7] = BOX_NativeString("))");
12820 REGB1
= TAG_Int(2);
12821 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12822 once_value_359
= fra
.me
.REG
[7];
12823 register_static_object(&once_value_359
);
12824 } else fra
.me
.REG
[7] = once_value_359
;
12825 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12826 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12827 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12828 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12837 /* ./compiling//compiling_icode.nit:849 */
12838 if (!once_value_360
) {
12839 if (!once_value_361
) {
12840 fra
.me
.REG
[6] = BOX_NativeString("NativeArray");
12841 REGB1
= TAG_Int(11);
12842 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12843 once_value_361
= fra
.me
.REG
[6];
12844 register_static_object(&once_value_361
);
12845 } else fra
.me
.REG
[6] = once_value_361
;
12846 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12847 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12848 once_value_360
= fra
.me
.REG
[6];
12849 register_static_object(&once_value_360
);
12850 } else fra
.me
.REG
[6] = once_value_360
;
12851 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12852 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
12853 if (UNTAG_Bool(REGB1
)) {
12855 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
12858 if (UNTAG_Bool(REGB1
)) {
12859 /* ./compiling//compiling_icode.nit:850 */
12860 if (!once_value_362
) {
12861 if (!once_value_363
) {
12862 fra
.me
.REG
[6] = BOX_NativeString("object_id");
12863 REGB1
= TAG_Int(9);
12864 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12865 once_value_363
= fra
.me
.REG
[6];
12866 register_static_object(&once_value_363
);
12867 } else fra
.me
.REG
[6] = once_value_363
;
12868 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12869 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12870 once_value_362
= fra
.me
.REG
[6];
12871 register_static_object(&once_value_362
);
12872 } else fra
.me
.REG
[6] = once_value_362
;
12873 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12874 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12875 if (UNTAG_Bool(REGB1
)) {
12877 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12880 if (UNTAG_Bool(REGB1
)) {
12881 /* ./compiling//compiling_icode.nit:851 */
12882 REGB1
= TAG_Int(3);
12883 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12884 if (!once_value_364
) {
12885 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(((Nit_NativeArray)");
12886 REGB1
= TAG_Int(26);
12887 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12888 once_value_364
= fra
.me
.REG
[7];
12889 register_static_object(&once_value_364
);
12890 } else fra
.me
.REG
[7] = once_value_364
;
12891 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12892 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12893 REGB1
= TAG_Int(0);
12894 /* ./../lib/standard//collection//array.nit:278 */
12895 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12896 /* ./../lib/standard//collection//array.nit:280 */
12897 REGB2
= TAG_Int(0);
12898 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12899 if (UNTAG_Bool(REGB0
)) {
12901 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12903 /* ./../lib/standard//kernel.nit:233 */
12904 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12905 /* ./../lib/standard//collection//array.nit:280 */
12906 if (UNTAG_Bool(REGB2
)) {
12907 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12908 if (UNTAG_Bool(REGB2
)) {
12910 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12912 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12913 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12914 if (UNTAG_Bool(REGB0
)) {
12916 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12918 /* ./../lib/standard//kernel.nit:232 */
12919 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12921 /* ./../lib/standard//collection//array.nit:280 */
12922 REGB0
= TAG_Bool(false);
12925 if (UNTAG_Bool(REGB2
)) {
12927 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
12929 /* ./../lib/standard//collection//array.nit:281 */
12930 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12931 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12932 if (UNTAG_Bool(REGB2
)) {
12933 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12935 /* ./../lib/standard//collection//array.nit:718 */
12936 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12937 /* ./../lib/standard//collection//array.nit:281 */
12939 label365
: while(0);
12940 /* ./compiling//compiling_icode.nit:851 */
12941 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12942 if (!once_value_366
) {
12943 fra
.me
.REG
[7] = BOX_NativeString(")->object_id)");
12944 REGB1
= TAG_Int(13);
12945 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12946 once_value_366
= fra
.me
.REG
[7];
12947 register_static_object(&once_value_366
);
12948 } else fra
.me
.REG
[7] = once_value_366
;
12949 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12950 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12951 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12952 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12954 /* ./compiling//compiling_icode.nit:852 */
12955 if (!once_value_367
) {
12956 if (!once_value_368
) {
12957 fra
.me
.REG
[6] = BOX_NativeString("[]");
12958 REGB1
= TAG_Int(2);
12959 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12960 once_value_368
= fra
.me
.REG
[6];
12961 register_static_object(&once_value_368
);
12962 } else fra
.me
.REG
[6] = once_value_368
;
12963 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12964 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12965 once_value_367
= fra
.me
.REG
[6];
12966 register_static_object(&once_value_367
);
12967 } else fra
.me
.REG
[6] = once_value_367
;
12968 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12969 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12970 if (UNTAG_Bool(REGB1
)) {
12972 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12975 if (UNTAG_Bool(REGB1
)) {
12976 /* ./compiling//compiling_icode.nit:853 */
12977 REGB1
= TAG_Int(5);
12978 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12979 if (!once_value_369
) {
12980 fra
.me
.REG
[7] = BOX_NativeString("((Nit_NativeArray)");
12981 REGB1
= TAG_Int(18);
12982 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12983 once_value_369
= fra
.me
.REG
[7];
12984 register_static_object(&once_value_369
);
12985 } else fra
.me
.REG
[7] = once_value_369
;
12986 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12987 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12988 REGB1
= TAG_Int(0);
12989 /* ./../lib/standard//collection//array.nit:278 */
12990 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12991 /* ./../lib/standard//collection//array.nit:280 */
12992 REGB2
= TAG_Int(0);
12993 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12994 if (UNTAG_Bool(REGB0
)) {
12996 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12998 /* ./../lib/standard//kernel.nit:233 */
12999 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13000 /* ./../lib/standard//collection//array.nit:280 */
13001 if (UNTAG_Bool(REGB2
)) {
13002 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13003 if (UNTAG_Bool(REGB2
)) {
13005 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13007 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13008 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13009 if (UNTAG_Bool(REGB0
)) {
13011 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13013 /* ./../lib/standard//kernel.nit:232 */
13014 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13016 /* ./../lib/standard//collection//array.nit:280 */
13017 REGB0
= TAG_Bool(false);
13020 if (UNTAG_Bool(REGB2
)) {
13022 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13024 /* ./../lib/standard//collection//array.nit:281 */
13025 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13026 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13027 if (UNTAG_Bool(REGB2
)) {
13028 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13030 /* ./../lib/standard//collection//array.nit:718 */
13031 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13032 /* ./../lib/standard//collection//array.nit:281 */
13034 label370
: while(0);
13035 /* ./compiling//compiling_icode.nit:853 */
13036 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13037 if (!once_value_371
) {
13038 fra
.me
.REG
[7] = BOX_NativeString(")->val[UNTAG_Int(");
13039 REGB1
= TAG_Int(17);
13040 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13041 once_value_371
= fra
.me
.REG
[7];
13042 register_static_object(&once_value_371
);
13043 } else fra
.me
.REG
[7] = once_value_371
;
13044 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13045 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13046 REGB1
= TAG_Int(1);
13047 /* ./../lib/standard//collection//array.nit:278 */
13048 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13049 /* ./../lib/standard//collection//array.nit:280 */
13050 REGB2
= TAG_Int(0);
13051 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13052 if (UNTAG_Bool(REGB0
)) {
13054 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13056 /* ./../lib/standard//kernel.nit:233 */
13057 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13058 /* ./../lib/standard//collection//array.nit:280 */
13059 if (UNTAG_Bool(REGB2
)) {
13060 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13061 if (UNTAG_Bool(REGB2
)) {
13063 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13065 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
13072 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13074 /* ./../lib/standard//collection//array.nit:280 */
13075 REGB0
= TAG_Bool(false);
13078 if (UNTAG_Bool(REGB2
)) {
13080 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13082 /* ./../lib/standard//collection//array.nit:281 */
13083 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13084 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13085 if (UNTAG_Bool(REGB2
)) {
13086 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13088 /* ./../lib/standard//collection//array.nit:718 */
13089 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13090 /* ./../lib/standard//collection//array.nit:281 */
13092 label372
: while(0);
13093 /* ./compiling//compiling_icode.nit:853 */
13094 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13095 if (!once_value_373
) {
13096 fra
.me
.REG
[7] = BOX_NativeString(")]");
13097 REGB1
= TAG_Int(2);
13098 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13099 once_value_373
= fra
.me
.REG
[7];
13100 register_static_object(&once_value_373
);
13101 } else fra
.me
.REG
[7] = once_value_373
;
13102 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13103 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13104 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13105 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13107 /* ./compiling//compiling_icode.nit:854 */
13108 if (!once_value_374
) {
13109 if (!once_value_375
) {
13110 fra
.me
.REG
[6] = BOX_NativeString("[]=");
13111 REGB1
= TAG_Int(3);
13112 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13113 once_value_375
= fra
.me
.REG
[6];
13114 register_static_object(&once_value_375
);
13115 } else fra
.me
.REG
[6] = once_value_375
;
13116 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13117 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13118 once_value_374
= fra
.me
.REG
[6];
13119 register_static_object(&once_value_374
);
13120 } else fra
.me
.REG
[6] = once_value_374
;
13121 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13122 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13123 if (UNTAG_Bool(REGB1
)) {
13125 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13128 if (UNTAG_Bool(REGB1
)) {
13129 /* ./compiling//compiling_icode.nit:855 */
13130 REGB1
= TAG_Int(7);
13131 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13132 if (!once_value_376
) {
13133 fra
.me
.REG
[7] = BOX_NativeString("((Nit_NativeArray)");
13134 REGB1
= TAG_Int(18);
13135 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13136 once_value_376
= fra
.me
.REG
[7];
13137 register_static_object(&once_value_376
);
13138 } else fra
.me
.REG
[7] = once_value_376
;
13139 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13140 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13141 REGB1
= TAG_Int(0);
13142 /* ./../lib/standard//collection//array.nit:278 */
13143 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13144 /* ./../lib/standard//collection//array.nit:280 */
13145 REGB2
= TAG_Int(0);
13146 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13147 if (UNTAG_Bool(REGB0
)) {
13149 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13151 /* ./../lib/standard//kernel.nit:233 */
13152 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13153 /* ./../lib/standard//collection//array.nit:280 */
13154 if (UNTAG_Bool(REGB2
)) {
13155 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13156 if (UNTAG_Bool(REGB2
)) {
13158 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13160 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13161 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13162 if (UNTAG_Bool(REGB0
)) {
13164 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13166 /* ./../lib/standard//kernel.nit:232 */
13167 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13169 /* ./../lib/standard//collection//array.nit:280 */
13170 REGB0
= TAG_Bool(false);
13173 if (UNTAG_Bool(REGB2
)) {
13175 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13177 /* ./../lib/standard//collection//array.nit:281 */
13178 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13179 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13180 if (UNTAG_Bool(REGB2
)) {
13181 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13183 /* ./../lib/standard//collection//array.nit:718 */
13184 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13185 /* ./../lib/standard//collection//array.nit:281 */
13187 label377
: while(0);
13188 /* ./compiling//compiling_icode.nit:855 */
13189 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13190 if (!once_value_378
) {
13191 fra
.me
.REG
[7] = BOX_NativeString(")->val[UNTAG_Int(");
13192 REGB1
= TAG_Int(17);
13193 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13194 once_value_378
= fra
.me
.REG
[7];
13195 register_static_object(&once_value_378
);
13196 } else fra
.me
.REG
[7] = once_value_378
;
13197 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13198 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13199 REGB1
= TAG_Int(1);
13200 /* ./../lib/standard//collection//array.nit:278 */
13201 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13202 /* ./../lib/standard//collection//array.nit:280 */
13203 REGB2
= TAG_Int(0);
13204 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13205 if (UNTAG_Bool(REGB0
)) {
13207 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13209 /* ./../lib/standard//kernel.nit:233 */
13210 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13211 /* ./../lib/standard//collection//array.nit:280 */
13212 if (UNTAG_Bool(REGB2
)) {
13213 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13214 if (UNTAG_Bool(REGB2
)) {
13216 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13218 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
13225 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13227 /* ./../lib/standard//collection//array.nit:280 */
13228 REGB0
= TAG_Bool(false);
13231 if (UNTAG_Bool(REGB2
)) {
13233 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13235 /* ./../lib/standard//collection//array.nit:281 */
13236 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13237 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13238 if (UNTAG_Bool(REGB2
)) {
13239 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13241 /* ./../lib/standard//collection//array.nit:718 */
13242 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13243 /* ./../lib/standard//collection//array.nit:281 */
13245 label379
: while(0);
13246 /* ./compiling//compiling_icode.nit:855 */
13247 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13248 if (!once_value_380
) {
13249 fra
.me
.REG
[7] = BOX_NativeString(")]=");
13250 REGB1
= TAG_Int(3);
13251 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13252 once_value_380
= fra
.me
.REG
[7];
13253 register_static_object(&once_value_380
);
13254 } else fra
.me
.REG
[7] = once_value_380
;
13255 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13256 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13257 REGB1
= TAG_Int(2);
13258 /* ./../lib/standard//collection//array.nit:278 */
13259 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13260 /* ./../lib/standard//collection//array.nit:280 */
13261 REGB2
= TAG_Int(0);
13262 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13263 if (UNTAG_Bool(REGB0
)) {
13265 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13267 /* ./../lib/standard//kernel.nit:233 */
13268 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13269 /* ./../lib/standard//collection//array.nit:280 */
13270 if (UNTAG_Bool(REGB2
)) {
13271 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13272 if (UNTAG_Bool(REGB2
)) {
13274 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13276 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
13283 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13285 /* ./../lib/standard//collection//array.nit:280 */
13286 REGB0
= TAG_Bool(false);
13289 if (UNTAG_Bool(REGB2
)) {
13291 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13293 /* ./../lib/standard//collection//array.nit:281 */
13294 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13295 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13296 if (UNTAG_Bool(REGB2
)) {
13297 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13299 /* ./../lib/standard//collection//array.nit:718 */
13300 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13301 /* ./../lib/standard//collection//array.nit:281 */
13303 label381
: while(0);
13304 /* ./compiling//compiling_icode.nit:855 */
13305 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13306 if (!once_value_382
) {
13307 fra
.me
.REG
[7] = BOX_NativeString("");
13308 REGB1
= TAG_Int(0);
13309 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13310 once_value_382
= fra
.me
.REG
[7];
13311 register_static_object(&once_value_382
);
13312 } else fra
.me
.REG
[7] = once_value_382
;
13313 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13314 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13315 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13316 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13318 /* ./compiling//compiling_icode.nit:856 */
13319 if (!once_value_383
) {
13320 if (!once_value_384
) {
13321 fra
.me
.REG
[6] = BOX_NativeString("copy_to");
13322 REGB1
= TAG_Int(7);
13323 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13324 once_value_384
= fra
.me
.REG
[6];
13325 register_static_object(&once_value_384
);
13326 } else fra
.me
.REG
[6] = once_value_384
;
13327 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13328 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13329 once_value_383
= fra
.me
.REG
[6];
13330 register_static_object(&once_value_383
);
13331 } else fra
.me
.REG
[6] = once_value_383
;
13332 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13333 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13334 if (UNTAG_Bool(REGB1
)) {
13336 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13339 if (UNTAG_Bool(REGB1
)) {
13340 /* ./compiling//compiling_icode.nit:857 */
13341 REGB1
= TAG_Int(7);
13342 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13343 if (!once_value_385
) {
13344 fra
.me
.REG
[7] = BOX_NativeString("(void)memcpy(((Nit_NativeArray )");
13345 REGB1
= TAG_Int(32);
13346 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13347 once_value_385
= fra
.me
.REG
[7];
13348 register_static_object(&once_value_385
);
13349 } else fra
.me
.REG
[7] = once_value_385
;
13350 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13351 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13352 REGB1
= TAG_Int(1);
13353 /* ./../lib/standard//collection//array.nit:278 */
13354 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13355 /* ./../lib/standard//collection//array.nit:280 */
13356 REGB2
= TAG_Int(0);
13357 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13358 if (UNTAG_Bool(REGB0
)) {
13360 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13362 /* ./../lib/standard//kernel.nit:233 */
13363 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13364 /* ./../lib/standard//collection//array.nit:280 */
13365 if (UNTAG_Bool(REGB2
)) {
13366 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13367 if (UNTAG_Bool(REGB2
)) {
13369 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13371 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13372 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13373 if (UNTAG_Bool(REGB0
)) {
13375 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13377 /* ./../lib/standard//kernel.nit:232 */
13378 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13380 /* ./../lib/standard//collection//array.nit:280 */
13381 REGB0
= TAG_Bool(false);
13384 if (UNTAG_Bool(REGB2
)) {
13386 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13388 /* ./../lib/standard//collection//array.nit:281 */
13389 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13390 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13391 if (UNTAG_Bool(REGB2
)) {
13392 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13394 /* ./../lib/standard//collection//array.nit:718 */
13395 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13396 /* ./../lib/standard//collection//array.nit:281 */
13398 label386
: while(0);
13399 /* ./compiling//compiling_icode.nit:857 */
13400 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13401 if (!once_value_387
) {
13402 fra
.me
.REG
[7] = BOX_NativeString(")->val, ((Nit_NativeArray)");
13403 REGB1
= TAG_Int(26);
13404 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13405 once_value_387
= fra
.me
.REG
[7];
13406 register_static_object(&once_value_387
);
13407 } else fra
.me
.REG
[7] = once_value_387
;
13408 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13409 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13410 REGB1
= TAG_Int(0);
13411 /* ./../lib/standard//collection//array.nit:278 */
13412 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13413 /* ./../lib/standard//collection//array.nit:280 */
13414 REGB2
= TAG_Int(0);
13415 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13416 if (UNTAG_Bool(REGB0
)) {
13418 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13420 /* ./../lib/standard//kernel.nit:233 */
13421 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13422 /* ./../lib/standard//collection//array.nit:280 */
13423 if (UNTAG_Bool(REGB2
)) {
13424 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13425 if (UNTAG_Bool(REGB2
)) {
13427 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13429 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
13436 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13438 /* ./../lib/standard//collection//array.nit:280 */
13439 REGB0
= TAG_Bool(false);
13442 if (UNTAG_Bool(REGB2
)) {
13444 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13446 /* ./../lib/standard//collection//array.nit:281 */
13447 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13448 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13449 if (UNTAG_Bool(REGB2
)) {
13450 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13452 /* ./../lib/standard//collection//array.nit:718 */
13453 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13454 /* ./../lib/standard//collection//array.nit:281 */
13456 label388
: while(0);
13457 /* ./compiling//compiling_icode.nit:857 */
13458 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13459 if (!once_value_389
) {
13460 fra
.me
.REG
[7] = BOX_NativeString(")->val, UNTAG_Int(");
13461 REGB1
= TAG_Int(18);
13462 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13463 once_value_389
= fra
.me
.REG
[7];
13464 register_static_object(&once_value_389
);
13465 } else fra
.me
.REG
[7] = once_value_389
;
13466 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13467 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13468 REGB1
= TAG_Int(2);
13469 /* ./../lib/standard//collection//array.nit:278 */
13470 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13471 /* ./../lib/standard//collection//array.nit:280 */
13472 REGB2
= TAG_Int(0);
13473 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13474 if (UNTAG_Bool(REGB0
)) {
13476 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13478 /* ./../lib/standard//kernel.nit:233 */
13479 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13480 /* ./../lib/standard//collection//array.nit:280 */
13481 if (UNTAG_Bool(REGB2
)) {
13482 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13483 if (UNTAG_Bool(REGB2
)) {
13485 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13487 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
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:232 */
13494 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13496 /* ./../lib/standard//collection//array.nit:280 */
13497 REGB0
= TAG_Bool(false);
13500 if (UNTAG_Bool(REGB2
)) {
13502 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13504 /* ./../lib/standard//collection//array.nit:281 */
13505 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13506 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13507 if (UNTAG_Bool(REGB2
)) {
13508 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13510 /* ./../lib/standard//collection//array.nit:718 */
13511 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13512 /* ./../lib/standard//collection//array.nit:281 */
13514 label390
: while(0);
13515 /* ./compiling//compiling_icode.nit:857 */
13516 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13517 if (!once_value_391
) {
13518 fra
.me
.REG
[7] = BOX_NativeString(")*sizeof(val_t))");
13519 REGB1
= TAG_Int(16);
13520 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13521 once_value_391
= fra
.me
.REG
[7];
13522 register_static_object(&once_value_391
);
13523 } else fra
.me
.REG
[7] = once_value_391
;
13524 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13525 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13526 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13527 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13533 /* ./compiling//compiling_icode.nit:859 */
13534 if (!once_value_392
) {
13535 if (!once_value_393
) {
13536 fra
.me
.REG
[6] = BOX_NativeString("NativeString");
13537 REGB1
= TAG_Int(12);
13538 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13539 once_value_393
= fra
.me
.REG
[6];
13540 register_static_object(&once_value_393
);
13541 } else fra
.me
.REG
[6] = once_value_393
;
13542 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13543 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13544 once_value_392
= fra
.me
.REG
[6];
13545 register_static_object(&once_value_392
);
13546 } else fra
.me
.REG
[6] = once_value_392
;
13547 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13548 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
13549 if (UNTAG_Bool(REGB1
)) {
13551 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
13554 if (UNTAG_Bool(REGB1
)) {
13555 /* ./compiling//compiling_icode.nit:860 */
13556 if (!once_value_394
) {
13557 if (!once_value_395
) {
13558 fra
.me
.REG
[6] = BOX_NativeString("object_id");
13559 REGB1
= TAG_Int(9);
13560 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13561 once_value_395
= fra
.me
.REG
[6];
13562 register_static_object(&once_value_395
);
13563 } else fra
.me
.REG
[6] = once_value_395
;
13564 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13565 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13566 once_value_394
= fra
.me
.REG
[6];
13567 register_static_object(&once_value_394
);
13568 } else fra
.me
.REG
[6] = once_value_394
;
13569 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13570 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13571 if (UNTAG_Bool(REGB1
)) {
13573 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13576 if (UNTAG_Bool(REGB1
)) {
13577 /* ./compiling//compiling_icode.nit:861 */
13578 REGB1
= TAG_Int(3);
13579 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13580 if (!once_value_396
) {
13581 fra
.me
.REG
[2] = BOX_NativeString("TAG_Int(UNBOX_NativeString(");
13582 REGB1
= TAG_Int(27);
13583 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
13584 once_value_396
= fra
.me
.REG
[2];
13585 register_static_object(&once_value_396
);
13586 } else fra
.me
.REG
[2] = once_value_396
;
13587 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13588 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13589 REGB1
= TAG_Int(0);
13590 /* ./../lib/standard//collection//array.nit:278 */
13591 fra
.me
.REG
[2] = fra
.me
.REG
[4];
13592 /* ./../lib/standard//collection//array.nit:280 */
13593 REGB2
= TAG_Int(0);
13594 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13595 if (UNTAG_Bool(REGB0
)) {
13597 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13599 /* ./../lib/standard//kernel.nit:233 */
13600 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13601 /* ./../lib/standard//collection//array.nit:280 */
13602 if (UNTAG_Bool(REGB2
)) {
13603 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
13604 if (UNTAG_Bool(REGB2
)) {
13606 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13608 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
13609 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13610 if (UNTAG_Bool(REGB0
)) {
13612 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13614 /* ./../lib/standard//kernel.nit:232 */
13615 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13617 /* ./../lib/standard//collection//array.nit:280 */
13618 REGB0
= TAG_Bool(false);
13621 if (UNTAG_Bool(REGB2
)) {
13623 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13625 /* ./../lib/standard//collection//array.nit:281 */
13626 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
13627 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
13628 if (UNTAG_Bool(REGB2
)) {
13629 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13631 /* ./../lib/standard//collection//array.nit:718 */
13632 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
13633 /* ./../lib/standard//collection//array.nit:281 */
13635 label397
: while(0);
13636 /* ./compiling//compiling_icode.nit:861 */
13637 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13638 if (!once_value_398
) {
13639 fra
.me
.REG
[2] = BOX_NativeString("))");
13640 REGB1
= TAG_Int(2);
13641 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
13642 once_value_398
= fra
.me
.REG
[2];
13643 register_static_object(&once_value_398
);
13644 } else fra
.me
.REG
[2] = once_value_398
;
13645 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13646 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13647 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13648 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13650 /* ./compiling//compiling_icode.nit:862 */
13651 if (!once_value_399
) {
13652 if (!once_value_400
) {
13653 fra
.me
.REG
[6] = BOX_NativeString("atoi");
13654 REGB1
= TAG_Int(4);
13655 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13656 once_value_400
= fra
.me
.REG
[6];
13657 register_static_object(&once_value_400
);
13658 } else fra
.me
.REG
[6] = once_value_400
;
13659 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13660 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13661 once_value_399
= fra
.me
.REG
[6];
13662 register_static_object(&once_value_399
);
13663 } else fra
.me
.REG
[6] = once_value_399
;
13664 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13665 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13666 if (UNTAG_Bool(REGB1
)) {
13668 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13671 if (UNTAG_Bool(REGB1
)) {
13672 /* ./compiling//compiling_icode.nit:863 */
13673 REGB1
= TAG_Int(3);
13674 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13675 if (!once_value_401
) {
13676 fra
.me
.REG
[2] = BOX_NativeString("TAG_Int(atoi(UNBOX_NativeString(");
13677 REGB1
= TAG_Int(32);
13678 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
13679 once_value_401
= fra
.me
.REG
[2];
13680 register_static_object(&once_value_401
);
13681 } else fra
.me
.REG
[2] = once_value_401
;
13682 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13683 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13684 REGB1
= TAG_Int(0);
13685 /* ./../lib/standard//collection//array.nit:278 */
13686 fra
.me
.REG
[2] = fra
.me
.REG
[4];
13687 /* ./../lib/standard//collection//array.nit:280 */
13688 REGB2
= TAG_Int(0);
13689 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13690 if (UNTAG_Bool(REGB0
)) {
13692 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13694 /* ./../lib/standard//kernel.nit:233 */
13695 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13696 /* ./../lib/standard//collection//array.nit:280 */
13697 if (UNTAG_Bool(REGB2
)) {
13698 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
13699 if (UNTAG_Bool(REGB2
)) {
13701 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13703 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
13704 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13705 if (UNTAG_Bool(REGB0
)) {
13707 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13709 /* ./../lib/standard//kernel.nit:232 */
13710 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13712 /* ./../lib/standard//collection//array.nit:280 */
13713 REGB0
= TAG_Bool(false);
13716 if (UNTAG_Bool(REGB2
)) {
13718 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13720 /* ./../lib/standard//collection//array.nit:281 */
13721 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
13722 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
13723 if (UNTAG_Bool(REGB2
)) {
13724 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13726 /* ./../lib/standard//collection//array.nit:718 */
13727 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
13728 /* ./../lib/standard//collection//array.nit:281 */
13730 label402
: while(0);
13731 /* ./compiling//compiling_icode.nit:863 */
13732 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13733 if (!once_value_403
) {
13734 fra
.me
.REG
[2] = BOX_NativeString(")))");
13735 REGB1
= TAG_Int(3);
13736 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
13737 once_value_403
= fra
.me
.REG
[2];
13738 register_static_object(&once_value_403
);
13739 } else fra
.me
.REG
[2] = once_value_403
;
13740 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13741 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13742 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13743 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13745 /* ./compiling//compiling_icode.nit:864 */
13746 if (!once_value_404
) {
13747 if (!once_value_405
) {
13748 fra
.me
.REG
[6] = BOX_NativeString("[]");
13749 REGB1
= TAG_Int(2);
13750 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13751 once_value_405
= fra
.me
.REG
[6];
13752 register_static_object(&once_value_405
);
13753 } else fra
.me
.REG
[6] = once_value_405
;
13754 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13755 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13756 once_value_404
= fra
.me
.REG
[6];
13757 register_static_object(&once_value_404
);
13758 } else fra
.me
.REG
[6] = once_value_404
;
13759 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13760 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13761 if (UNTAG_Bool(REGB1
)) {
13763 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13766 if (UNTAG_Bool(REGB1
)) {
13767 /* ./compiling//compiling_icode.nit:865 */
13768 REGB1
= TAG_Int(5);
13769 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13770 if (!once_value_406
) {
13771 fra
.me
.REG
[2] = BOX_NativeString("TAG_Char(UNBOX_NativeString(");
13772 REGB1
= TAG_Int(28);
13773 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
13774 once_value_406
= fra
.me
.REG
[2];
13775 register_static_object(&once_value_406
);
13776 } else fra
.me
.REG
[2] = once_value_406
;
13777 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13778 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13779 REGB1
= TAG_Int(0);
13780 /* ./../lib/standard//collection//array.nit:278 */
13781 fra
.me
.REG
[2] = fra
.me
.REG
[4];
13782 /* ./../lib/standard//collection//array.nit:280 */
13783 REGB2
= TAG_Int(0);
13784 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13785 if (UNTAG_Bool(REGB0
)) {
13787 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13789 /* ./../lib/standard//kernel.nit:233 */
13790 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13791 /* ./../lib/standard//collection//array.nit:280 */
13792 if (UNTAG_Bool(REGB2
)) {
13793 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
13794 if (UNTAG_Bool(REGB2
)) {
13796 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13798 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
13799 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13800 if (UNTAG_Bool(REGB0
)) {
13802 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13804 /* ./../lib/standard//kernel.nit:232 */
13805 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13807 /* ./../lib/standard//collection//array.nit:280 */
13808 REGB0
= TAG_Bool(false);
13811 if (UNTAG_Bool(REGB2
)) {
13813 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13815 /* ./../lib/standard//collection//array.nit:281 */
13816 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
13817 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
13818 if (UNTAG_Bool(REGB2
)) {
13819 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13821 /* ./../lib/standard//collection//array.nit:718 */
13822 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
13823 /* ./../lib/standard//collection//array.nit:281 */
13825 label407
: while(0);
13826 /* ./compiling//compiling_icode.nit:865 */
13827 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13828 if (!once_value_408
) {
13829 fra
.me
.REG
[2] = BOX_NativeString(")[UNTAG_Int(");
13830 REGB1
= TAG_Int(12);
13831 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
13832 once_value_408
= fra
.me
.REG
[2];
13833 register_static_object(&once_value_408
);
13834 } else fra
.me
.REG
[2] = once_value_408
;
13835 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13836 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13837 REGB1
= TAG_Int(1);
13838 /* ./../lib/standard//collection//array.nit:278 */
13839 fra
.me
.REG
[2] = fra
.me
.REG
[4];
13840 /* ./../lib/standard//collection//array.nit:280 */
13841 REGB2
= TAG_Int(0);
13842 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13843 if (UNTAG_Bool(REGB0
)) {
13845 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13847 /* ./../lib/standard//kernel.nit:233 */
13848 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13849 /* ./../lib/standard//collection//array.nit:280 */
13850 if (UNTAG_Bool(REGB2
)) {
13851 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
13852 if (UNTAG_Bool(REGB2
)) {
13854 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13856 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
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:232 */
13863 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13865 /* ./../lib/standard//collection//array.nit:280 */
13866 REGB0
= TAG_Bool(false);
13869 if (UNTAG_Bool(REGB2
)) {
13871 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13873 /* ./../lib/standard//collection//array.nit:281 */
13874 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
13875 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
13876 if (UNTAG_Bool(REGB2
)) {
13877 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13879 /* ./../lib/standard//collection//array.nit:718 */
13880 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
13881 /* ./../lib/standard//collection//array.nit:281 */
13883 label409
: while(0);
13884 /* ./compiling//compiling_icode.nit:865 */
13885 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13886 if (!once_value_410
) {
13887 fra
.me
.REG
[2] = BOX_NativeString(")])");
13888 REGB1
= TAG_Int(3);
13889 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
13890 once_value_410
= fra
.me
.REG
[2];
13891 register_static_object(&once_value_410
);
13892 } else fra
.me
.REG
[2] = once_value_410
;
13893 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13894 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13895 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13896 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13898 /* ./compiling//compiling_icode.nit:866 */
13899 if (!once_value_411
) {
13900 if (!once_value_412
) {
13901 fra
.me
.REG
[6] = BOX_NativeString("[]=");
13902 REGB1
= TAG_Int(3);
13903 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13904 once_value_412
= fra
.me
.REG
[6];
13905 register_static_object(&once_value_412
);
13906 } else fra
.me
.REG
[6] = once_value_412
;
13907 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13908 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13909 once_value_411
= fra
.me
.REG
[6];
13910 register_static_object(&once_value_411
);
13911 } else fra
.me
.REG
[6] = once_value_411
;
13912 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13913 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13914 if (UNTAG_Bool(REGB1
)) {
13916 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13919 if (UNTAG_Bool(REGB1
)) {
13920 /* ./compiling//compiling_icode.nit:867 */
13921 REGB1
= TAG_Int(7);
13922 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13923 if (!once_value_413
) {
13924 fra
.me
.REG
[2] = BOX_NativeString("UNBOX_NativeString(");
13925 REGB1
= TAG_Int(19);
13926 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
13927 once_value_413
= fra
.me
.REG
[2];
13928 register_static_object(&once_value_413
);
13929 } else fra
.me
.REG
[2] = once_value_413
;
13930 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13931 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13932 REGB1
= TAG_Int(0);
13933 /* ./../lib/standard//collection//array.nit:278 */
13934 fra
.me
.REG
[2] = fra
.me
.REG
[4];
13935 /* ./../lib/standard//collection//array.nit:280 */
13936 REGB2
= TAG_Int(0);
13937 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13938 if (UNTAG_Bool(REGB0
)) {
13940 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13942 /* ./../lib/standard//kernel.nit:233 */
13943 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13944 /* ./../lib/standard//collection//array.nit:280 */
13945 if (UNTAG_Bool(REGB2
)) {
13946 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
13947 if (UNTAG_Bool(REGB2
)) {
13949 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13951 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
13952 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13953 if (UNTAG_Bool(REGB0
)) {
13955 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13957 /* ./../lib/standard//kernel.nit:232 */
13958 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13960 /* ./../lib/standard//collection//array.nit:280 */
13961 REGB0
= TAG_Bool(false);
13964 if (UNTAG_Bool(REGB2
)) {
13966 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
13968 /* ./../lib/standard//collection//array.nit:281 */
13969 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
13970 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
13971 if (UNTAG_Bool(REGB2
)) {
13972 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13974 /* ./../lib/standard//collection//array.nit:718 */
13975 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
13976 /* ./../lib/standard//collection//array.nit:281 */
13978 label414
: while(0);
13979 /* ./compiling//compiling_icode.nit:867 */
13980 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13981 if (!once_value_415
) {
13982 fra
.me
.REG
[2] = BOX_NativeString(")[UNTAG_Int(");
13983 REGB1
= TAG_Int(12);
13984 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
13985 once_value_415
= fra
.me
.REG
[2];
13986 register_static_object(&once_value_415
);
13987 } else fra
.me
.REG
[2] = once_value_415
;
13988 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13989 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13990 REGB1
= TAG_Int(1);
13991 /* ./../lib/standard//collection//array.nit:278 */
13992 fra
.me
.REG
[2] = fra
.me
.REG
[4];
13993 /* ./../lib/standard//collection//array.nit:280 */
13994 REGB2
= TAG_Int(0);
13995 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13996 if (UNTAG_Bool(REGB0
)) {
13998 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14000 /* ./../lib/standard//kernel.nit:233 */
14001 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14002 /* ./../lib/standard//collection//array.nit:280 */
14003 if (UNTAG_Bool(REGB2
)) {
14004 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14005 if (UNTAG_Bool(REGB2
)) {
14007 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14009 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
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:232 */
14016 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14018 /* ./../lib/standard//collection//array.nit:280 */
14019 REGB0
= TAG_Bool(false);
14022 if (UNTAG_Bool(REGB2
)) {
14024 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14026 /* ./../lib/standard//collection//array.nit:281 */
14027 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14028 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14029 if (UNTAG_Bool(REGB2
)) {
14030 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14032 /* ./../lib/standard//collection//array.nit:718 */
14033 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14034 /* ./../lib/standard//collection//array.nit:281 */
14036 label416
: while(0);
14037 /* ./compiling//compiling_icode.nit:867 */
14038 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14039 if (!once_value_417
) {
14040 fra
.me
.REG
[2] = BOX_NativeString(")]=UNTAG_Char(");
14041 REGB1
= TAG_Int(14);
14042 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14043 once_value_417
= fra
.me
.REG
[2];
14044 register_static_object(&once_value_417
);
14045 } else fra
.me
.REG
[2] = once_value_417
;
14046 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14047 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14048 REGB1
= TAG_Int(2);
14049 /* ./../lib/standard//collection//array.nit:278 */
14050 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14051 /* ./../lib/standard//collection//array.nit:280 */
14052 REGB2
= TAG_Int(0);
14053 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14054 if (UNTAG_Bool(REGB0
)) {
14056 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14058 /* ./../lib/standard//kernel.nit:233 */
14059 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14060 /* ./../lib/standard//collection//array.nit:280 */
14061 if (UNTAG_Bool(REGB2
)) {
14062 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14063 if (UNTAG_Bool(REGB2
)) {
14065 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14067 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
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:232 */
14074 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14076 /* ./../lib/standard//collection//array.nit:280 */
14077 REGB0
= TAG_Bool(false);
14080 if (UNTAG_Bool(REGB2
)) {
14082 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14084 /* ./../lib/standard//collection//array.nit:281 */
14085 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14086 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14087 if (UNTAG_Bool(REGB2
)) {
14088 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14090 /* ./../lib/standard//collection//array.nit:718 */
14091 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14092 /* ./../lib/standard//collection//array.nit:281 */
14094 label418
: while(0);
14095 /* ./compiling//compiling_icode.nit:867 */
14096 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14097 if (!once_value_419
) {
14098 fra
.me
.REG
[2] = BOX_NativeString(");");
14099 REGB1
= TAG_Int(2);
14100 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14101 once_value_419
= fra
.me
.REG
[2];
14102 register_static_object(&once_value_419
);
14103 } else fra
.me
.REG
[2] = once_value_419
;
14104 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14105 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14106 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14107 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14109 /* ./compiling//compiling_icode.nit:868 */
14110 if (!once_value_420
) {
14111 if (!once_value_421
) {
14112 fra
.me
.REG
[6] = BOX_NativeString("copy_to");
14113 REGB1
= TAG_Int(7);
14114 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14115 once_value_421
= fra
.me
.REG
[6];
14116 register_static_object(&once_value_421
);
14117 } else fra
.me
.REG
[6] = once_value_421
;
14118 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14119 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14120 once_value_420
= fra
.me
.REG
[6];
14121 register_static_object(&once_value_420
);
14122 } else fra
.me
.REG
[6] = once_value_420
;
14123 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14124 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14125 if (UNTAG_Bool(REGB1
)) {
14127 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14130 if (UNTAG_Bool(REGB1
)) {
14131 /* ./compiling//compiling_icode.nit:869 */
14132 REGB1
= TAG_Int(11);
14133 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14134 if (!once_value_422
) {
14135 fra
.me
.REG
[2] = BOX_NativeString("(void)memcpy(UNBOX_NativeString(");
14136 REGB1
= TAG_Int(32);
14137 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14138 once_value_422
= fra
.me
.REG
[2];
14139 register_static_object(&once_value_422
);
14140 } else fra
.me
.REG
[2] = once_value_422
;
14141 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14142 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14143 REGB1
= TAG_Int(1);
14144 /* ./../lib/standard//collection//array.nit:278 */
14145 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14146 /* ./../lib/standard//collection//array.nit:280 */
14147 REGB2
= TAG_Int(0);
14148 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14149 if (UNTAG_Bool(REGB0
)) {
14151 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14153 /* ./../lib/standard//kernel.nit:233 */
14154 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14155 /* ./../lib/standard//collection//array.nit:280 */
14156 if (UNTAG_Bool(REGB2
)) {
14157 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14158 if (UNTAG_Bool(REGB2
)) {
14160 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14162 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14163 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14164 if (UNTAG_Bool(REGB0
)) {
14166 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14168 /* ./../lib/standard//kernel.nit:232 */
14169 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14171 /* ./../lib/standard//collection//array.nit:280 */
14172 REGB0
= TAG_Bool(false);
14175 if (UNTAG_Bool(REGB2
)) {
14177 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14179 /* ./../lib/standard//collection//array.nit:281 */
14180 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14181 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14182 if (UNTAG_Bool(REGB2
)) {
14183 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14185 /* ./../lib/standard//collection//array.nit:718 */
14186 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14187 /* ./../lib/standard//collection//array.nit:281 */
14189 label423
: while(0);
14190 /* ./compiling//compiling_icode.nit:869 */
14191 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14192 if (!once_value_424
) {
14193 fra
.me
.REG
[2] = BOX_NativeString(")+UNTAG_Int(");
14194 REGB1
= TAG_Int(12);
14195 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14196 once_value_424
= fra
.me
.REG
[2];
14197 register_static_object(&once_value_424
);
14198 } else fra
.me
.REG
[2] = once_value_424
;
14199 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14200 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14201 REGB1
= TAG_Int(4);
14202 /* ./../lib/standard//collection//array.nit:278 */
14203 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14204 /* ./../lib/standard//collection//array.nit:280 */
14205 REGB2
= TAG_Int(0);
14206 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14207 if (UNTAG_Bool(REGB0
)) {
14209 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14211 /* ./../lib/standard//kernel.nit:233 */
14212 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14213 /* ./../lib/standard//collection//array.nit:280 */
14214 if (UNTAG_Bool(REGB2
)) {
14215 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14216 if (UNTAG_Bool(REGB2
)) {
14218 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14220 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
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:232 */
14227 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14229 /* ./../lib/standard//collection//array.nit:280 */
14230 REGB0
= TAG_Bool(false);
14233 if (UNTAG_Bool(REGB2
)) {
14235 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14237 /* ./../lib/standard//collection//array.nit:281 */
14238 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14239 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14240 if (UNTAG_Bool(REGB2
)) {
14241 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14243 /* ./../lib/standard//collection//array.nit:718 */
14244 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14245 /* ./../lib/standard//collection//array.nit:281 */
14247 label425
: while(0);
14248 /* ./compiling//compiling_icode.nit:869 */
14249 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14250 if (!once_value_426
) {
14251 fra
.me
.REG
[2] = BOX_NativeString("), UNBOX_NativeString(");
14252 REGB1
= TAG_Int(22);
14253 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14254 once_value_426
= fra
.me
.REG
[2];
14255 register_static_object(&once_value_426
);
14256 } else fra
.me
.REG
[2] = once_value_426
;
14257 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14258 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14259 REGB1
= TAG_Int(0);
14260 /* ./../lib/standard//collection//array.nit:278 */
14261 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14262 /* ./../lib/standard//collection//array.nit:280 */
14263 REGB2
= TAG_Int(0);
14264 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14265 if (UNTAG_Bool(REGB0
)) {
14267 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14269 /* ./../lib/standard//kernel.nit:233 */
14270 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14271 /* ./../lib/standard//collection//array.nit:280 */
14272 if (UNTAG_Bool(REGB2
)) {
14273 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14274 if (UNTAG_Bool(REGB2
)) {
14276 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14278 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
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:232 */
14285 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14287 /* ./../lib/standard//collection//array.nit:280 */
14288 REGB0
= TAG_Bool(false);
14291 if (UNTAG_Bool(REGB2
)) {
14293 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14295 /* ./../lib/standard//collection//array.nit:281 */
14296 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14297 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14298 if (UNTAG_Bool(REGB2
)) {
14299 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14301 /* ./../lib/standard//collection//array.nit:718 */
14302 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14303 /* ./../lib/standard//collection//array.nit:281 */
14305 label427
: while(0);
14306 /* ./compiling//compiling_icode.nit:869 */
14307 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14308 if (!once_value_428
) {
14309 fra
.me
.REG
[2] = BOX_NativeString(")+UNTAG_Int(");
14310 REGB1
= TAG_Int(12);
14311 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14312 once_value_428
= fra
.me
.REG
[2];
14313 register_static_object(&once_value_428
);
14314 } else fra
.me
.REG
[2] = once_value_428
;
14315 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14316 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14317 REGB1
= TAG_Int(3);
14318 /* ./../lib/standard//collection//array.nit:278 */
14319 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14320 /* ./../lib/standard//collection//array.nit:280 */
14321 REGB2
= TAG_Int(0);
14322 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14323 if (UNTAG_Bool(REGB0
)) {
14325 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14327 /* ./../lib/standard//kernel.nit:233 */
14328 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14329 /* ./../lib/standard//collection//array.nit:280 */
14330 if (UNTAG_Bool(REGB2
)) {
14331 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14332 if (UNTAG_Bool(REGB2
)) {
14334 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14336 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
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:232 */
14343 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14345 /* ./../lib/standard//collection//array.nit:280 */
14346 REGB0
= TAG_Bool(false);
14349 if (UNTAG_Bool(REGB2
)) {
14351 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14353 /* ./../lib/standard//collection//array.nit:281 */
14354 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14355 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14356 if (UNTAG_Bool(REGB2
)) {
14357 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14359 /* ./../lib/standard//collection//array.nit:718 */
14360 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14361 /* ./../lib/standard//collection//array.nit:281 */
14363 label429
: while(0);
14364 /* ./compiling//compiling_icode.nit:869 */
14365 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14366 if (!once_value_430
) {
14367 fra
.me
.REG
[2] = BOX_NativeString("), UNTAG_Int(");
14368 REGB1
= TAG_Int(13);
14369 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14370 once_value_430
= fra
.me
.REG
[2];
14371 register_static_object(&once_value_430
);
14372 } else fra
.me
.REG
[2] = once_value_430
;
14373 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14374 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14375 REGB1
= TAG_Int(2);
14376 /* ./../lib/standard//collection//array.nit:278 */
14377 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14378 /* ./../lib/standard//collection//array.nit:280 */
14379 REGB2
= TAG_Int(0);
14380 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14381 if (UNTAG_Bool(REGB0
)) {
14383 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14385 /* ./../lib/standard//kernel.nit:233 */
14386 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14387 /* ./../lib/standard//collection//array.nit:280 */
14388 if (UNTAG_Bool(REGB2
)) {
14389 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14390 if (UNTAG_Bool(REGB2
)) {
14392 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14394 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
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:232 */
14401 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14403 /* ./../lib/standard//collection//array.nit:280 */
14404 REGB0
= TAG_Bool(false);
14407 if (UNTAG_Bool(REGB2
)) {
14409 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14411 /* ./../lib/standard//collection//array.nit:281 */
14412 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14413 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14414 if (UNTAG_Bool(REGB2
)) {
14415 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14417 /* ./../lib/standard//collection//array.nit:718 */
14418 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14419 /* ./../lib/standard//collection//array.nit:281 */
14421 label431
: while(0);
14422 /* ./compiling//compiling_icode.nit:869 */
14423 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14424 if (!once_value_432
) {
14425 fra
.me
.REG
[2] = BOX_NativeString("));");
14426 REGB1
= TAG_Int(3);
14427 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14428 once_value_432
= fra
.me
.REG
[2];
14429 register_static_object(&once_value_432
);
14430 } else fra
.me
.REG
[2] = once_value_432
;
14431 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14432 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14433 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14434 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14441 /* ./compiling//compiling_icode.nit:871 */
14442 if (!once_value_433
) {
14443 if (!once_value_434
) {
14444 fra
.me
.REG
[6] = BOX_NativeString("object_id");
14445 REGB1
= TAG_Int(9);
14446 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14447 once_value_434
= fra
.me
.REG
[6];
14448 register_static_object(&once_value_434
);
14449 } else fra
.me
.REG
[6] = once_value_434
;
14450 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14451 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14452 once_value_433
= fra
.me
.REG
[6];
14453 register_static_object(&once_value_433
);
14454 } else fra
.me
.REG
[6] = once_value_433
;
14455 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14456 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14457 if (UNTAG_Bool(REGB1
)) {
14459 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14462 if (UNTAG_Bool(REGB1
)) {
14463 /* ./compiling//compiling_icode.nit:872 */
14464 REGB1
= TAG_Int(3);
14465 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14466 if (!once_value_435
) {
14467 fra
.me
.REG
[2] = BOX_NativeString("TAG_Int((bigint)((obj_t)");
14468 REGB1
= TAG_Int(24);
14469 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14470 once_value_435
= fra
.me
.REG
[2];
14471 register_static_object(&once_value_435
);
14472 } else fra
.me
.REG
[2] = once_value_435
;
14473 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14474 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14475 REGB1
= TAG_Int(0);
14476 /* ./../lib/standard//collection//array.nit:278 */
14477 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14478 /* ./../lib/standard//collection//array.nit:280 */
14479 REGB2
= TAG_Int(0);
14480 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14481 if (UNTAG_Bool(REGB0
)) {
14483 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14485 /* ./../lib/standard//kernel.nit:233 */
14486 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14487 /* ./../lib/standard//collection//array.nit:280 */
14488 if (UNTAG_Bool(REGB2
)) {
14489 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14490 if (UNTAG_Bool(REGB2
)) {
14492 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14494 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14495 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14496 if (UNTAG_Bool(REGB0
)) {
14498 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14500 /* ./../lib/standard//kernel.nit:232 */
14501 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14503 /* ./../lib/standard//collection//array.nit:280 */
14504 REGB0
= TAG_Bool(false);
14507 if (UNTAG_Bool(REGB2
)) {
14509 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14511 /* ./../lib/standard//collection//array.nit:281 */
14512 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14513 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14514 if (UNTAG_Bool(REGB2
)) {
14515 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14517 /* ./../lib/standard//collection//array.nit:718 */
14518 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14519 /* ./../lib/standard//collection//array.nit:281 */
14521 label436
: while(0);
14522 /* ./compiling//compiling_icode.nit:872 */
14523 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14524 if (!once_value_437
) {
14525 fra
.me
.REG
[2] = BOX_NativeString(")[1].object_id)");
14526 REGB1
= TAG_Int(15);
14527 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14528 once_value_437
= fra
.me
.REG
[2];
14529 register_static_object(&once_value_437
);
14530 } else fra
.me
.REG
[2] = once_value_437
;
14531 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14532 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14533 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14534 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14536 /* ./compiling//compiling_icode.nit:873 */
14537 if (!once_value_438
) {
14538 if (!once_value_439
) {
14539 fra
.me
.REG
[6] = BOX_NativeString("sys");
14540 REGB1
= TAG_Int(3);
14541 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14542 once_value_439
= fra
.me
.REG
[6];
14543 register_static_object(&once_value_439
);
14544 } else fra
.me
.REG
[6] = once_value_439
;
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_438
= fra
.me
.REG
[6];
14548 register_static_object(&once_value_438
);
14549 } else fra
.me
.REG
[6] = once_value_438
;
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_440
) {
14560 fra
.me
.REG
[6] = BOX_NativeString("(G_sys)");
14561 REGB1
= TAG_Int(7);
14562 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14563 once_value_440
= fra
.me
.REG
[6];
14564 register_static_object(&once_value_440
);
14565 } else fra
.me
.REG
[6] = once_value_440
;
14566 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14567 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14569 /* ./compiling//compiling_icode.nit:875 */
14570 if (!once_value_441
) {
14571 if (!once_value_442
) {
14572 fra
.me
.REG
[6] = BOX_NativeString("is_same_type");
14573 REGB1
= TAG_Int(12);
14574 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14575 once_value_442
= fra
.me
.REG
[6];
14576 register_static_object(&once_value_442
);
14577 } else fra
.me
.REG
[6] = once_value_442
;
14578 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14579 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14580 once_value_441
= fra
.me
.REG
[6];
14581 register_static_object(&once_value_441
);
14582 } else fra
.me
.REG
[6] = once_value_441
;
14583 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14584 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14585 if (UNTAG_Bool(REGB1
)) {
14587 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14590 if (UNTAG_Bool(REGB1
)) {
14591 /* ./compiling//compiling_icode.nit:876 */
14592 REGB1
= TAG_Int(5);
14593 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14594 if (!once_value_443
) {
14595 fra
.me
.REG
[2] = BOX_NativeString("TAG_Bool((VAL2VFT(");
14596 REGB1
= TAG_Int(18);
14597 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14598 once_value_443
= fra
.me
.REG
[2];
14599 register_static_object(&once_value_443
);
14600 } else fra
.me
.REG
[2] = once_value_443
;
14601 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14602 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14603 REGB1
= TAG_Int(0);
14604 /* ./../lib/standard//collection//array.nit:278 */
14605 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14606 /* ./../lib/standard//collection//array.nit:280 */
14607 REGB2
= TAG_Int(0);
14608 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14609 if (UNTAG_Bool(REGB0
)) {
14611 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14613 /* ./../lib/standard//kernel.nit:233 */
14614 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14615 /* ./../lib/standard//collection//array.nit:280 */
14616 if (UNTAG_Bool(REGB2
)) {
14617 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14618 if (UNTAG_Bool(REGB2
)) {
14620 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14622 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14623 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14624 if (UNTAG_Bool(REGB0
)) {
14626 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14628 /* ./../lib/standard//kernel.nit:232 */
14629 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14631 /* ./../lib/standard//collection//array.nit:280 */
14632 REGB0
= TAG_Bool(false);
14635 if (UNTAG_Bool(REGB2
)) {
14637 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14639 /* ./../lib/standard//collection//array.nit:281 */
14640 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14641 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14642 if (UNTAG_Bool(REGB2
)) {
14643 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14645 /* ./../lib/standard//collection//array.nit:718 */
14646 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14647 /* ./../lib/standard//collection//array.nit:281 */
14649 label444
: while(0);
14650 /* ./compiling//compiling_icode.nit:876 */
14651 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14652 if (!once_value_445
) {
14653 fra
.me
.REG
[2] = BOX_NativeString(")==VAL2VFT(");
14654 REGB1
= TAG_Int(11);
14655 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14656 once_value_445
= fra
.me
.REG
[2];
14657 register_static_object(&once_value_445
);
14658 } else fra
.me
.REG
[2] = once_value_445
;
14659 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14660 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14661 REGB1
= TAG_Int(1);
14662 /* ./../lib/standard//collection//array.nit:278 */
14663 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14664 /* ./../lib/standard//collection//array.nit:280 */
14665 REGB2
= TAG_Int(0);
14666 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14667 if (UNTAG_Bool(REGB0
)) {
14669 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14671 /* ./../lib/standard//kernel.nit:233 */
14672 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14673 /* ./../lib/standard//collection//array.nit:280 */
14674 if (UNTAG_Bool(REGB2
)) {
14675 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14676 if (UNTAG_Bool(REGB2
)) {
14678 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14680 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14681 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14682 if (UNTAG_Bool(REGB0
)) {
14684 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14686 /* ./../lib/standard//kernel.nit:232 */
14687 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14689 /* ./../lib/standard//collection//array.nit:280 */
14690 REGB0
= TAG_Bool(false);
14693 if (UNTAG_Bool(REGB2
)) {
14695 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14697 /* ./../lib/standard//collection//array.nit:281 */
14698 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14699 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14700 if (UNTAG_Bool(REGB2
)) {
14701 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14703 /* ./../lib/standard//collection//array.nit:718 */
14704 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14705 /* ./../lib/standard//collection//array.nit:281 */
14707 label446
: while(0);
14708 /* ./compiling//compiling_icode.nit:876 */
14709 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14710 if (!once_value_447
) {
14711 fra
.me
.REG
[2] = BOX_NativeString(")))");
14712 REGB1
= TAG_Int(3);
14713 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14714 once_value_447
= fra
.me
.REG
[2];
14715 register_static_object(&once_value_447
);
14716 } else fra
.me
.REG
[2] = once_value_447
;
14717 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14718 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14719 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14720 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14722 /* ./compiling//compiling_icode.nit:877 */
14723 if (!once_value_448
) {
14724 if (!once_value_449
) {
14725 fra
.me
.REG
[6] = BOX_NativeString("exit");
14726 REGB1
= TAG_Int(4);
14727 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14728 once_value_449
= fra
.me
.REG
[6];
14729 register_static_object(&once_value_449
);
14730 } else fra
.me
.REG
[6] = once_value_449
;
14731 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14732 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14733 once_value_448
= fra
.me
.REG
[6];
14734 register_static_object(&once_value_448
);
14735 } else fra
.me
.REG
[6] = once_value_448
;
14736 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14737 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14738 if (UNTAG_Bool(REGB1
)) {
14740 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14743 if (UNTAG_Bool(REGB1
)) {
14744 /* ./compiling//compiling_icode.nit:878 */
14745 REGB1
= TAG_Int(3);
14746 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14747 if (!once_value_450
) {
14748 fra
.me
.REG
[2] = BOX_NativeString("exit(UNTAG_Int(");
14749 REGB1
= TAG_Int(15);
14750 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14751 once_value_450
= fra
.me
.REG
[2];
14752 register_static_object(&once_value_450
);
14753 } else fra
.me
.REG
[2] = once_value_450
;
14754 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14755 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14756 REGB1
= TAG_Int(1);
14757 /* ./../lib/standard//collection//array.nit:278 */
14758 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14759 /* ./../lib/standard//collection//array.nit:280 */
14760 REGB2
= TAG_Int(0);
14761 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14762 if (UNTAG_Bool(REGB0
)) {
14764 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14766 /* ./../lib/standard//kernel.nit:233 */
14767 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14768 /* ./../lib/standard//collection//array.nit:280 */
14769 if (UNTAG_Bool(REGB2
)) {
14770 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14771 if (UNTAG_Bool(REGB2
)) {
14773 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14775 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14776 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14777 if (UNTAG_Bool(REGB0
)) {
14779 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14781 /* ./../lib/standard//kernel.nit:232 */
14782 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14784 /* ./../lib/standard//collection//array.nit:280 */
14785 REGB0
= TAG_Bool(false);
14788 if (UNTAG_Bool(REGB2
)) {
14790 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14792 /* ./../lib/standard//collection//array.nit:281 */
14793 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14794 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14795 if (UNTAG_Bool(REGB2
)) {
14796 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14798 /* ./../lib/standard//collection//array.nit:718 */
14799 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14800 /* ./../lib/standard//collection//array.nit:281 */
14802 label451
: while(0);
14803 /* ./compiling//compiling_icode.nit:878 */
14804 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14805 if (!once_value_452
) {
14806 fra
.me
.REG
[2] = BOX_NativeString("));");
14807 REGB1
= TAG_Int(3);
14808 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14809 once_value_452
= fra
.me
.REG
[2];
14810 register_static_object(&once_value_452
);
14811 } else fra
.me
.REG
[2] = once_value_452
;
14812 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14813 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14814 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14815 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14817 /* ./compiling//compiling_icode.nit:879 */
14818 if (!once_value_453
) {
14819 if (!once_value_454
) {
14820 fra
.me
.REG
[6] = BOX_NativeString("calloc_array");
14821 REGB1
= TAG_Int(12);
14822 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14823 once_value_454
= fra
.me
.REG
[6];
14824 register_static_object(&once_value_454
);
14825 } else fra
.me
.REG
[6] = once_value_454
;
14826 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14827 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14828 once_value_453
= fra
.me
.REG
[6];
14829 register_static_object(&once_value_453
);
14830 } else fra
.me
.REG
[6] = once_value_453
;
14831 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14832 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14833 if (UNTAG_Bool(REGB1
)) {
14835 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14838 if (UNTAG_Bool(REGB1
)) {
14839 /* ./compiling//compiling_icode.nit:880 */
14840 REGB1
= TAG_Int(3);
14841 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14842 if (!once_value_455
) {
14843 fra
.me
.REG
[2] = BOX_NativeString("NEW_NativeArray(UNTAG_Int(");
14844 REGB1
= TAG_Int(26);
14845 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14846 once_value_455
= fra
.me
.REG
[2];
14847 register_static_object(&once_value_455
);
14848 } else fra
.me
.REG
[2] = once_value_455
;
14849 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14850 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14851 REGB1
= TAG_Int(1);
14852 /* ./../lib/standard//collection//array.nit:278 */
14853 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14854 /* ./../lib/standard//collection//array.nit:280 */
14855 REGB2
= TAG_Int(0);
14856 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14857 if (UNTAG_Bool(REGB0
)) {
14859 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14861 /* ./../lib/standard//kernel.nit:233 */
14862 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14863 /* ./../lib/standard//collection//array.nit:280 */
14864 if (UNTAG_Bool(REGB2
)) {
14865 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14866 if (UNTAG_Bool(REGB2
)) {
14868 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14870 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14871 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14872 if (UNTAG_Bool(REGB0
)) {
14874 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14876 /* ./../lib/standard//kernel.nit:232 */
14877 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14879 /* ./../lib/standard//collection//array.nit:280 */
14880 REGB0
= TAG_Bool(false);
14883 if (UNTAG_Bool(REGB2
)) {
14885 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14887 /* ./../lib/standard//collection//array.nit:281 */
14888 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14889 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14890 if (UNTAG_Bool(REGB2
)) {
14891 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14893 /* ./../lib/standard//collection//array.nit:718 */
14894 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14895 /* ./../lib/standard//collection//array.nit:281 */
14897 label456
: while(0);
14898 /* ./compiling//compiling_icode.nit:880 */
14899 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14900 if (!once_value_457
) {
14901 fra
.me
.REG
[2] = BOX_NativeString("), sizeof(val_t))");
14902 REGB1
= TAG_Int(17);
14903 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14904 once_value_457
= fra
.me
.REG
[2];
14905 register_static_object(&once_value_457
);
14906 } else fra
.me
.REG
[2] = once_value_457
;
14907 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14908 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14909 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14910 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14912 /* ./compiling//compiling_icode.nit:881 */
14913 if (!once_value_458
) {
14914 if (!once_value_459
) {
14915 fra
.me
.REG
[6] = BOX_NativeString("calloc_string");
14916 REGB1
= TAG_Int(13);
14917 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14918 once_value_459
= fra
.me
.REG
[6];
14919 register_static_object(&once_value_459
);
14920 } else fra
.me
.REG
[6] = once_value_459
;
14921 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14922 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14923 once_value_458
= fra
.me
.REG
[6];
14924 register_static_object(&once_value_458
);
14925 } else fra
.me
.REG
[6] = once_value_458
;
14926 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14927 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14928 if (UNTAG_Bool(REGB1
)) {
14930 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14933 if (UNTAG_Bool(REGB1
)) {
14934 /* ./compiling//compiling_icode.nit:882 */
14935 REGB1
= TAG_Int(3);
14936 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14937 if (!once_value_460
) {
14938 fra
.me
.REG
[2] = BOX_NativeString("BOX_NativeString((char*)raw_alloc((UNTAG_Int(");
14939 REGB1
= TAG_Int(45);
14940 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14941 once_value_460
= fra
.me
.REG
[2];
14942 register_static_object(&once_value_460
);
14943 } else fra
.me
.REG
[2] = once_value_460
;
14944 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14945 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14946 REGB1
= TAG_Int(1);
14947 /* ./../lib/standard//collection//array.nit:278 */
14948 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14949 /* ./../lib/standard//collection//array.nit:280 */
14950 REGB2
= TAG_Int(0);
14951 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14952 if (UNTAG_Bool(REGB0
)) {
14954 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14956 /* ./../lib/standard//kernel.nit:233 */
14957 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14958 /* ./../lib/standard//collection//array.nit:280 */
14959 if (UNTAG_Bool(REGB2
)) {
14960 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14961 if (UNTAG_Bool(REGB2
)) {
14963 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14965 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14966 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14967 if (UNTAG_Bool(REGB0
)) {
14969 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14971 /* ./../lib/standard//kernel.nit:232 */
14972 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14974 /* ./../lib/standard//collection//array.nit:280 */
14975 REGB0
= TAG_Bool(false);
14978 if (UNTAG_Bool(REGB2
)) {
14980 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
14982 /* ./../lib/standard//collection//array.nit:281 */
14983 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14984 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14985 if (UNTAG_Bool(REGB2
)) {
14986 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14988 /* ./../lib/standard//collection//array.nit:718 */
14989 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14990 /* ./../lib/standard//collection//array.nit:281 */
14992 label461
: while(0);
14993 /* ./compiling//compiling_icode.nit:882 */
14994 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14995 if (!once_value_462
) {
14996 fra
.me
.REG
[2] = BOX_NativeString(") * sizeof(char))))");
14997 REGB1
= TAG_Int(19);
14998 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14999 once_value_462
= fra
.me
.REG
[2];
15000 register_static_object(&once_value_462
);
15001 } else fra
.me
.REG
[2] = once_value_462
;
15002 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15003 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15004 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15005 fra
.me
.REG
[5] = fra
.me
.REG
[6];
15007 /* ./compiling//compiling_icode.nit:884 */
15008 if (!once_value_463
) {
15009 if (!once_value_464
) {
15010 fra
.me
.REG
[6] = BOX_NativeString("output_class_name");
15011 REGB1
= TAG_Int(17);
15012 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15013 once_value_464
= fra
.me
.REG
[6];
15014 register_static_object(&once_value_464
);
15015 } else fra
.me
.REG
[6] = once_value_464
;
15016 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15017 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15018 once_value_463
= fra
.me
.REG
[6];
15019 register_static_object(&once_value_463
);
15020 } else fra
.me
.REG
[6] = once_value_463
;
15021 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15022 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
15023 if (UNTAG_Bool(REGB1
)) {
15025 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
15028 if (UNTAG_Bool(REGB1
)) {
15029 /* ./compiling//compiling_icode.nit:885 */
15030 REGB1
= TAG_Int(3);
15031 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15032 if (!once_value_465
) {
15033 fra
.me
.REG
[2] = BOX_NativeString("printf(\"%s\\n\", VAL2VFT(");
15034 REGB1
= TAG_Int(23);
15035 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15036 once_value_465
= fra
.me
.REG
[2];
15037 register_static_object(&once_value_465
);
15038 } else fra
.me
.REG
[2] = once_value_465
;
15039 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15040 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15041 REGB1
= TAG_Int(0);
15042 /* ./../lib/standard//collection//array.nit:278 */
15043 fra
.me
.REG
[2] = fra
.me
.REG
[4];
15044 /* ./../lib/standard//collection//array.nit:280 */
15045 REGB2
= TAG_Int(0);
15046 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15047 if (UNTAG_Bool(REGB0
)) {
15049 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15051 /* ./../lib/standard//kernel.nit:233 */
15052 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
15053 /* ./../lib/standard//collection//array.nit:280 */
15054 if (UNTAG_Bool(REGB2
)) {
15055 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
15056 if (UNTAG_Bool(REGB2
)) {
15058 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
15060 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
15061 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15062 if (UNTAG_Bool(REGB0
)) {
15064 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15066 /* ./../lib/standard//kernel.nit:232 */
15067 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
15069 /* ./../lib/standard//collection//array.nit:280 */
15070 REGB0
= TAG_Bool(false);
15073 if (UNTAG_Bool(REGB2
)) {
15075 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
15077 /* ./../lib/standard//collection//array.nit:281 */
15078 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
15079 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
15080 if (UNTAG_Bool(REGB2
)) {
15081 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
15083 /* ./../lib/standard//collection//array.nit:718 */
15084 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
15085 /* ./../lib/standard//collection//array.nit:281 */
15087 label466
: while(0);
15088 /* ./compiling//compiling_icode.nit:885 */
15089 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15090 if (!once_value_467
) {
15091 fra
.me
.REG
[2] = BOX_NativeString(")[2].cname);");
15092 REGB1
= TAG_Int(12);
15093 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15094 once_value_467
= fra
.me
.REG
[2];
15095 register_static_object(&once_value_467
);
15096 } else fra
.me
.REG
[2] = once_value_467
;
15097 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15098 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15099 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15100 fra
.me
.REG
[5] = fra
.me
.REG
[6];
15102 /* ./compiling//compiling_icode.nit:887 */
15103 if (!once_value_468
) {
15104 if (!once_value_469
) {
15105 fra
.me
.REG
[6] = BOX_NativeString("native_class_name");
15106 REGB1
= TAG_Int(17);
15107 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15108 once_value_469
= fra
.me
.REG
[6];
15109 register_static_object(&once_value_469
);
15110 } else fra
.me
.REG
[6] = once_value_469
;
15111 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15112 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15113 once_value_468
= fra
.me
.REG
[6];
15114 register_static_object(&once_value_468
);
15115 } else fra
.me
.REG
[6] = once_value_468
;
15116 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15117 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
15118 if (UNTAG_Bool(REGB1
)) {
15120 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
15123 if (UNTAG_Bool(REGB1
)) {
15124 /* ./compiling//compiling_icode.nit:888 */
15125 REGB1
= TAG_Int(3);
15126 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15127 if (!once_value_470
) {
15128 fra
.me
.REG
[3] = BOX_NativeString("BOX_NativeString(VAL2VFT(");
15129 REGB1
= TAG_Int(25);
15130 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
15131 once_value_470
= fra
.me
.REG
[3];
15132 register_static_object(&once_value_470
);
15133 } else fra
.me
.REG
[3] = once_value_470
;
15134 fra
.me
.REG
[3] = fra
.me
.REG
[3];
15135 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
15136 REGB1
= TAG_Int(0);
15137 /* ./../lib/standard//collection//array.nit:280 */
15138 REGB2
= TAG_Int(0);
15139 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15140 if (UNTAG_Bool(REGB0
)) {
15142 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15144 /* ./../lib/standard//kernel.nit:233 */
15145 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
15146 /* ./../lib/standard//collection//array.nit:280 */
15147 if (UNTAG_Bool(REGB2
)) {
15148 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
15149 if (UNTAG_Bool(REGB2
)) {
15151 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
15153 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
15154 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15155 if (UNTAG_Bool(REGB0
)) {
15157 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15159 /* ./../lib/standard//kernel.nit:232 */
15160 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
15162 /* ./../lib/standard//collection//array.nit:280 */
15163 REGB0
= TAG_Bool(false);
15166 if (UNTAG_Bool(REGB2
)) {
15168 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
15170 /* ./../lib/standard//collection//array.nit:281 */
15171 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
15172 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
15173 if (UNTAG_Bool(REGB2
)) {
15174 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
15176 /* ./../lib/standard//collection//array.nit:718 */
15177 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB1
)];
15178 /* ./../lib/standard//collection//array.nit:281 */
15180 label471
: while(0);
15181 /* ./compiling//compiling_icode.nit:888 */
15182 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
15183 if (!once_value_472
) {
15184 fra
.me
.REG
[4] = BOX_NativeString(")[2].cname);");
15185 REGB1
= TAG_Int(12);
15186 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
15187 once_value_472
= fra
.me
.REG
[4];
15188 register_static_object(&once_value_472
);
15189 } else fra
.me
.REG
[4] = once_value_472
;
15190 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15191 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
15192 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15193 fra
.me
.REG
[5] = fra
.me
.REG
[6];
15208 /* ./compiling//compiling_icode.nit:891 */
15209 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
15210 if (UNTAG_Bool(REGB1
)) {
15212 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
15213 if (UNTAG_Bool(REGB2
)) {
15214 REGB2
= TAG_Bool(false);
15217 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
15221 if (UNTAG_Bool(REGB1
)) {
15222 /* ./compiling//compiling_icode.nit:892 */
15223 fra
.me
.REG
[6] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15224 /* ./compiling//compiling_icode.nit:893 */
15225 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
15226 if (UNTAG_Bool(REGB1
)) {
15228 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
15229 if (UNTAG_Bool(REGB2
)) {
15230 REGB2
= TAG_Bool(false);
15233 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
15237 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
15238 if (UNTAG_Bool(REGB1
)) {
15239 REGB1
= TAG_Int(3);
15240 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15241 if (!once_value_473
) {
15242 fra
.me
.REG
[3] = BOX_NativeString("fprintf(stderr, \"");
15243 REGB1
= TAG_Int(17);
15244 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
15245 once_value_473
= fra
.me
.REG
[3];
15246 register_static_object(&once_value_473
);
15247 } else fra
.me
.REG
[3] = once_value_473
;
15248 fra
.me
.REG
[3] = fra
.me
.REG
[3];
15249 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
15250 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
15251 if (UNTAG_Bool(REGB1
)) {
15252 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 893);
15254 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15255 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15256 if (!once_value_474
) {
15257 fra
.me
.REG
[6] = BOX_NativeString(": \");");
15258 REGB1
= TAG_Int(5);
15259 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15260 once_value_474
= fra
.me
.REG
[6];
15261 register_static_object(&once_value_474
);
15262 } else fra
.me
.REG
[6] = once_value_474
;
15263 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15264 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15265 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
15266 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
15268 /* ./compiling//compiling_icode.nit:894 */
15269 REGB1
= TAG_Int(3);
15270 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15271 if (!once_value_475
) {
15272 fra
.me
.REG
[6] = BOX_NativeString("fprintf(stderr, \"Fatal error: unknown intern method ");
15273 REGB1
= TAG_Int(52);
15274 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15275 once_value_475
= fra
.me
.REG
[6];
15276 register_static_object(&once_value_475
);
15277 } else fra
.me
.REG
[6] = once_value_475
;
15278 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15279 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15280 fra
.me
.REG
[6] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15281 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15282 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15283 if (!once_value_476
) {
15284 fra
.me
.REG
[6] = BOX_NativeString(".\\n\");");
15285 REGB1
= TAG_Int(6);
15286 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15287 once_value_476
= fra
.me
.REG
[6];
15288 register_static_object(&once_value_476
);
15289 } else fra
.me
.REG
[6] = once_value_476
;
15290 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15291 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15292 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
15293 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
15294 /* ./compiling//compiling_icode.nit:895 */
15295 if (!once_value_477
) {
15296 fra
.me
.REG
[4] = BOX_NativeString("nit_exit(1);");
15297 REGB1
= TAG_Int(12);
15298 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
15299 once_value_477
= fra
.me
.REG
[4];
15300 register_static_object(&once_value_477
);
15301 } else fra
.me
.REG
[4] = once_value_477
;
15302 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15303 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
15304 /* ./compiling//compiling_icode.nit:896 */
15305 if (!once_value_478
) {
15306 fra
.me
.REG
[4] = BOX_NativeString("NIT_NULL");
15307 REGB1
= TAG_Int(8);
15308 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
15309 once_value_478
= fra
.me
.REG
[4];
15310 register_static_object(&once_value_478
);
15311 } else fra
.me
.REG
[4] = once_value_478
;
15312 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15313 fra
.me
.REG
[5] = fra
.me
.REG
[4];
15315 /* ./compiling//compiling_icode.nit:898 */
15316 fra
.me
.REG
[4] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15317 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
15318 if (UNTAG_Bool(REGB1
)) {
15320 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
15321 if (UNTAG_Bool(REGB2
)) {
15322 REGB2
= TAG_Bool(false);
15325 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
15329 if (UNTAG_Bool(REGB1
)) {
15330 /* ./compiling//compiling_icode.nit:899 */
15331 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15332 fra
.me
.REG
[4] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
15333 if (!once_value_479
) {
15334 fra
.me
.REG
[6] = BOX_NativeString(";\n");
15335 REGB1
= TAG_Int(2);
15336 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15337 once_value_479
= fra
.me
.REG
[6];
15338 register_static_object(&once_value_479
);
15339 } else fra
.me
.REG
[6] = once_value_479
;
15340 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15341 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15343 /* ./compiling//compiling_icode.nit:900 */
15344 REGB1
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15345 if (UNTAG_Bool(REGB1
)) {
15346 /* ./compiling//compiling_icode.nit:901 */
15347 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15348 /* ./compiling//compiling_icode.nit:902 */
15349 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
15352 stack_frame_head
= fra
.me
.prev
;
15355 void compiling___compiling_icode___IIntValue___compile_to_c(val_t p0
, val_t p1
){
15356 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15359 static val_t once_value_1
; /* Once value */
15360 static val_t once_value_2
; /* Once value */
15361 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15362 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15364 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IIntValue___compile_to_c
;
15365 fra
.me
.has_broke
= 0;
15366 fra
.me
.REG_size
= 3;
15367 fra
.me
.REG
[0] = NIT_NULL
;
15368 fra
.me
.REG
[1] = NIT_NULL
;
15369 fra
.me
.REG
[2] = NIT_NULL
;
15370 fra
.me
.REG
[0] = p0
;
15371 fra
.me
.REG
[1] = p1
;
15372 /* ./compiling//compiling_icode.nit:910 */
15373 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15374 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15375 /* ./compiling//compiling_icode.nit:911 */
15376 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15377 /* ./compiling//compiling_icode.nit:912 */
15378 if (!once_value_1
) {
15379 fra
.me
.REG
[2] = BOX_NativeString("TAG_Int(");
15380 REGB0
= TAG_Int(8);
15381 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15382 once_value_1
= fra
.me
.REG
[2];
15383 register_static_object(&once_value_1
);
15384 } else fra
.me
.REG
[2] = once_value_1
;
15385 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15386 fra
.me
.REG
[2] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15387 fra
.me
.REG
[0] = CALL_icode___icode_base___IIntValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15388 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15389 fra
.me
.REG
[0] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15390 if (!once_value_2
) {
15391 fra
.me
.REG
[2] = BOX_NativeString(")");
15392 REGB0
= TAG_Int(1);
15393 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15394 once_value_2
= fra
.me
.REG
[2];
15395 register_static_object(&once_value_2
);
15396 } else fra
.me
.REG
[2] = once_value_2
;
15397 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15398 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
15399 stack_frame_head
= fra
.me
.prev
;
15402 void compiling___compiling_icode___IBoolValue___compile_to_c(val_t p0
, val_t p1
){
15403 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15406 static val_t once_value_1
; /* Once value */
15407 static val_t once_value_2
; /* Once value */
15408 static val_t once_value_3
; /* Once value */
15409 static val_t once_value_4
; /* Once value */
15410 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15411 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15413 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IBoolValue___compile_to_c
;
15414 fra
.me
.has_broke
= 0;
15415 fra
.me
.REG_size
= 3;
15416 fra
.me
.REG
[0] = NIT_NULL
;
15417 fra
.me
.REG
[1] = NIT_NULL
;
15418 fra
.me
.REG
[2] = NIT_NULL
;
15419 fra
.me
.REG
[0] = p0
;
15420 fra
.me
.REG
[1] = p1
;
15421 /* ./compiling//compiling_icode.nit:919 */
15422 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15423 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15424 /* ./compiling//compiling_icode.nit:920 */
15425 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15426 /* ./compiling//compiling_icode.nit:921 */
15427 if (!once_value_1
) {
15428 fra
.me
.REG
[2] = BOX_NativeString("TAG_Bool(");
15429 REGB0
= TAG_Int(9);
15430 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15431 once_value_1
= fra
.me
.REG
[2];
15432 register_static_object(&once_value_1
);
15433 } else fra
.me
.REG
[2] = once_value_1
;
15434 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15435 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15436 /* ./compiling//compiling_icode.nit:922 */
15437 REGB0
= CALL_icode___icode_base___IBoolValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15438 if (UNTAG_Bool(REGB0
)) {
15439 if (!once_value_2
) {
15440 fra
.me
.REG
[0] = BOX_NativeString("true");
15441 REGB0
= TAG_Int(4);
15442 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
15443 once_value_2
= fra
.me
.REG
[0];
15444 register_static_object(&once_value_2
);
15445 } else fra
.me
.REG
[0] = once_value_2
;
15446 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15447 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15449 if (!once_value_3
) {
15450 fra
.me
.REG
[0] = BOX_NativeString("false");
15451 REGB0
= TAG_Int(5);
15452 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
15453 once_value_3
= fra
.me
.REG
[0];
15454 register_static_object(&once_value_3
);
15455 } else fra
.me
.REG
[0] = once_value_3
;
15456 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15457 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15459 /* ./compiling//compiling_icode.nit:923 */
15460 if (!once_value_4
) {
15461 fra
.me
.REG
[0] = BOX_NativeString(")");
15462 REGB0
= TAG_Int(1);
15463 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
15464 once_value_4
= fra
.me
.REG
[0];
15465 register_static_object(&once_value_4
);
15466 } else fra
.me
.REG
[0] = once_value_4
;
15467 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15468 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15469 stack_frame_head
= fra
.me
.prev
;
15472 void compiling___compiling_icode___ICharValue___compile_to_c(val_t p0
, val_t p1
){
15473 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15476 static val_t once_value_1
; /* Once value */
15477 static val_t once_value_2
; /* Once value */
15478 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15479 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15481 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICharValue___compile_to_c
;
15482 fra
.me
.has_broke
= 0;
15483 fra
.me
.REG_size
= 3;
15484 fra
.me
.REG
[0] = NIT_NULL
;
15485 fra
.me
.REG
[1] = NIT_NULL
;
15486 fra
.me
.REG
[2] = NIT_NULL
;
15487 fra
.me
.REG
[0] = p0
;
15488 fra
.me
.REG
[1] = p1
;
15489 /* ./compiling//compiling_icode.nit:930 */
15490 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15491 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15492 /* ./compiling//compiling_icode.nit:931 */
15493 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15494 /* ./compiling//compiling_icode.nit:932 */
15495 if (!once_value_1
) {
15496 fra
.me
.REG
[2] = BOX_NativeString("TAG_Char(");
15497 REGB0
= TAG_Int(9);
15498 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15499 once_value_1
= fra
.me
.REG
[2];
15500 register_static_object(&once_value_1
);
15501 } else fra
.me
.REG
[2] = once_value_1
;
15502 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15503 fra
.me
.REG
[2] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15504 fra
.me
.REG
[0] = CALL_icode___icode_base___ICharValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15505 fra
.me
.REG
[0] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15506 if (!once_value_2
) {
15507 fra
.me
.REG
[2] = BOX_NativeString(")");
15508 REGB0
= TAG_Int(1);
15509 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15510 once_value_2
= fra
.me
.REG
[2];
15511 register_static_object(&once_value_2
);
15512 } else fra
.me
.REG
[2] = once_value_2
;
15513 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15514 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
15515 stack_frame_head
= fra
.me
.prev
;
15518 void compiling___compiling_icode___IFloatValue___compile_to_c(val_t p0
, val_t p1
){
15519 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15522 static val_t once_value_1
; /* Once value */
15523 static val_t once_value_2
; /* Once value */
15524 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15525 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15527 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IFloatValue___compile_to_c
;
15528 fra
.me
.has_broke
= 0;
15529 fra
.me
.REG_size
= 3;
15530 fra
.me
.REG
[0] = NIT_NULL
;
15531 fra
.me
.REG
[1] = NIT_NULL
;
15532 fra
.me
.REG
[2] = NIT_NULL
;
15533 fra
.me
.REG
[0] = p0
;
15534 fra
.me
.REG
[1] = p1
;
15535 /* ./compiling//compiling_icode.nit:939 */
15536 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15537 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15538 /* ./compiling//compiling_icode.nit:940 */
15539 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15540 /* ./compiling//compiling_icode.nit:941 */
15541 if (!once_value_1
) {
15542 fra
.me
.REG
[2] = BOX_NativeString("BOX_Float(");
15543 REGB0
= TAG_Int(10);
15544 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15545 once_value_1
= fra
.me
.REG
[2];
15546 register_static_object(&once_value_1
);
15547 } else fra
.me
.REG
[2] = once_value_1
;
15548 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15549 fra
.me
.REG
[2] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15550 fra
.me
.REG
[0] = CALL_icode___icode_base___IFloatValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15551 fra
.me
.REG
[0] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15552 if (!once_value_2
) {
15553 fra
.me
.REG
[2] = BOX_NativeString(")");
15554 REGB0
= TAG_Int(1);
15555 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15556 once_value_2
= fra
.me
.REG
[2];
15557 register_static_object(&once_value_2
);
15558 } else fra
.me
.REG
[2] = once_value_2
;
15559 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15560 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
15561 stack_frame_head
= fra
.me
.prev
;
15564 void compiling___compiling_icode___IStringValue___compile_to_c(val_t p0
, val_t p1
){
15565 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15568 static val_t once_value_1
; /* Once value */
15569 static val_t once_value_2
; /* Once value */
15570 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15571 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15573 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IStringValue___compile_to_c
;
15574 fra
.me
.has_broke
= 0;
15575 fra
.me
.REG_size
= 3;
15576 fra
.me
.REG
[0] = NIT_NULL
;
15577 fra
.me
.REG
[1] = NIT_NULL
;
15578 fra
.me
.REG
[2] = NIT_NULL
;
15579 fra
.me
.REG
[0] = p0
;
15580 fra
.me
.REG
[1] = p1
;
15581 /* ./compiling//compiling_icode.nit:948 */
15582 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15583 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15584 /* ./compiling//compiling_icode.nit:949 */
15585 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15586 /* ./compiling//compiling_icode.nit:950 */
15587 if (!once_value_1
) {
15588 fra
.me
.REG
[2] = BOX_NativeString("BOX_NativeString(\"");
15589 REGB0
= TAG_Int(18);
15590 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15591 once_value_1
= fra
.me
.REG
[2];
15592 register_static_object(&once_value_1
);
15593 } else fra
.me
.REG
[2] = once_value_1
;
15594 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15595 fra
.me
.REG
[2] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15596 fra
.me
.REG
[0] = CALL_icode___icode_base___IStringValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15597 fra
.me
.REG
[0] = CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15598 if (!once_value_2
) {
15599 fra
.me
.REG
[2] = BOX_NativeString("\")");
15600 REGB0
= TAG_Int(2);
15601 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15602 once_value_2
= fra
.me
.REG
[2];
15603 register_static_object(&once_value_2
);
15604 } else fra
.me
.REG
[2] = once_value_2
;
15605 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15606 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
15607 stack_frame_head
= fra
.me
.prev
;
15610 void compiling___compiling_icode___IAbort___compile_to_c(val_t p0
, val_t p1
){
15611 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15616 static val_t once_value_1
; /* Once value */
15617 static val_t once_value_3
; /* Once value */
15618 static val_t once_value_5
; /* Once value */
15619 static val_t once_value_6
; /* Once value */
15620 static val_t once_value_7
; /* Once value */
15621 static val_t once_value_8
; /* Once value */
15622 static val_t once_value_9
; /* Once value */
15623 static val_t once_value_10
; /* Once value */
15624 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15625 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15627 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAbort___compile_to_c
;
15628 fra
.me
.has_broke
= 0;
15629 fra
.me
.REG_size
= 3;
15630 fra
.me
.REG
[0] = NIT_NULL
;
15631 fra
.me
.REG
[1] = NIT_NULL
;
15632 fra
.me
.REG
[2] = NIT_NULL
;
15633 fra
.me
.REG
[0] = p0
;
15634 fra
.me
.REG
[1] = p1
;
15635 /* ./compiling//compiling_icode.nit:957 */
15636 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15637 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15638 /* ./compiling//compiling_icode.nit:958 */
15639 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15640 /* ./compiling//compiling_icode.nit:959 */
15641 if (!once_value_1
) {
15642 fra
.me
.REG
[2] = BOX_NativeString("nit_abort(\"");
15643 REGB0
= TAG_Int(11);
15644 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15645 once_value_1
= fra
.me
.REG
[2];
15646 register_static_object(&once_value_1
);
15647 } else fra
.me
.REG
[2] = once_value_1
;
15648 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15649 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15650 /* ./compiling//compiling_icode.nit:960 */
15651 fra
.me
.REG
[2] = CALL_icode___icode_base___IAbort___texts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15652 REGB0
= TAG_Int(0);
15653 /* ./../lib/standard//collection//array.nit:280 */
15654 REGB1
= TAG_Int(0);
15655 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
15656 if (UNTAG_Bool(REGB2
)) {
15658 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15660 /* ./../lib/standard//kernel.nit:233 */
15661 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
15662 /* ./../lib/standard//collection//array.nit:280 */
15663 if (UNTAG_Bool(REGB1
)) {
15664 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
15665 if (UNTAG_Bool(REGB1
)) {
15667 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
15669 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
15670 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
15671 if (UNTAG_Bool(REGB2
)) {
15673 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15675 /* ./../lib/standard//kernel.nit:232 */
15676 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
15678 /* ./../lib/standard//collection//array.nit:280 */
15679 REGB2
= TAG_Bool(false);
15682 if (UNTAG_Bool(REGB1
)) {
15684 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
15686 /* ./../lib/standard//collection//array.nit:281 */
15687 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
15688 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
15689 if (UNTAG_Bool(REGB1
)) {
15690 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
15692 /* ./../lib/standard//collection//array.nit:718 */
15693 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
15694 /* ./../lib/standard//collection//array.nit:281 */
15697 /* ./compiling//compiling_icode.nit:960 */
15698 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15699 /* ./compiling//compiling_icode.nit:961 */
15700 fra
.me
.REG
[2] = CALL_icode___icode_base___IAbort___texts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15701 /* ./../lib/standard//collection//array.nit:24 */
15702 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
15703 if (UNTAG_Bool(REGB0
)) {
15705 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
15707 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
15708 /* ./compiling//compiling_icode.nit:961 */
15709 REGB1
= TAG_Int(1);
15710 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
15711 if (UNTAG_Bool(REGB2
)) {
15713 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15715 /* ./../lib/standard//kernel.nit:234 */
15716 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
15717 /* ./compiling//compiling_icode.nit:961 */
15718 if (UNTAG_Bool(REGB1
)) {
15719 /* ./compiling//compiling_icode.nit:962 */
15720 if (!once_value_3
) {
15721 fra
.me
.REG
[2] = BOX_NativeString("\", \"");
15722 REGB1
= TAG_Int(4);
15723 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15724 once_value_3
= fra
.me
.REG
[2];
15725 register_static_object(&once_value_3
);
15726 } else fra
.me
.REG
[2] = once_value_3
;
15727 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15728 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15729 /* ./compiling//compiling_icode.nit:963 */
15730 fra
.me
.REG
[2] = CALL_icode___icode_base___IAbort___texts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15731 REGB1
= TAG_Int(1);
15732 /* ./../lib/standard//collection//array.nit:280 */
15733 REGB0
= TAG_Int(0);
15734 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15735 if (UNTAG_Bool(REGB2
)) {
15737 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15739 /* ./../lib/standard//kernel.nit:233 */
15740 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
15741 /* ./../lib/standard//collection//array.nit:280 */
15742 if (UNTAG_Bool(REGB0
)) {
15743 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
15744 if (UNTAG_Bool(REGB0
)) {
15746 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
15748 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
15749 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15750 if (UNTAG_Bool(REGB2
)) {
15752 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15754 /* ./../lib/standard//kernel.nit:232 */
15755 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
15757 /* ./../lib/standard//collection//array.nit:280 */
15758 REGB2
= TAG_Bool(false);
15761 if (UNTAG_Bool(REGB0
)) {
15763 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
15765 /* ./../lib/standard//collection//array.nit:281 */
15766 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
15767 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
15768 if (UNTAG_Bool(REGB0
)) {
15769 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
15771 /* ./../lib/standard//collection//array.nit:718 */
15772 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
15773 /* ./../lib/standard//collection//array.nit:281 */
15776 /* ./compiling//compiling_icode.nit:963 */
15777 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15778 /* ./compiling//compiling_icode.nit:964 */
15779 if (!once_value_5
) {
15780 fra
.me
.REG
[2] = BOX_NativeString("\"");
15781 REGB1
= TAG_Int(1);
15782 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15783 once_value_5
= fra
.me
.REG
[2];
15784 register_static_object(&once_value_5
);
15785 } else fra
.me
.REG
[2] = once_value_5
;
15786 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15787 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15789 /* ./compiling//compiling_icode.nit:966 */
15790 if (!once_value_6
) {
15791 fra
.me
.REG
[2] = BOX_NativeString("\", NULL");
15792 REGB1
= TAG_Int(7);
15793 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15794 once_value_6
= fra
.me
.REG
[2];
15795 register_static_object(&once_value_6
);
15796 } else fra
.me
.REG
[2] = once_value_6
;
15797 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15798 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15800 /* ./compiling//compiling_icode.nit:968 */
15801 if (!once_value_7
) {
15802 fra
.me
.REG
[2] = BOX_NativeString(", LOCATE_");
15803 REGB1
= TAG_Int(9);
15804 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15805 once_value_7
= fra
.me
.REG
[2];
15806 register_static_object(&once_value_7
);
15807 } else fra
.me
.REG
[2] = once_value_7
;
15808 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15809 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15810 /* ./compiling//compiling_icode.nit:969 */
15811 fra
.me
.REG
[2] = CALL_icode___icode_base___IAbort___module_location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15812 fra
.me
.REG
[2] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
15813 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15814 /* ./compiling//compiling_icode.nit:970 */
15815 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15816 /* ./compiling//compiling_icode.nit:971 */
15817 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
15818 if (UNTAG_Bool(REGB1
)) {
15820 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
15821 if (UNTAG_Bool(REGB0
)) {
15822 REGB0
= TAG_Bool(false);
15825 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
15829 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
15830 if (UNTAG_Bool(REGB1
)) {
15831 /* ./compiling//compiling_icode.nit:972 */
15832 if (!once_value_8
) {
15833 fra
.me
.REG
[2] = BOX_NativeString(", ");
15834 REGB1
= TAG_Int(2);
15835 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15836 once_value_8
= fra
.me
.REG
[2];
15837 register_static_object(&once_value_8
);
15838 } else fra
.me
.REG
[2] = once_value_8
;
15839 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15840 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15841 /* ./compiling//compiling_icode.nit:973 */
15842 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
15843 if (UNTAG_Bool(REGB1
)) {
15844 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 973);
15846 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15847 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
15848 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15850 /* ./compiling//compiling_icode.nit:975 */
15851 if (!once_value_9
) {
15852 fra
.me
.REG
[0] = BOX_NativeString(", 0");
15853 REGB1
= TAG_Int(3);
15854 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB1
);
15855 once_value_9
= fra
.me
.REG
[0];
15856 register_static_object(&once_value_9
);
15857 } else fra
.me
.REG
[0] = once_value_9
;
15858 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15859 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15861 /* ./compiling//compiling_icode.nit:977 */
15862 if (!once_value_10
) {
15863 fra
.me
.REG
[0] = BOX_NativeString(");\n");
15864 REGB1
= TAG_Int(3);
15865 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB1
);
15866 once_value_10
= fra
.me
.REG
[0];
15867 register_static_object(&once_value_10
);
15868 } else fra
.me
.REG
[0] = once_value_10
;
15869 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15870 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15871 stack_frame_head
= fra
.me
.prev
;
15874 void compiling___compiling_icode___IMove___compile_to_c(val_t p0
, val_t p1
){
15875 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
15879 static val_t once_value_2
; /* Once value */
15880 static val_t once_value_3
; /* Once value */
15881 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15882 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15884 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IMove___compile_to_c
;
15885 fra
.me
.has_broke
= 0;
15886 fra
.me
.REG_size
= 5;
15887 fra
.me
.REG
[0] = NIT_NULL
;
15888 fra
.me
.REG
[1] = NIT_NULL
;
15889 fra
.me
.REG
[2] = NIT_NULL
;
15890 fra
.me
.REG
[3] = NIT_NULL
;
15891 fra
.me
.REG
[4] = NIT_NULL
;
15892 fra
.me
.REG
[0] = p0
;
15893 fra
.me
.REG
[1] = p1
;
15894 /* ./compiling//compiling_icode.nit:982 */
15895 fra
.me
.REG
[2] = fra
.me
.REG
[0];
15896 /* ./compiling//compiling_icode.nit:984 */
15897 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
15898 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
15899 if (UNTAG_Bool(REGB0
)) {
15902 /* ./compiling//compiling_icode.nit:985 */
15903 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
15904 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
15905 /* ./compiling//compiling_icode.nit:986 */
15906 fra
.me
.REG
[4] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
15907 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*/;
15908 if (UNTAG_Bool(REGB0
)) {
15910 nit_abort("Cast failed", NULL
, LOCATE_compiling___compiling_icode
, 986);
15912 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
15913 /* ./compiling//compiling_icode.nit:987 */
15914 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
15915 if (UNTAG_Bool(REGB0
)) {
15917 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
15920 if (UNTAG_Bool(REGB0
)) {
15923 /* ./compiling//compiling_icode.nit:988 */
15924 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
15925 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15926 /* ./compiling//compiling_icode.nit:989 */
15927 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15928 /* ./compiling//compiling_icode.nit:990 */
15929 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
15930 /* ./compiling//compiling_icode.nit:991 */
15931 if (!once_value_2
) {
15932 fra
.me
.REG
[4] = BOX_NativeString(" = ");
15933 REGB0
= TAG_Int(3);
15934 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
15935 once_value_2
= fra
.me
.REG
[4];
15936 register_static_object(&once_value_2
);
15937 } else fra
.me
.REG
[4] = once_value_2
;
15938 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15939 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
15940 /* ./compiling//compiling_icode.nit:992 */
15941 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
15942 /* ./compiling//compiling_icode.nit:993 */
15943 if (!once_value_3
) {
15944 fra
.me
.REG
[3] = BOX_NativeString(";\n");
15945 REGB0
= TAG_Int(2);
15946 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
15947 once_value_3
= fra
.me
.REG
[3];
15948 register_static_object(&once_value_3
);
15949 } else fra
.me
.REG
[3] = once_value_3
;
15950 fra
.me
.REG
[3] = fra
.me
.REG
[3];
15951 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
15953 stack_frame_head
= fra
.me
.prev
;
15956 void compiling___compiling_icode___IAttrRead___compile_to_c(val_t p0
, val_t p1
){
15957 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
15960 static val_t once_value_2
; /* Once value */
15961 static val_t once_value_3
; /* Once value */
15962 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15963 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15965 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAttrRead___compile_to_c
;
15966 fra
.me
.has_broke
= 0;
15967 fra
.me
.REG_size
= 4;
15968 fra
.me
.REG
[0] = NIT_NULL
;
15969 fra
.me
.REG
[1] = NIT_NULL
;
15970 fra
.me
.REG
[2] = NIT_NULL
;
15971 fra
.me
.REG
[3] = NIT_NULL
;
15972 fra
.me
.REG
[0] = p0
;
15973 fra
.me
.REG
[1] = p1
;
15974 /* ./compiling//compiling_icode.nit:1000 */
15975 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15976 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
15977 if (UNTAG_Bool(REGB0
)) {
15980 /* ./compiling//compiling_icode.nit:1001 */
15981 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15982 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15983 /* ./compiling//compiling_icode.nit:1002 */
15984 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15985 /* ./compiling//compiling_icode.nit:1003 */
15986 fra
.me
.REG
[3] = CALL_icode___icode_base___IAttrRead___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15987 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
15988 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMGlobalProperty___attr_access(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
15989 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
15990 /* ./compiling//compiling_icode.nit:1004 */
15991 if (!once_value_2
) {
15992 fra
.me
.REG
[3] = BOX_NativeString("(");
15993 REGB0
= TAG_Int(1);
15994 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
15995 once_value_2
= fra
.me
.REG
[3];
15996 register_static_object(&once_value_2
);
15997 } else fra
.me
.REG
[3] = once_value_2
;
15998 fra
.me
.REG
[3] = fra
.me
.REG
[3];
15999 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16000 /* ./compiling//compiling_icode.nit:1005 */
16001 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16002 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16003 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16004 /* ./compiling//compiling_icode.nit:1006 */
16005 if (!once_value_3
) {
16006 fra
.me
.REG
[0] = BOX_NativeString(")");
16007 REGB0
= TAG_Int(1);
16008 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16009 once_value_3
= fra
.me
.REG
[0];
16010 register_static_object(&once_value_3
);
16011 } else fra
.me
.REG
[0] = once_value_3
;
16012 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16013 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16015 stack_frame_head
= fra
.me
.prev
;
16018 void compiling___compiling_icode___IAttrIsset___compile_to_c(val_t p0
, val_t p1
){
16019 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
16022 static val_t once_value_2
; /* Once value */
16023 static val_t once_value_3
; /* Once value */
16024 static val_t once_value_4
; /* Once value */
16025 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16026 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16027 fra
.me
.line
= 1011;
16028 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAttrIsset___compile_to_c
;
16029 fra
.me
.has_broke
= 0;
16030 fra
.me
.REG_size
= 4;
16031 fra
.me
.REG
[0] = NIT_NULL
;
16032 fra
.me
.REG
[1] = NIT_NULL
;
16033 fra
.me
.REG
[2] = NIT_NULL
;
16034 fra
.me
.REG
[3] = NIT_NULL
;
16035 fra
.me
.REG
[0] = p0
;
16036 fra
.me
.REG
[1] = p1
;
16037 /* ./compiling//compiling_icode.nit:1013 */
16038 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16039 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16040 if (UNTAG_Bool(REGB0
)) {
16043 /* ./compiling//compiling_icode.nit:1014 */
16044 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16045 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16046 /* ./compiling//compiling_icode.nit:1015 */
16047 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
16048 /* ./compiling//compiling_icode.nit:1016 */
16049 if (!once_value_2
) {
16050 fra
.me
.REG
[3] = BOX_NativeString("TAG_Bool(");
16051 REGB0
= TAG_Int(9);
16052 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16053 once_value_2
= fra
.me
.REG
[3];
16054 register_static_object(&once_value_2
);
16055 } else fra
.me
.REG
[3] = once_value_2
;
16056 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16057 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16058 /* ./compiling//compiling_icode.nit:1017 */
16059 fra
.me
.REG
[3] = CALL_icode___icode_base___IAttrIsset___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16060 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16061 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMGlobalProperty___attr_access(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16062 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16063 /* ./compiling//compiling_icode.nit:1018 */
16064 if (!once_value_3
) {
16065 fra
.me
.REG
[3] = BOX_NativeString("(");
16066 REGB0
= TAG_Int(1);
16067 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16068 once_value_3
= fra
.me
.REG
[3];
16069 register_static_object(&once_value_3
);
16070 } else fra
.me
.REG
[3] = once_value_3
;
16071 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16072 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16073 /* ./compiling//compiling_icode.nit:1019 */
16074 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16075 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16076 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16077 /* ./compiling//compiling_icode.nit:1020 */
16078 if (!once_value_4
) {
16079 fra
.me
.REG
[0] = BOX_NativeString(")!=NIT_NULL)");
16080 REGB0
= TAG_Int(12);
16081 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16082 once_value_4
= fra
.me
.REG
[0];
16083 register_static_object(&once_value_4
);
16084 } else fra
.me
.REG
[0] = once_value_4
;
16085 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16086 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16088 stack_frame_head
= fra
.me
.prev
;
16091 void compiling___compiling_icode___IAttrWrite___compile_to_c(val_t p0
, val_t p1
){
16092 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
16095 static val_t once_value_1
; /* Once value */
16096 static val_t once_value_2
; /* Once value */
16097 static val_t once_value_3
; /* Once value */
16098 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16099 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16100 fra
.me
.line
= 1025;
16101 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAttrWrite___compile_to_c
;
16102 fra
.me
.has_broke
= 0;
16103 fra
.me
.REG_size
= 4;
16104 fra
.me
.REG
[0] = NIT_NULL
;
16105 fra
.me
.REG
[1] = NIT_NULL
;
16106 fra
.me
.REG
[2] = NIT_NULL
;
16107 fra
.me
.REG
[3] = NIT_NULL
;
16108 fra
.me
.REG
[0] = p0
;
16109 fra
.me
.REG
[1] = p1
;
16110 /* ./compiling//compiling_icode.nit:1027 */
16111 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16112 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16113 /* ./compiling//compiling_icode.nit:1028 */
16114 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16115 /* ./compiling//compiling_icode.nit:1029 */
16116 fra
.me
.REG
[3] = CALL_icode___icode_base___IAttrWrite___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16117 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16118 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMGlobalProperty___attr_access(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16119 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16120 /* ./compiling//compiling_icode.nit:1030 */
16121 if (!once_value_1
) {
16122 fra
.me
.REG
[3] = BOX_NativeString("(");
16123 REGB0
= TAG_Int(1);
16124 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16125 once_value_1
= fra
.me
.REG
[3];
16126 register_static_object(&once_value_1
);
16127 } else fra
.me
.REG
[3] = once_value_1
;
16128 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16129 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16130 /* ./compiling//compiling_icode.nit:1031 */
16131 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16132 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16133 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16134 /* ./compiling//compiling_icode.nit:1032 */
16135 if (!once_value_2
) {
16136 fra
.me
.REG
[3] = BOX_NativeString(") = ");
16137 REGB0
= TAG_Int(4);
16138 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16139 once_value_2
= fra
.me
.REG
[3];
16140 register_static_object(&once_value_2
);
16141 } else fra
.me
.REG
[3] = once_value_2
;
16142 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16143 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16144 /* ./compiling//compiling_icode.nit:1033 */
16145 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16146 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16147 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16148 /* ./compiling//compiling_icode.nit:1034 */
16149 if (!once_value_3
) {
16150 fra
.me
.REG
[0] = BOX_NativeString(";\n");
16151 REGB0
= TAG_Int(2);
16152 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16153 once_value_3
= fra
.me
.REG
[0];
16154 register_static_object(&once_value_3
);
16155 } else fra
.me
.REG
[0] = once_value_3
;
16156 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16157 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16158 stack_frame_head
= fra
.me
.prev
;
16161 void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0
, val_t p1
){
16162 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
16166 static val_t once_value_2
; /* Once value */
16167 static val_t once_value_3
; /* Once value */
16168 static val_t once_value_4
; /* Once value */
16169 static val_t once_value_5
; /* Once value */
16170 static val_t once_value_6
; /* Once value */
16171 static val_t once_value_7
; /* Once value */
16172 static val_t once_value_8
; /* Once value */
16173 static val_t once_value_9
; /* Once value */
16174 static val_t once_value_10
; /* Once value */
16175 static val_t once_value_11
; /* Once value */
16176 static val_t once_value_12
; /* Once value */
16177 static val_t once_value_13
; /* Once value */
16178 static val_t once_value_14
; /* Once value */
16179 static val_t once_value_15
; /* Once value */
16180 static val_t once_value_16
; /* Once value */
16181 static val_t once_value_17
; /* Once value */
16182 static val_t once_value_18
; /* Once value */
16183 static val_t once_value_19
; /* Once value */
16184 static val_t once_value_20
; /* Once value */
16185 static val_t once_value_21
; /* Once value */
16186 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16187 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16188 fra
.me
.line
= 1039;
16189 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ITypeCheck___compile_to_c
;
16190 fra
.me
.has_broke
= 0;
16191 fra
.me
.REG_size
= 6;
16192 fra
.me
.REG
[0] = NIT_NULL
;
16193 fra
.me
.REG
[1] = NIT_NULL
;
16194 fra
.me
.REG
[2] = NIT_NULL
;
16195 fra
.me
.REG
[3] = NIT_NULL
;
16196 fra
.me
.REG
[4] = NIT_NULL
;
16197 fra
.me
.REG
[5] = NIT_NULL
;
16198 fra
.me
.REG
[0] = p0
;
16199 fra
.me
.REG
[1] = p1
;
16200 /* ./compiling//compiling_icode.nit:1041 */
16201 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16202 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16203 if (UNTAG_Bool(REGB0
)) {
16206 /* ./compiling//compiling_icode.nit:1042 */
16207 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16208 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16209 /* ./compiling//compiling_icode.nit:1043 */
16210 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16211 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16212 /* ./compiling//compiling_icode.nit:1044 */
16213 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
16214 /* ./compiling//compiling_icode.nit:1045 */
16215 if (!once_value_2
) {
16216 fra
.me
.REG
[4] = BOX_NativeString("TAG_Bool(");
16217 REGB0
= TAG_Int(9);
16218 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16219 once_value_2
= fra
.me
.REG
[4];
16220 register_static_object(&once_value_2
);
16221 } else fra
.me
.REG
[4] = once_value_2
;
16222 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16223 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16224 /* ./compiling//compiling_icode.nit:1046 */
16225 fra
.me
.REG
[4] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16226 fra
.me
.REG
[4] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16227 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16228 if (UNTAG_Bool(REGB0
)) {
16229 /* ./compiling//compiling_icode.nit:1047 */
16230 fra
.me
.REG
[4] = CALL_icode___icode_base___ITypeCheck___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16231 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16232 if (UNTAG_Bool(REGB0
)) {
16233 /* ./compiling//compiling_icode.nit:1048 */
16234 if (!once_value_3
) {
16235 fra
.me
.REG
[4] = BOX_NativeString("(");
16236 REGB0
= TAG_Int(1);
16237 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16238 once_value_3
= fra
.me
.REG
[4];
16239 register_static_object(&once_value_3
);
16240 } else fra
.me
.REG
[4] = once_value_3
;
16241 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16242 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16243 /* ./compiling//compiling_icode.nit:1049 */
16244 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16245 /* ./compiling//compiling_icode.nit:1050 */
16246 if (!once_value_4
) {
16247 fra
.me
.REG
[4] = BOX_NativeString("==NIT_NULL) || ");
16248 REGB0
= TAG_Int(15);
16249 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16250 once_value_4
= fra
.me
.REG
[4];
16251 register_static_object(&once_value_4
);
16252 } else fra
.me
.REG
[4] = once_value_4
;
16253 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16254 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16256 /* ./compiling//compiling_icode.nit:1051 */
16257 fra
.me
.REG
[4] = CALL_icode___icode_base___ITypeCheck___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16258 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMType___as_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16259 fra
.me
.REG
[5] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16260 fra
.me
.REG
[5] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
16261 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[4],fra
.me
.REG
[5]));
16262 if (UNTAG_Bool(REGB0
)) {
16264 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
16267 if (UNTAG_Bool(REGB0
)) {
16268 /* ./compiling//compiling_icode.nit:1052 */
16269 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16270 /* ./compiling//compiling_icode.nit:1053 */
16271 if (!once_value_5
) {
16272 fra
.me
.REG
[5] = BOX_NativeString("!=NIT_NULL)");
16273 REGB0
= TAG_Int(11);
16274 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16275 once_value_5
= fra
.me
.REG
[5];
16276 register_static_object(&once_value_5
);
16277 } else fra
.me
.REG
[5] = once_value_5
;
16278 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16279 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
16280 /* ./compiling//compiling_icode.nit:1054 */
16283 /* ./compiling//compiling_icode.nit:1056 */
16284 if (!once_value_6
) {
16285 fra
.me
.REG
[5] = BOX_NativeString("(");
16286 REGB0
= TAG_Int(1);
16287 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16288 once_value_6
= fra
.me
.REG
[5];
16289 register_static_object(&once_value_6
);
16290 } else fra
.me
.REG
[5] = once_value_6
;
16291 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16292 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
16293 /* ./compiling//compiling_icode.nit:1057 */
16294 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16295 /* ./compiling//compiling_icode.nit:1058 */
16296 if (!once_value_7
) {
16297 fra
.me
.REG
[5] = BOX_NativeString("!=NIT_NULL) && ");
16298 REGB0
= TAG_Int(15);
16299 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16300 once_value_7
= fra
.me
.REG
[5];
16301 register_static_object(&once_value_7
);
16302 } else fra
.me
.REG
[5] = once_value_7
;
16303 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16304 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
16308 /* ./compiling//compiling_icode.nit:1062 */
16309 fra
.me
.REG
[5] = CALL_icode___icode_base___ITypeCheck___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16310 /* ./compiling//compiling_icode.nit:1063 */
16311 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[5], COLOR_metamodel___virtualtype___MMVirtualType
, ID_metamodel___virtualtype___MMVirtualType
)) /*cast MMVirtualType*/;
16312 if (UNTAG_Bool(REGB0
)) {
16313 /* ./compiling//compiling_icode.nit:1064 */
16314 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16315 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16316 /* ./compiling//compiling_icode.nit:1065 */
16317 fra
.me
.REG
[1] = CALL_metamodel___virtualtype___MMVirtualType___property(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
16318 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16319 /* ./compiling//compiling_icode.nit:1066 */
16320 if (!once_value_8
) {
16321 fra
.me
.REG
[4] = BOX_NativeString("VAL_ISA(");
16322 REGB0
= TAG_Int(8);
16323 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16324 once_value_8
= fra
.me
.REG
[4];
16325 register_static_object(&once_value_8
);
16326 } else fra
.me
.REG
[4] = once_value_8
;
16327 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16328 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16329 /* ./compiling//compiling_icode.nit:1067 */
16330 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16331 /* ./compiling//compiling_icode.nit:1068 */
16332 if (!once_value_9
) {
16333 fra
.me
.REG
[4] = BOX_NativeString(", ");
16334 REGB0
= TAG_Int(2);
16335 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16336 once_value_9
= fra
.me
.REG
[4];
16337 register_static_object(&once_value_9
);
16338 } else fra
.me
.REG
[4] = once_value_9
;
16339 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16340 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16341 /* ./compiling//compiling_icode.nit:1069 */
16342 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMGlobalProperty___vt_class_color(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16343 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16344 /* ./compiling//compiling_icode.nit:1070 */
16345 if (!once_value_10
) {
16346 fra
.me
.REG
[4] = BOX_NativeString("(");
16347 REGB0
= TAG_Int(1);
16348 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16349 once_value_10
= fra
.me
.REG
[4];
16350 register_static_object(&once_value_10
);
16351 } else fra
.me
.REG
[4] = once_value_10
;
16352 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16353 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16354 /* ./compiling//compiling_icode.nit:1071 */
16355 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16356 /* ./compiling//compiling_icode.nit:1072 */
16357 if (!once_value_11
) {
16358 fra
.me
.REG
[4] = BOX_NativeString(")");
16359 REGB0
= TAG_Int(1);
16360 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16361 once_value_11
= fra
.me
.REG
[4];
16362 register_static_object(&once_value_11
);
16363 } else fra
.me
.REG
[4] = once_value_11
;
16364 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16365 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16366 /* ./compiling//compiling_icode.nit:1073 */
16367 if (!once_value_12
) {
16368 fra
.me
.REG
[4] = BOX_NativeString(", ");
16369 REGB0
= TAG_Int(2);
16370 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16371 once_value_12
= fra
.me
.REG
[4];
16372 register_static_object(&once_value_12
);
16373 } else fra
.me
.REG
[4] = once_value_12
;
16374 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16375 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16376 /* ./compiling//compiling_icode.nit:1074 */
16377 fra
.me
.REG
[1] = CALL_compiling___compiling_base___MMGlobalProperty___vt_class_id(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16378 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
16379 /* ./compiling//compiling_icode.nit:1075 */
16380 if (!once_value_13
) {
16381 fra
.me
.REG
[1] = BOX_NativeString("(");
16382 REGB0
= TAG_Int(1);
16383 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
16384 once_value_13
= fra
.me
.REG
[1];
16385 register_static_object(&once_value_13
);
16386 } else fra
.me
.REG
[1] = once_value_13
;
16387 fra
.me
.REG
[1] = fra
.me
.REG
[1];
16388 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
16389 /* ./compiling//compiling_icode.nit:1076 */
16390 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16391 /* ./compiling//compiling_icode.nit:1077 */
16392 if (!once_value_14
) {
16393 fra
.me
.REG
[0] = BOX_NativeString(")");
16394 REGB0
= TAG_Int(1);
16395 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16396 once_value_14
= fra
.me
.REG
[0];
16397 register_static_object(&once_value_14
);
16398 } else fra
.me
.REG
[0] = once_value_14
;
16399 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16400 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16401 /* ./compiling//compiling_icode.nit:1078 */
16402 if (!once_value_15
) {
16403 fra
.me
.REG
[0] = BOX_NativeString(")) /*cast ");
16404 REGB0
= TAG_Int(10);
16405 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16406 once_value_15
= fra
.me
.REG
[0];
16407 register_static_object(&once_value_15
);
16408 } else fra
.me
.REG
[0] = once_value_15
;
16409 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16410 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16411 /* ./compiling//compiling_icode.nit:1079 */
16412 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
16413 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16414 /* ./compiling//compiling_icode.nit:1080 */
16415 if (!once_value_16
) {
16416 fra
.me
.REG
[0] = BOX_NativeString("*/");
16417 REGB0
= TAG_Int(2);
16418 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16419 once_value_16
= fra
.me
.REG
[0];
16420 register_static_object(&once_value_16
);
16421 } else fra
.me
.REG
[0] = once_value_16
;
16422 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16423 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16425 /* ./compiling//compiling_icode.nit:1082 */
16426 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
16427 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16428 /* ./compiling//compiling_icode.nit:1083 */
16429 if (!once_value_17
) {
16430 fra
.me
.REG
[1] = BOX_NativeString("VAL_ISA(");
16431 REGB0
= TAG_Int(8);
16432 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
16433 once_value_17
= fra
.me
.REG
[1];
16434 register_static_object(&once_value_17
);
16435 } else fra
.me
.REG
[1] = once_value_17
;
16436 fra
.me
.REG
[1] = fra
.me
.REG
[1];
16437 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
16438 /* ./compiling//compiling_icode.nit:1084 */
16439 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16440 /* ./compiling//compiling_icode.nit:1085 */
16441 if (!once_value_18
) {
16442 fra
.me
.REG
[2] = BOX_NativeString(", ");
16443 REGB0
= TAG_Int(2);
16444 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
16445 once_value_18
= fra
.me
.REG
[2];
16446 register_static_object(&once_value_18
);
16447 } else fra
.me
.REG
[2] = once_value_18
;
16448 fra
.me
.REG
[2] = fra
.me
.REG
[2];
16449 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16450 /* ./compiling//compiling_icode.nit:1086 */
16451 fra
.me
.REG
[2] = CALL_compiling___compiling_base___MMGlobalClass___color_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16452 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16453 /* ./compiling//compiling_icode.nit:1087 */
16454 if (!once_value_19
) {
16455 fra
.me
.REG
[2] = BOX_NativeString(", ");
16456 REGB0
= TAG_Int(2);
16457 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
16458 once_value_19
= fra
.me
.REG
[2];
16459 register_static_object(&once_value_19
);
16460 } else fra
.me
.REG
[2] = once_value_19
;
16461 fra
.me
.REG
[2] = fra
.me
.REG
[2];
16462 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16463 /* ./compiling//compiling_icode.nit:1088 */
16464 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalClass___id_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16465 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16466 /* ./compiling//compiling_icode.nit:1089 */
16467 if (!once_value_20
) {
16468 fra
.me
.REG
[0] = BOX_NativeString(")) /*cast ");
16469 REGB0
= TAG_Int(10);
16470 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16471 once_value_20
= fra
.me
.REG
[0];
16472 register_static_object(&once_value_20
);
16473 } else fra
.me
.REG
[0] = once_value_20
;
16474 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16475 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16476 /* ./compiling//compiling_icode.nit:1090 */
16477 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
16478 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
16479 /* ./compiling//compiling_icode.nit:1091 */
16480 if (!once_value_21
) {
16481 fra
.me
.REG
[5] = BOX_NativeString("*/");
16482 REGB0
= TAG_Int(2);
16483 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16484 once_value_21
= fra
.me
.REG
[5];
16485 register_static_object(&once_value_21
);
16486 } else fra
.me
.REG
[5] = once_value_21
;
16487 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16488 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
16491 stack_frame_head
= fra
.me
.prev
;
16494 void compiling___compiling_icode___IIs___compile_to_c(val_t p0
, val_t p1
){
16495 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
16498 static val_t once_value_2
; /* Once value */
16499 static val_t once_value_3
; /* Once value */
16500 static val_t once_value_4
; /* Once value */
16501 static val_t once_value_5
; /* Once value */
16502 static val_t once_value_6
; /* Once value */
16503 static val_t once_value_7
; /* Once value */
16504 static val_t once_value_8
; /* Once value */
16505 static val_t once_value_9
; /* Once value */
16506 static val_t once_value_10
; /* Once value */
16507 static val_t once_value_11
; /* Once value */
16508 static val_t once_value_12
; /* Once value */
16509 static val_t once_value_13
; /* Once value */
16510 static val_t once_value_14
; /* Once value */
16511 static val_t once_value_15
; /* Once value */
16512 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16513 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16514 fra
.me
.line
= 1097;
16515 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IIs___compile_to_c
;
16516 fra
.me
.has_broke
= 0;
16517 fra
.me
.REG_size
= 6;
16518 fra
.me
.REG
[0] = NIT_NULL
;
16519 fra
.me
.REG
[1] = NIT_NULL
;
16520 fra
.me
.REG
[2] = NIT_NULL
;
16521 fra
.me
.REG
[3] = NIT_NULL
;
16522 fra
.me
.REG
[4] = NIT_NULL
;
16523 fra
.me
.REG
[5] = NIT_NULL
;
16524 fra
.me
.REG
[0] = p0
;
16525 fra
.me
.REG
[1] = p1
;
16526 /* ./compiling//compiling_icode.nit:1099 */
16527 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16528 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16529 if (UNTAG_Bool(REGB0
)) {
16532 /* ./compiling//compiling_icode.nit:1100 */
16533 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16534 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16535 /* ./compiling//compiling_icode.nit:1101 */
16536 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
16537 /* ./compiling//compiling_icode.nit:1102 */
16538 if (!once_value_2
) {
16539 fra
.me
.REG
[3] = BOX_NativeString("TAG_Bool(");
16540 REGB0
= TAG_Int(9);
16541 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16542 once_value_2
= fra
.me
.REG
[3];
16543 register_static_object(&once_value_2
);
16544 } else fra
.me
.REG
[3] = once_value_2
;
16545 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16546 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16547 /* ./compiling//compiling_icode.nit:1103 */
16548 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16549 fra
.me
.REG
[3] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16550 /* ./compiling//compiling_icode.nit:1104 */
16551 fra
.me
.REG
[4] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16552 fra
.me
.REG
[4] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16553 /* ./compiling//compiling_icode.nit:1105 */
16554 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[3], COLOR_metamodel___static_type___MMTypeNone
, ID_metamodel___static_type___MMTypeNone
)) /*cast MMTypeNone*/;
16555 if (UNTAG_Bool(REGB0
)) {
16556 /* ./compiling//compiling_icode.nit:1106 */
16557 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_metamodel___static_type___MMTypeNone
, ID_metamodel___static_type___MMTypeNone
)) /*cast MMTypeNone*/;
16558 if (UNTAG_Bool(REGB0
)) {
16559 /* ./compiling//compiling_icode.nit:1107 */
16560 if (!once_value_3
) {
16561 fra
.me
.REG
[5] = BOX_NativeString("1)");
16562 REGB0
= TAG_Int(2);
16563 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16564 once_value_3
= fra
.me
.REG
[5];
16565 register_static_object(&once_value_3
);
16566 } else fra
.me
.REG
[5] = once_value_3
;
16567 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16568 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
16569 /* ./compiling//compiling_icode.nit:1108 */
16572 /* ./compiling//compiling_icode.nit:1109 */
16573 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16574 if (UNTAG_Bool(REGB0
)) {
16575 /* ./compiling//compiling_icode.nit:1110 */
16576 fra
.me
.REG
[5] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16577 fra
.me
.REG
[5] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
16578 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
16579 /* ./compiling//compiling_icode.nit:1111 */
16580 if (!once_value_4
) {
16581 fra
.me
.REG
[5] = BOX_NativeString("==NIT_NULL)");
16582 REGB0
= TAG_Int(11);
16583 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16584 once_value_4
= fra
.me
.REG
[5];
16585 register_static_object(&once_value_4
);
16586 } else fra
.me
.REG
[5] = once_value_4
;
16587 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16588 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
16589 /* ./compiling//compiling_icode.nit:1112 */
16592 /* ./compiling//compiling_icode.nit:1114 */
16593 if (!once_value_5
) {
16594 fra
.me
.REG
[5] = BOX_NativeString("0)");
16595 REGB0
= TAG_Int(2);
16596 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16597 once_value_5
= fra
.me
.REG
[5];
16598 register_static_object(&once_value_5
);
16599 } else fra
.me
.REG
[5] = once_value_5
;
16600 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16601 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
16602 /* ./compiling//compiling_icode.nit:1115 */
16607 /* ./compiling//compiling_icode.nit:1117 */
16608 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16609 if (UNTAG_Bool(REGB0
)) {
16610 /* ./compiling//compiling_icode.nit:1118 */
16611 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_metamodel___static_type___MMTypeNone
, ID_metamodel___static_type___MMTypeNone
)) /*cast MMTypeNone*/;
16612 if (UNTAG_Bool(REGB0
)) {
16613 /* ./compiling//compiling_icode.nit:1119 */
16614 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16615 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16616 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16617 /* ./compiling//compiling_icode.nit:1120 */
16618 if (!once_value_6
) {
16619 fra
.me
.REG
[3] = BOX_NativeString("==NIT_NULL)");
16620 REGB0
= TAG_Int(11);
16621 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16622 once_value_6
= fra
.me
.REG
[3];
16623 register_static_object(&once_value_6
);
16624 } else fra
.me
.REG
[3] = once_value_6
;
16625 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16626 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16627 /* ./compiling//compiling_icode.nit:1121 */
16630 /* ./compiling//compiling_icode.nit:1122 */
16631 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16632 if (UNTAG_Bool(REGB0
)) {
16633 /* ./compiling//compiling_icode.nit:1123 */
16634 if (!once_value_7
) {
16635 fra
.me
.REG
[3] = BOX_NativeString("IS_EQUAL_NN(");
16636 REGB0
= TAG_Int(12);
16637 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16638 once_value_7
= fra
.me
.REG
[3];
16639 register_static_object(&once_value_7
);
16640 } else fra
.me
.REG
[3] = once_value_7
;
16641 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16642 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16644 /* ./compiling//compiling_icode.nit:1125 */
16645 if (!once_value_8
) {
16646 fra
.me
.REG
[3] = BOX_NativeString("IS_EQUAL_ON(");
16647 REGB0
= TAG_Int(12);
16648 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16649 once_value_8
= fra
.me
.REG
[3];
16650 register_static_object(&once_value_8
);
16651 } else fra
.me
.REG
[3] = once_value_8
;
16652 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16653 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16654 /* ./compiling//compiling_icode.nit:1126 */
16655 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16656 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16657 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16658 /* ./compiling//compiling_icode.nit:1127 */
16659 if (!once_value_9
) {
16660 fra
.me
.REG
[3] = BOX_NativeString(",");
16661 REGB0
= TAG_Int(1);
16662 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16663 once_value_9
= fra
.me
.REG
[3];
16664 register_static_object(&once_value_9
);
16665 } else fra
.me
.REG
[3] = once_value_9
;
16666 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16667 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16668 /* ./compiling//compiling_icode.nit:1128 */
16669 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16670 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16671 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16672 /* ./compiling//compiling_icode.nit:1129 */
16673 if (!once_value_10
) {
16674 fra
.me
.REG
[3] = BOX_NativeString("))");
16675 REGB0
= TAG_Int(2);
16676 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16677 once_value_10
= fra
.me
.REG
[3];
16678 register_static_object(&once_value_10
);
16679 } else fra
.me
.REG
[3] = once_value_10
;
16680 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16681 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16682 /* ./compiling//compiling_icode.nit:1130 */
16687 /* ./compiling//compiling_icode.nit:1133 */
16688 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_metamodel___static_type___MMTypeNone
, ID_metamodel___static_type___MMTypeNone
)) /*cast MMTypeNone*/;
16689 if (UNTAG_Bool(REGB0
)) {
16690 /* ./compiling//compiling_icode.nit:1134 */
16691 if (!once_value_11
) {
16692 fra
.me
.REG
[3] = BOX_NativeString("0)");
16693 REGB0
= TAG_Int(2);
16694 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16695 once_value_11
= fra
.me
.REG
[3];
16696 register_static_object(&once_value_11
);
16697 } else fra
.me
.REG
[3] = once_value_11
;
16698 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16699 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16700 /* ./compiling//compiling_icode.nit:1135 */
16703 /* ./compiling//compiling_icode.nit:1136 */
16704 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16705 if (UNTAG_Bool(REGB0
)) {
16706 /* ./compiling//compiling_icode.nit:1137 */
16707 if (!once_value_12
) {
16708 fra
.me
.REG
[4] = BOX_NativeString("IS_EQUAL_ON(");
16709 REGB0
= TAG_Int(12);
16710 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16711 once_value_12
= fra
.me
.REG
[4];
16712 register_static_object(&once_value_12
);
16713 } else fra
.me
.REG
[4] = once_value_12
;
16714 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16715 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
16717 /* ./compiling//compiling_icode.nit:1139 */
16718 if (!once_value_13
) {
16719 fra
.me
.REG
[4] = BOX_NativeString("IS_EQUAL_OO(");
16720 REGB0
= TAG_Int(12);
16721 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16722 once_value_13
= fra
.me
.REG
[4];
16723 register_static_object(&once_value_13
);
16724 } else fra
.me
.REG
[4] = once_value_13
;
16725 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16726 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
16731 /* ./compiling//compiling_icode.nit:1142 */
16732 fra
.me
.REG
[4] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16733 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
16734 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
16735 /* ./compiling//compiling_icode.nit:1143 */
16736 if (!once_value_14
) {
16737 fra
.me
.REG
[4] = BOX_NativeString(",");
16738 REGB0
= TAG_Int(1);
16739 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16740 once_value_14
= fra
.me
.REG
[4];
16741 register_static_object(&once_value_14
);
16742 } else fra
.me
.REG
[4] = once_value_14
;
16743 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16744 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
16745 /* ./compiling//compiling_icode.nit:1144 */
16746 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16747 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16748 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16749 /* ./compiling//compiling_icode.nit:1145 */
16750 if (!once_value_15
) {
16751 fra
.me
.REG
[0] = BOX_NativeString("))");
16752 REGB0
= TAG_Int(2);
16753 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16754 once_value_15
= fra
.me
.REG
[0];
16755 register_static_object(&once_value_15
);
16756 } else fra
.me
.REG
[0] = once_value_15
;
16757 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16758 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16760 stack_frame_head
= fra
.me
.prev
;
16763 void compiling___compiling_icode___INot___compile_to_c(val_t p0
, val_t p1
){
16764 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
16767 static val_t once_value_2
; /* Once value */
16768 static val_t once_value_3
; /* Once value */
16769 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16770 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16771 fra
.me
.line
= 1150;
16772 fra
.me
.meth
= LOCATE_compiling___compiling_icode___INot___compile_to_c
;
16773 fra
.me
.has_broke
= 0;
16774 fra
.me
.REG_size
= 4;
16775 fra
.me
.REG
[0] = NIT_NULL
;
16776 fra
.me
.REG
[1] = NIT_NULL
;
16777 fra
.me
.REG
[2] = NIT_NULL
;
16778 fra
.me
.REG
[3] = NIT_NULL
;
16779 fra
.me
.REG
[0] = p0
;
16780 fra
.me
.REG
[1] = p1
;
16781 /* ./compiling//compiling_icode.nit:1152 */
16782 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16783 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16784 if (UNTAG_Bool(REGB0
)) {
16787 /* ./compiling//compiling_icode.nit:1153 */
16788 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16789 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16790 /* ./compiling//compiling_icode.nit:1154 */
16791 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
16792 /* ./compiling//compiling_icode.nit:1155 */
16793 if (!once_value_2
) {
16794 fra
.me
.REG
[3] = BOX_NativeString("TAG_Bool(!UNTAG_Bool(");
16795 REGB0
= TAG_Int(21);
16796 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16797 once_value_2
= fra
.me
.REG
[3];
16798 register_static_object(&once_value_2
);
16799 } else fra
.me
.REG
[3] = once_value_2
;
16800 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16801 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16802 /* ./compiling//compiling_icode.nit:1156 */
16803 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16804 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16805 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16806 /* ./compiling//compiling_icode.nit:1157 */
16807 if (!once_value_3
) {
16808 fra
.me
.REG
[0] = BOX_NativeString("))");
16809 REGB0
= TAG_Int(2);
16810 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16811 once_value_3
= fra
.me
.REG
[0];
16812 register_static_object(&once_value_3
);
16813 } else fra
.me
.REG
[0] = once_value_3
;
16814 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16815 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16817 stack_frame_head
= fra
.me
.prev
;
16820 void compiling___compiling_icode___IOnce___compile_to_c(val_t p0
, val_t p1
){
16821 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
16825 static val_t once_value_1
; /* Once value */
16826 static val_t once_value_2
; /* Once value */
16827 static val_t once_value_3
; /* Once value */
16828 static val_t once_value_4
; /* Once value */
16829 static val_t once_value_5
; /* Once value */
16830 static val_t once_value_6
; /* Once value */
16831 static val_t once_value_7
; /* Once value */
16832 static val_t once_value_8
; /* Once value */
16833 static val_t once_value_9
; /* Once value */
16834 static val_t once_value_10
; /* Once value */
16835 static val_t once_value_11
; /* Once value */
16836 static val_t once_value_12
; /* Once value */
16837 static val_t once_value_13
; /* Once value */
16838 static val_t once_value_14
; /* Once value */
16839 static val_t once_value_15
; /* Once value */
16840 static val_t once_value_16
; /* Once value */
16841 static val_t once_value_17
; /* Once value */
16842 static val_t once_value_18
; /* Once value */
16843 static val_t once_value_19
; /* Once value */
16844 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16845 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16846 fra
.me
.line
= 1162;
16847 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IOnce___compile_to_c
;
16848 fra
.me
.has_broke
= 0;
16849 fra
.me
.REG_size
= 6;
16850 fra
.me
.REG
[0] = NIT_NULL
;
16851 fra
.me
.REG
[1] = NIT_NULL
;
16852 fra
.me
.REG
[2] = NIT_NULL
;
16853 fra
.me
.REG
[3] = NIT_NULL
;
16854 fra
.me
.REG
[4] = NIT_NULL
;
16855 fra
.me
.REG
[5] = NIT_NULL
;
16856 fra
.me
.REG
[0] = p0
;
16857 fra
.me
.REG
[1] = p1
;
16858 /* ./compiling//compiling_icode.nit:1162 */
16859 fra
.me
.REG
[2] = fra
.me
.REG
[0];
16860 /* ./compiling//compiling_icode.nit:1164 */
16861 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
16862 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16863 /* ./compiling//compiling_icode.nit:1165 */
16864 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___new_number(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16865 /* ./compiling//compiling_icode.nit:1166 */
16866 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
16867 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*/;
16868 if (UNTAG_Bool(REGB1
)) {
16870 nit_abort("Cast failed", NULL
, LOCATE_compiling___compiling_icode
, 1166);
16872 /* ./compiling//compiling_icode.nit:1167 */
16873 fra
.me
.REG
[0] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16874 REGB1
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16875 if (UNTAG_Bool(REGB1
)) {
16876 /* ./compiling//compiling_icode.nit:1168 */
16877 REGB1
= TAG_Int(5);
16878 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
16879 if (!once_value_1
) {
16880 fra
.me
.REG
[4] = BOX_NativeString("static val_t once_value_");
16881 REGB1
= TAG_Int(24);
16882 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
16883 once_value_1
= fra
.me
.REG
[4];
16884 register_static_object(&once_value_1
);
16885 } else fra
.me
.REG
[4] = once_value_1
;
16886 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16887 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
16888 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
16889 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
16890 if (!once_value_2
) {
16891 fra
.me
.REG
[4] = BOX_NativeString("; static int once_bool_");
16892 REGB1
= TAG_Int(23);
16893 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
16894 once_value_2
= fra
.me
.REG
[4];
16895 register_static_object(&once_value_2
);
16896 } else fra
.me
.REG
[4] = once_value_2
;
16897 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16898 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
16899 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
16900 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
16901 if (!once_value_3
) {
16902 fra
.me
.REG
[4] = BOX_NativeString("; /* Once value */");
16903 REGB1
= TAG_Int(18);
16904 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
16905 once_value_3
= fra
.me
.REG
[4];
16906 register_static_object(&once_value_3
);
16907 } else fra
.me
.REG
[4] = once_value_3
;
16908 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16909 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
16910 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16911 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16912 /* ./compiling//compiling_icode.nit:1169 */
16913 REGB1
= TAG_Int(3);
16914 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
16915 if (!once_value_4
) {
16916 fra
.me
.REG
[4] = BOX_NativeString("if (!once_bool_");
16917 REGB1
= TAG_Int(15);
16918 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
16919 once_value_4
= fra
.me
.REG
[4];
16920 register_static_object(&once_value_4
);
16921 } else fra
.me
.REG
[4] = once_value_4
;
16922 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16923 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
16924 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
16925 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
16926 if (!once_value_5
) {
16927 fra
.me
.REG
[4] = BOX_NativeString(") {");
16928 REGB1
= TAG_Int(3);
16929 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
16930 once_value_5
= fra
.me
.REG
[4];
16931 register_static_object(&once_value_5
);
16932 } else fra
.me
.REG
[4] = once_value_5
;
16933 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16934 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
16935 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16936 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16938 /* ./compiling//compiling_icode.nit:1172 */
16939 REGB1
= TAG_Int(3);
16940 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
16941 if (!once_value_6
) {
16942 fra
.me
.REG
[4] = BOX_NativeString("static val_t once_value_");
16943 REGB1
= TAG_Int(24);
16944 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
16945 once_value_6
= fra
.me
.REG
[4];
16946 register_static_object(&once_value_6
);
16947 } else fra
.me
.REG
[4] = once_value_6
;
16948 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16949 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
16950 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
16951 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
16952 if (!once_value_7
) {
16953 fra
.me
.REG
[4] = BOX_NativeString("; /* Once value */");
16954 REGB1
= TAG_Int(18);
16955 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
16956 once_value_7
= fra
.me
.REG
[4];
16957 register_static_object(&once_value_7
);
16958 } else fra
.me
.REG
[4] = once_value_7
;
16959 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16960 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
16961 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16962 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16963 /* ./compiling//compiling_icode.nit:1173 */
16964 REGB1
= TAG_Int(3);
16965 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
16966 if (!once_value_8
) {
16967 fra
.me
.REG
[4] = BOX_NativeString("if (!once_value_");
16968 REGB1
= TAG_Int(16);
16969 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
16970 once_value_8
= fra
.me
.REG
[4];
16971 register_static_object(&once_value_8
);
16972 } else fra
.me
.REG
[4] = once_value_8
;
16973 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16974 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
16975 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
16976 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
16977 if (!once_value_9
) {
16978 fra
.me
.REG
[4] = BOX_NativeString(") {");
16979 REGB1
= TAG_Int(3);
16980 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
16981 once_value_9
= fra
.me
.REG
[4];
16982 register_static_object(&once_value_9
);
16983 } else fra
.me
.REG
[4] = once_value_9
;
16984 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16985 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
16986 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16987 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16989 /* ./compiling//compiling_icode.nit:1175 */
16990 CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16991 /* ./compiling//compiling_icode.nit:1176 */
16992 fra
.me
.REG
[0] = CALL_icode___icode_base___IOnce___body(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
16993 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
16994 /* ./compiling//compiling_icode.nit:1177 */
16995 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16996 /* ./compiling//compiling_icode.nit:1178 */
16997 REGB1
= TAG_Int(5);
16998 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
16999 if (!once_value_10
) {
17000 fra
.me
.REG
[5] = BOX_NativeString("once_value_");
17001 REGB1
= TAG_Int(11);
17002 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
17003 once_value_10
= fra
.me
.REG
[5];
17004 register_static_object(&once_value_10
);
17005 } else fra
.me
.REG
[5] = once_value_10
;
17006 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17007 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17008 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17009 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17010 if (!once_value_11
) {
17011 fra
.me
.REG
[5] = BOX_NativeString(" = ");
17012 REGB1
= TAG_Int(3);
17013 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
17014 once_value_11
= fra
.me
.REG
[5];
17015 register_static_object(&once_value_11
);
17016 } else fra
.me
.REG
[5] = once_value_11
;
17017 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17018 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17019 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
17020 if (!once_value_12
) {
17021 fra
.me
.REG
[5] = BOX_NativeString(";");
17022 REGB1
= TAG_Int(1);
17023 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
17024 once_value_12
= fra
.me
.REG
[5];
17025 register_static_object(&once_value_12
);
17026 } else fra
.me
.REG
[5] = once_value_12
;
17027 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17028 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17029 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
17030 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
17031 /* ./compiling//compiling_icode.nit:1179 */
17032 REGB1
= TAG_Int(3);
17033 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17034 if (!once_value_13
) {
17035 fra
.me
.REG
[5] = BOX_NativeString("register_static_object(&once_value_");
17036 REGB1
= TAG_Int(35);
17037 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
17038 once_value_13
= fra
.me
.REG
[5];
17039 register_static_object(&once_value_13
);
17040 } else fra
.me
.REG
[5] = once_value_13
;
17041 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17042 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17043 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17044 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17045 if (!once_value_14
) {
17046 fra
.me
.REG
[5] = BOX_NativeString(");");
17047 REGB1
= TAG_Int(2);
17048 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
17049 once_value_14
= fra
.me
.REG
[5];
17050 register_static_object(&once_value_14
);
17051 } else fra
.me
.REG
[5] = once_value_14
;
17052 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17053 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17054 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
17055 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
17056 /* ./compiling//compiling_icode.nit:1180 */
17057 fra
.me
.REG
[3] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17058 REGB1
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17059 if (UNTAG_Bool(REGB1
)) {
17060 REGB1
= TAG_Int(3);
17061 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17062 if (!once_value_15
) {
17063 fra
.me
.REG
[4] = BOX_NativeString("once_bool_");
17064 REGB1
= TAG_Int(10);
17065 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17066 once_value_15
= fra
.me
.REG
[4];
17067 register_static_object(&once_value_15
);
17068 } else fra
.me
.REG
[4] = once_value_15
;
17069 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17070 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17071 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17072 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17073 if (!once_value_16
) {
17074 fra
.me
.REG
[4] = BOX_NativeString(" = true;");
17075 REGB1
= TAG_Int(8);
17076 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17077 once_value_16
= fra
.me
.REG
[4];
17078 register_static_object(&once_value_16
);
17079 } else fra
.me
.REG
[4] = once_value_16
;
17080 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17081 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17082 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17083 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17085 /* ./compiling//compiling_icode.nit:1181 */
17086 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17087 /* ./compiling//compiling_icode.nit:1182 */
17088 REGB1
= TAG_Int(5);
17089 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17090 if (!once_value_17
) {
17091 fra
.me
.REG
[4] = BOX_NativeString("} else ");
17092 REGB1
= TAG_Int(7);
17093 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17094 once_value_17
= fra
.me
.REG
[4];
17095 register_static_object(&once_value_17
);
17096 } else fra
.me
.REG
[4] = once_value_17
;
17097 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17098 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17099 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
17100 if (!once_value_18
) {
17101 fra
.me
.REG
[4] = BOX_NativeString(" = once_value_");
17102 REGB1
= TAG_Int(14);
17103 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17104 once_value_18
= fra
.me
.REG
[4];
17105 register_static_object(&once_value_18
);
17106 } else fra
.me
.REG
[4] = once_value_18
;
17107 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17108 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17109 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17110 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17111 if (!once_value_19
) {
17112 fra
.me
.REG
[4] = BOX_NativeString(";");
17113 REGB0
= TAG_Int(1);
17114 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
17115 once_value_19
= fra
.me
.REG
[4];
17116 register_static_object(&once_value_19
);
17117 } else fra
.me
.REG
[4] = once_value_19
;
17118 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17119 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17120 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17121 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17122 /* ./compiling//compiling_icode.nit:1183 */
17123 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
17124 /* ./compiling//compiling_icode.nit:1184 */
17125 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17126 stack_frame_head
= fra
.me
.prev
;
17129 void compiling___compiling_icode___IClosCall___compile_to_c(val_t p0
, val_t p1
){
17130 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
17134 static val_t once_value_1
; /* Once value */
17135 static val_t once_value_2
; /* Once value */
17136 static val_t once_value_3
; /* Once value */
17137 static val_t once_value_4
; /* Once value */
17138 static val_t once_value_5
; /* Once value */
17139 static val_t once_value_6
; /* Once value */
17140 static val_t once_value_7
; /* Once value */
17141 static val_t once_value_8
; /* Once value */
17142 static val_t once_value_9
; /* Once value */
17143 static val_t once_value_10
; /* Once value */
17144 static val_t once_value_11
; /* Once value */
17145 static val_t once_value_12
; /* Once value */
17146 static val_t once_value_13
; /* Once value */
17147 static val_t once_value_14
; /* Once value */
17148 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
17149 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
17150 fra
.me
.line
= 1189;
17151 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IClosCall___compile_to_c
;
17152 fra
.me
.has_broke
= 0;
17153 fra
.me
.REG_size
= 7;
17154 fra
.me
.REG
[0] = NIT_NULL
;
17155 fra
.me
.REG
[1] = NIT_NULL
;
17156 fra
.me
.REG
[2] = NIT_NULL
;
17157 fra
.me
.REG
[3] = NIT_NULL
;
17158 fra
.me
.REG
[4] = NIT_NULL
;
17159 fra
.me
.REG
[5] = NIT_NULL
;
17160 fra
.me
.REG
[6] = NIT_NULL
;
17161 fra
.me
.REG
[0] = p0
;
17162 fra
.me
.REG
[1] = p1
;
17163 /* ./compiling//compiling_icode.nit:1191 */
17164 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17165 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
17166 /* ./compiling//compiling_icode.nit:1194 */
17167 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17168 if (UNTAG_Bool(REGB0
)) {
17169 /* ./compiling//compiling_icode.nit:1195 */
17170 REGB0
= TAG_Int(3);
17171 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17172 if (!once_value_1
) {
17173 fra
.me
.REG
[3] = BOX_NativeString("closctx->closure_funs[");
17174 REGB0
= TAG_Int(22);
17175 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
17176 once_value_1
= fra
.me
.REG
[3];
17177 register_static_object(&once_value_1
);
17178 } else fra
.me
.REG
[3] = once_value_1
;
17179 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17180 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17181 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17182 fra
.me
.REG
[4] = CALL_icode___icode_base___IClosCall___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17183 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17184 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17185 if (!once_value_2
) {
17186 fra
.me
.REG
[4] = BOX_NativeString("]");
17187 REGB0
= TAG_Int(1);
17188 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
17189 once_value_2
= fra
.me
.REG
[4];
17190 register_static_object(&once_value_2
);
17191 } else fra
.me
.REG
[4] = once_value_2
;
17192 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17193 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17194 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17195 /* ./compiling//compiling_icode.nit:1196 */
17196 REGB0
= TAG_Int(1);
17197 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17198 if (!once_value_3
) {
17199 fra
.me
.REG
[3] = BOX_NativeString("closctx->closure_ctx");
17200 REGB0
= TAG_Int(20);
17201 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
17202 once_value_3
= fra
.me
.REG
[3];
17203 register_static_object(&once_value_3
);
17204 } else fra
.me
.REG
[3] = once_value_3
;
17205 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17206 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
17208 /* ./compiling//compiling_icode.nit:1198 */
17209 REGB0
= TAG_Int(3);
17210 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17211 if (!once_value_4
) {
17212 fra
.me
.REG
[5] = BOX_NativeString("CREG[");
17213 REGB0
= TAG_Int(5);
17214 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
17215 once_value_4
= fra
.me
.REG
[5];
17216 register_static_object(&once_value_4
);
17217 } else fra
.me
.REG
[5] = once_value_4
;
17218 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17219 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
17220 fra
.me
.REG
[5] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17221 fra
.me
.REG
[6] = CALL_icode___icode_base___IClosCall___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17222 fra
.me
.REG
[6] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
17223 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17224 if (!once_value_5
) {
17225 fra
.me
.REG
[6] = BOX_NativeString("]");
17226 REGB0
= TAG_Int(1);
17227 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
17228 once_value_5
= fra
.me
.REG
[6];
17229 register_static_object(&once_value_5
);
17230 } else fra
.me
.REG
[6] = once_value_5
;
17231 fra
.me
.REG
[6] = fra
.me
.REG
[6];
17232 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17233 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17234 fra
.me
.REG
[2] = fra
.me
.REG
[3];
17235 /* ./compiling//compiling_icode.nit:1199 */
17236 REGB0
= TAG_Int(1);
17237 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17238 if (!once_value_6
) {
17239 fra
.me
.REG
[6] = BOX_NativeString("closctx_param");
17240 REGB0
= TAG_Int(13);
17241 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
17242 once_value_6
= fra
.me
.REG
[6];
17243 register_static_object(&once_value_6
);
17244 } else fra
.me
.REG
[6] = once_value_6
;
17245 fra
.me
.REG
[6] = fra
.me
.REG
[6];
17246 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17247 fra
.me
.REG
[4] = fra
.me
.REG
[3];
17249 /* ./compiling//compiling_icode.nit:1201 */
17250 fra
.me
.REG
[3] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17251 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___registers(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17252 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
17253 /* ./compiling//compiling_icode.nit:1203 */
17254 REGB0
= TAG_Int(7);
17255 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17256 if (!once_value_7
) {
17257 fra
.me
.REG
[6] = BOX_NativeString("((");
17258 REGB0
= TAG_Int(2);
17259 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
17260 once_value_7
= fra
.me
.REG
[6];
17261 register_static_object(&once_value_7
);
17262 } else fra
.me
.REG
[6] = once_value_7
;
17263 fra
.me
.REG
[6] = fra
.me
.REG
[6];
17264 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17265 fra
.me
.REG
[6] = CALL_compiling___compiling_icode___I2CCompilerVisitor___clostypes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17266 fra
.me
.REG
[5] = CALL_icode___icode_base___IClosCall___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17267 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
17268 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
17269 if (!once_value_8
) {
17270 fra
.me
.REG
[5] = BOX_NativeString(")(");
17271 REGB0
= TAG_Int(2);
17272 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
17273 once_value_8
= fra
.me
.REG
[5];
17274 register_static_object(&once_value_8
);
17275 } else fra
.me
.REG
[5] = once_value_8
;
17276 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17277 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
17278 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
17279 if (!once_value_9
) {
17280 fra
.me
.REG
[2] = BOX_NativeString("))(");
17281 REGB0
= TAG_Int(3);
17282 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
17283 once_value_9
= fra
.me
.REG
[2];
17284 register_static_object(&once_value_9
);
17285 } else fra
.me
.REG
[2] = once_value_9
;
17286 fra
.me
.REG
[2] = fra
.me
.REG
[2];
17287 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
17288 if (!once_value_10
) {
17289 fra
.me
.REG
[2] = BOX_NativeString(", ");
17290 REGB0
= TAG_Int(2);
17291 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
17292 once_value_10
= fra
.me
.REG
[2];
17293 register_static_object(&once_value_10
);
17294 } else fra
.me
.REG
[2] = once_value_10
;
17295 fra
.me
.REG
[2] = fra
.me
.REG
[2];
17296 fra
.me
.REG
[2] = CALL_standard___string___Collection___join(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
17297 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
17298 if (!once_value_11
) {
17299 fra
.me
.REG
[2] = BOX_NativeString(")");
17300 REGB0
= TAG_Int(1);
17301 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
17302 once_value_11
= fra
.me
.REG
[2];
17303 register_static_object(&once_value_11
);
17304 } else fra
.me
.REG
[2] = once_value_11
;
17305 fra
.me
.REG
[2] = fra
.me
.REG
[2];
17306 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
17307 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17308 /* ./compiling//compiling_icode.nit:1204 */
17309 fra
.me
.REG
[2] = NEW_Writer_compiling___compiling_writer___Writer___init();
17310 /* ./compiling//compiling_icode.nit:1205 */
17311 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17312 /* ./compiling//compiling_icode.nit:1206 */
17313 CALL_compiling___compiling_icode___ICode___store_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
17314 /* ./compiling//compiling_icode.nit:1209 */
17315 REGB0
= TAG_Int(3);
17316 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17317 if (!once_value_12
) {
17318 fra
.me
.REG
[3] = BOX_NativeString("if (");
17319 REGB0
= TAG_Int(4);
17320 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
17321 once_value_12
= fra
.me
.REG
[3];
17322 register_static_object(&once_value_12
);
17323 } else fra
.me
.REG
[3] = once_value_12
;
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
[4] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
17327 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17328 if (!once_value_13
) {
17329 fra
.me
.REG
[4] = BOX_NativeString("->has_broke) {");
17330 REGB0
= TAG_Int(14);
17331 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
17332 once_value_13
= fra
.me
.REG
[4];
17333 register_static_object(&once_value_13
);
17334 } else fra
.me
.REG
[4] = once_value_13
;
17335 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17336 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17337 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17338 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
17339 /* ./compiling//compiling_icode.nit:1210 */
17340 CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17341 /* ./compiling//compiling_icode.nit:1211 */
17342 fra
.me
.REG
[0] = CALL_icode___icode_base___IClosCall___break_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17343 /* ./compiling//compiling_icode.nit:1212 */
17344 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
17345 if (UNTAG_Bool(REGB0
)) {
17347 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
17348 if (UNTAG_Bool(REGB1
)) {
17349 REGB1
= TAG_Bool(false);
17352 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
17356 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
17357 if (UNTAG_Bool(REGB0
)) {
17358 /* ./compiling//compiling_icode.nit:1213 */
17359 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
17360 if (UNTAG_Bool(REGB0
)) {
17361 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 1213);
17363 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
17365 /* ./compiling//compiling_icode.nit:1215 */
17366 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___iroutine(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17367 fra
.me
.REG
[0] = CALL_icode___icode_base___IRoutine___body(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17368 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_goto(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17369 /* ./compiling//compiling_icode.nit:1216 */
17370 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17371 /* ./compiling//compiling_icode.nit:1217 */
17372 if (!once_value_14
) {
17373 fra
.me
.REG
[0] = BOX_NativeString("}");
17374 REGB0
= TAG_Int(1);
17375 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
17376 once_value_14
= fra
.me
.REG
[0];
17377 register_static_object(&once_value_14
);
17378 } else fra
.me
.REG
[0] = once_value_14
;
17379 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17380 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17381 stack_frame_head
= fra
.me
.prev
;
17384 void compiling___compiling_icode___IHasClos___compile_to_c(val_t p0
, val_t p1
){
17385 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
17388 static val_t once_value_2
; /* Once value */
17389 static val_t once_value_3
; /* Once value */
17390 static val_t once_value_4
; /* Once value */
17391 static val_t once_value_5
; /* Once value */
17392 static val_t once_value_6
; /* Once value */
17393 static val_t once_value_7
; /* Once value */
17394 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
17395 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
17396 fra
.me
.line
= 1222;
17397 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IHasClos___compile_to_c
;
17398 fra
.me
.has_broke
= 0;
17399 fra
.me
.REG_size
= 5;
17400 fra
.me
.REG
[0] = NIT_NULL
;
17401 fra
.me
.REG
[1] = NIT_NULL
;
17402 fra
.me
.REG
[2] = NIT_NULL
;
17403 fra
.me
.REG
[3] = NIT_NULL
;
17404 fra
.me
.REG
[4] = NIT_NULL
;
17405 fra
.me
.REG
[0] = p0
;
17406 fra
.me
.REG
[1] = p1
;
17407 /* ./compiling//compiling_icode.nit:1224 */
17408 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17409 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
17410 if (UNTAG_Bool(REGB0
)) {
17413 /* ./compiling//compiling_icode.nit:1225 */
17414 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17415 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
17416 /* ./compiling//compiling_icode.nit:1226 */
17417 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
17418 /* ./compiling//compiling_icode.nit:1227 */
17419 if (!once_value_2
) {
17420 fra
.me
.REG
[3] = BOX_NativeString("TAG_Bool(");
17421 REGB0
= TAG_Int(9);
17422 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
17423 once_value_2
= fra
.me
.REG
[3];
17424 register_static_object(&once_value_2
);
17425 } else fra
.me
.REG
[3] = once_value_2
;
17426 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17427 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17428 /* ./compiling//compiling_icode.nit:1228 */
17429 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17430 if (UNTAG_Bool(REGB0
)) {
17431 /* ./compiling//compiling_icode.nit:1229 */
17432 if (!once_value_3
) {
17433 fra
.me
.REG
[3] = BOX_NativeString("closctx->closure_funs[");
17434 REGB0
= TAG_Int(22);
17435 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
17436 once_value_3
= fra
.me
.REG
[3];
17437 register_static_object(&once_value_3
);
17438 } else fra
.me
.REG
[3] = once_value_3
;
17439 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17440 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17441 /* ./compiling//compiling_icode.nit:1230 */
17442 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17443 fra
.me
.REG
[4] = CALL_icode___icode_base___IHasClos___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17444 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17445 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17446 /* ./compiling//compiling_icode.nit:1231 */
17447 if (!once_value_4
) {
17448 fra
.me
.REG
[4] = BOX_NativeString("]");
17449 REGB0
= TAG_Int(1);
17450 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
17451 once_value_4
= fra
.me
.REG
[4];
17452 register_static_object(&once_value_4
);
17453 } else fra
.me
.REG
[4] = once_value_4
;
17454 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17455 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17457 /* ./compiling//compiling_icode.nit:1233 */
17458 if (!once_value_5
) {
17459 fra
.me
.REG
[4] = BOX_NativeString("CREG[");
17460 REGB0
= TAG_Int(5);
17461 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
17462 once_value_5
= fra
.me
.REG
[4];
17463 register_static_object(&once_value_5
);
17464 } else fra
.me
.REG
[4] = once_value_5
;
17465 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17466 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17467 /* ./compiling//compiling_icode.nit:1234 */
17468 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17469 fra
.me
.REG
[0] = CALL_icode___icode_base___IHasClos___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17470 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17471 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
17472 /* ./compiling//compiling_icode.nit:1235 */
17473 if (!once_value_6
) {
17474 fra
.me
.REG
[0] = BOX_NativeString("]");
17475 REGB0
= TAG_Int(1);
17476 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
17477 once_value_6
= fra
.me
.REG
[0];
17478 register_static_object(&once_value_6
);
17479 } else fra
.me
.REG
[0] = once_value_6
;
17480 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17481 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
17483 /* ./compiling//compiling_icode.nit:1237 */
17484 if (!once_value_7
) {
17485 fra
.me
.REG
[0] = BOX_NativeString(" != NULL)");
17486 REGB0
= TAG_Int(9);
17487 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
17488 once_value_7
= fra
.me
.REG
[0];
17489 register_static_object(&once_value_7
);
17490 } else fra
.me
.REG
[0] = once_value_7
;
17491 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17492 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
17494 stack_frame_head
= fra
.me
.prev
;
17497 val_t
compiling___compiling_icode___IClosureDef___compile_closure(val_t p0
, val_t p1
){
17498 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
17503 static val_t once_value_1
; /* Once value */
17504 static val_t once_value_2
; /* Once value */
17505 static val_t once_value_3
; /* Once value */
17506 static val_t once_value_4
; /* Once value */
17507 static val_t once_value_5
; /* Once value */
17508 static val_t once_value_6
; /* Once value */
17509 static val_t once_value_7
; /* Once value */
17510 static val_t once_value_8
; /* Once value */
17511 static val_t once_value_9
; /* Once value */
17512 static val_t once_value_10
; /* Once value */
17513 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
17514 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
17515 fra
.me
.line
= 1242;
17516 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IClosureDef___compile_closure
;
17517 fra
.me
.has_broke
= 0;
17518 fra
.me
.REG_size
= 9;
17519 fra
.me
.REG
[0] = NIT_NULL
;
17520 fra
.me
.REG
[1] = NIT_NULL
;
17521 fra
.me
.REG
[2] = NIT_NULL
;
17522 fra
.me
.REG
[3] = NIT_NULL
;
17523 fra
.me
.REG
[4] = NIT_NULL
;
17524 fra
.me
.REG
[5] = NIT_NULL
;
17525 fra
.me
.REG
[6] = NIT_NULL
;
17526 fra
.me
.REG
[7] = NIT_NULL
;
17527 fra
.me
.REG
[8] = NIT_NULL
;
17528 fra
.me
.REG
[0] = p0
;
17529 fra
.me
.REG
[1] = p1
;
17530 /* ./compiling//compiling_icode.nit:1246 */
17531 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17532 /* ./compiling//compiling_icode.nit:1249 */
17533 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17534 /* ./compiling//compiling_icode.nit:1250 */
17535 REGB1
= TAG_Bool(true);
17536 CALL_compiling___compiling_icode___I2CCompilerVisitor___closure__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
17537 /* ./compiling//compiling_icode.nit:1253 */
17538 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17539 /* ./compiling//compiling_icode.nit:1254 */
17540 fra
.me
.REG
[4] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
17541 CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
17542 /* ./compiling//compiling_icode.nit:1257 */
17543 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CompilerVisitor___decl_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17544 /* ./compiling//compiling_icode.nit:1258 */
17545 fra
.me
.REG
[5] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17546 /* ./compiling//compiling_icode.nit:1259 */
17547 fra
.me
.REG
[6] = CALL_compiling___compiling_base___CompilerVisitor___top_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17548 fra
.me
.REG
[6] = CALL_compiling___compiling_writer___Writer___sub(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
17549 CALL_compiling___compiling_base___CompilerVisitor___writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
17550 /* ./compiling//compiling_icode.nit:1260 */
17551 fra
.me
.REG
[6] = CALL_compiling___compiling_base___CompilerVisitor___header_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17552 fra
.me
.REG
[6] = CALL_compiling___compiling_writer___Writer___sub(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
17553 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
17554 /* ./compiling//compiling_icode.nit:1263 */
17555 REGB1
= TAG_Int(5);
17556 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17557 if (!once_value_1
) {
17558 fra
.me
.REG
[7] = BOX_NativeString("OC_");
17559 REGB1
= TAG_Int(3);
17560 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
17561 once_value_1
= fra
.me
.REG
[7];
17562 register_static_object(&once_value_1
);
17563 } else fra
.me
.REG
[7] = once_value_1
;
17564 fra
.me
.REG
[7] = fra
.me
.REG
[7];
17565 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
17566 fra
.me
.REG
[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___basecname(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17567 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
17568 if (!once_value_2
) {
17569 fra
.me
.REG
[7] = BOX_NativeString("_");
17570 REGB1
= TAG_Int(1);
17571 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
17572 once_value_2
= fra
.me
.REG
[7];
17573 register_static_object(&once_value_2
);
17574 } else fra
.me
.REG
[7] = once_value_2
;
17575 fra
.me
.REG
[7] = fra
.me
.REG
[7];
17576 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
17577 REGB1
= CALL_compiling___compiling_icode___I2CCompilerVisitor___new_number(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17578 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
17579 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
17580 if (!once_value_3
) {
17581 fra
.me
.REG
[7] = BOX_NativeString("");
17582 REGB1
= TAG_Int(0);
17583 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
17584 once_value_3
= fra
.me
.REG
[7];
17585 register_static_object(&once_value_3
);
17586 } else fra
.me
.REG
[7] = once_value_3
;
17587 fra
.me
.REG
[7] = fra
.me
.REG
[7];
17588 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
17589 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
17590 /* ./compiling//compiling_icode.nit:1264 */
17591 fra
.me
.REG
[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17592 if (!once_value_4
) {
17593 fra
.me
.REG
[8] = BOX_NativeString("struct stack_frame_t *closctx");
17594 REGB1
= TAG_Int(29);
17595 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
17596 once_value_4
= fra
.me
.REG
[8];
17597 register_static_object(&once_value_4
);
17598 } else fra
.me
.REG
[8] = once_value_4
;
17599 fra
.me
.REG
[8] = fra
.me
.REG
[8];
17600 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
);
17601 /* ./compiling//compiling_icode.nit:1265 */
17602 fra
.me
.REG
[7] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17603 fra
.me
.REG
[7] = CALL_compiling___compiling_writer___Writer___sub(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
17604 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[7]);
17605 /* ./compiling//compiling_icode.nit:1267 */
17606 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]);
17607 /* ./compiling//compiling_icode.nit:1268 */
17608 REGB1
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
17609 if (UNTAG_Bool(REGB1
)) {
17611 REGB2
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
17612 if (UNTAG_Bool(REGB2
)) {
17613 REGB2
= TAG_Bool(false);
17616 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
17620 if (UNTAG_Bool(REGB1
)) {
17621 /* ./compiling//compiling_icode.nit:1269 */
17622 if (!once_value_5
) {
17623 fra
.me
.REG
[0] = BOX_NativeString("return;");
17624 REGB1
= TAG_Int(7);
17625 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB1
);
17626 once_value_5
= fra
.me
.REG
[0];
17627 register_static_object(&once_value_5
);
17628 } else fra
.me
.REG
[0] = once_value_5
;
17629 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17630 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17632 /* ./compiling//compiling_icode.nit:1271 */
17633 REGB1
= TAG_Int(3);
17634 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17635 if (!once_value_6
) {
17636 fra
.me
.REG
[7] = BOX_NativeString("return ");
17637 REGB1
= TAG_Int(7);
17638 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
17639 once_value_6
= fra
.me
.REG
[7];
17640 register_static_object(&once_value_6
);
17641 } else fra
.me
.REG
[7] = once_value_6
;
17642 fra
.me
.REG
[7] = fra
.me
.REG
[7];
17643 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[7]);
17644 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[8]);
17645 if (!once_value_7
) {
17646 fra
.me
.REG
[8] = BOX_NativeString(";");
17647 REGB1
= TAG_Int(1);
17648 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
17649 once_value_7
= fra
.me
.REG
[8];
17650 register_static_object(&once_value_7
);
17651 } else fra
.me
.REG
[8] = once_value_7
;
17652 fra
.me
.REG
[8] = fra
.me
.REG
[8];
17653 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[8]);
17654 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17655 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17657 /* ./compiling//compiling_icode.nit:1273 */
17658 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17659 /* ./compiling//compiling_icode.nit:1274 */
17660 if (!once_value_8
) {
17661 fra
.me
.REG
[0] = BOX_NativeString("}");
17662 REGB1
= TAG_Int(1);
17663 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB1
);
17664 once_value_8
= fra
.me
.REG
[0];
17665 register_static_object(&once_value_8
);
17666 } else fra
.me
.REG
[0] = once_value_8
;
17667 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17668 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17669 /* ./compiling//compiling_icode.nit:1277 */
17670 CALL_compiling___compiling_base___CompilerVisitor___writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
17671 /* ./compiling//compiling_icode.nit:1278 */
17672 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17673 /* ./compiling//compiling_icode.nit:1279 */
17674 CALL_compiling___compiling_icode___I2CCompilerVisitor___closure__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
17675 /* ./compiling//compiling_icode.nit:1280 */
17676 CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17677 /* ./compiling//compiling_icode.nit:1281 */
17678 REGB0
= TAG_Int(3);
17679 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17680 if (!once_value_9
) {
17681 fra
.me
.REG
[1] = BOX_NativeString("((fun_t)");
17682 REGB0
= TAG_Int(8);
17683 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
17684 once_value_9
= fra
.me
.REG
[1];
17685 register_static_object(&once_value_9
);
17686 } else fra
.me
.REG
[1] = once_value_9
;
17687 fra
.me
.REG
[1] = fra
.me
.REG
[1];
17688 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
17689 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17690 if (!once_value_10
) {
17691 fra
.me
.REG
[6] = BOX_NativeString(")");
17692 REGB0
= TAG_Int(1);
17693 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
17694 once_value_10
= fra
.me
.REG
[6];
17695 register_static_object(&once_value_10
);
17696 } else fra
.me
.REG
[6] = once_value_10
;
17697 fra
.me
.REG
[6] = fra
.me
.REG
[6];
17698 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17699 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17702 stack_frame_head
= fra
.me
.prev
;
17703 return fra
.me
.REG
[3];