1 /* This C file is generated by NIT to compile module compiling_icode. */
2 #include "compiling_icode._sep.h"
3 val_t
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_icode
;
22 fra
.me
.meth
= LOCATE_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:34 */
36 fra
.me
.REG
[2] = CALL_icode_base___IRegister___stype(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
37 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_MMTypeNone
, ID_MMTypeNone
)) /*cast MMTypeNone*/;
38 if (UNTAG_Bool(REGB0
)) {
40 fra
.me
.REG
[2] = BOX_NativeString("NIT_NULL");
42 fra
.me
.REG
[2] = NEW_String_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:35 */
50 REGB0
= TAG_Bool(ATTR_compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
51 if (UNTAG_Bool(REGB0
)) {
53 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling_icode
, 35);
55 fra
.me
.REG
[3] = ATTR_compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
56 /* ./compiling//compiling_icode.nit:36 */
57 REGB0
= CALL_compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
58 if (UNTAG_Bool(REGB0
)) {
59 REGB0
= CALL_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_icode___I2CCompilerVisitor____ids2(fra
.me
.REG
[0])!=NIT_NULL
);
67 if (UNTAG_Bool(REGB0
)) {
69 nit_abort("Uninitialized attribute %s", "_ids2", LOCATE_compiling_icode
, 36);
71 fra
.me
.REG
[4] = ATTR_compiling_icode___I2CCompilerVisitor____ids2(fra
.me
.REG
[0]);
72 fra
.me
.REG
[3] = fra
.me
.REG
[4];
74 /* ./compiling//compiling_icode.nit:37 */
75 REGB0
= CALL_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:38 */
78 fra
.me
.REG
[4] = CALL_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:40 */
83 fra
.me
.REG
[4] = CALL_allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
84 /* ./compiling//compiling_icode.nit:41 */
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:207 */
94 REGB1
= TAG_Bool((fra
.me
.REG
[4])==(NIT_NULL
));
95 /* ./compiling//compiling_icode.nit:41 */
99 if (UNTAG_Bool(REGB0
)) {
100 /* ./compiling//compiling_icode.nit:43 */
102 fra
.me
.REG
[5] = BOX_NativeString("NIT_NULL");
104 fra
.me
.REG
[5] = NEW_String_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:44 */
110 CALL_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:45 */
112 fra
.me
.REG
[2] = fra
.me
.REG
[5];
115 /* ./compiling//compiling_icode.nit:49 */
116 REGB0
= CALL_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:50 */
120 fra
.me
.REG
[5] = NEW_HashMap_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:51 */
126 REGB0
= CALL_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_array___Array___with_capacity(REGB0
);
132 fra
.me
.REG
[7] = BOX_NativeString("REGB");
134 fra
.me
.REG
[7] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
140 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
141 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
151 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
152 CALL_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:52 */
156 REGB0
= CALL_compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
157 if (UNTAG_Bool(REGB0
)) {
158 REGB0
= CALL_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:53 */
167 fra
.me
.REG
[0] = NEW_HashMap_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:54 */
174 REGB0
= CALL_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_array___Array___with_capacity(REGB0
);
180 fra
.me
.REG
[6] = BOX_NativeString("closctx->REG[");
182 fra
.me
.REG
[6] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
188 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
189 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
199 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
200 CALL_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:56 */
204 if (!once_value_10
) {
205 fra
.me
.REG
[0] = NEW_HashMap_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:57 */
212 REGB0
= CALL_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_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
226 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
227 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
237 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
238 CALL_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:59 */
243 fra
.me
.REG
[4] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
244 /* ./compiling//compiling_icode.nit:60 */
245 CALL_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:61 */
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_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_icode
;
262 fra
.me
.meth
= LOCATE_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:69 */
271 REGB0
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
272 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
273 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_compiling_icode___I2CCompilerVisitor___registers_1
));
274 /* ./compiling//compiling_icode.nit:73 */
277 stack_frame_head
= fra
.me
.prev
;
278 return fra
.me
.REG
[2];
280 void OC_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:70 */
285 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
286 fra
.me
.file
= LOCATE_compiling_icode
;
288 fra
.me
.meth
= LOCATE_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:71 */
297 fra
.me
.REG
[0] = CALL_compiling_icode___I2CCompilerVisitor___register(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
298 CALL_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_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_icode
;
310 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___new_number
;
311 fra
.me
.has_broke
= 0;
313 fra
.me
.REG
[0] = NIT_NULL
;
315 /* ./compiling//compiling_icode.nit:80 */
316 REGB0
= ATTR_compiling_icode___I2CCompilerVisitor____last_number(fra
.me
.REG
[0]);
318 /* ./../lib/standard//kernel.nit:215 */
319 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
320 /* ./compiling//compiling_icode.nit:80 */
321 ATTR_compiling_icode___I2CCompilerVisitor____last_number(fra
.me
.REG
[0]) = REGB1
;
322 /* ./compiling//compiling_icode.nit:81 */
323 REGB1
= TAG_Bool(ATTR_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_icode
, 81);
328 REGB1
= ATTR_compiling_icode___I2CCompilerVisitor____last_number(fra
.me
.REG
[0]);
331 stack_frame_head
= fra
.me
.prev
;
334 val_t
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_icode
;
343 fra
.me
.meth
= LOCATE_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:87 */
354 REGB0
= TAG_Bool(ATTR_compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
355 if (UNTAG_Bool(REGB0
)) {
357 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling_icode
, 87);
359 fra
.me
.REG
[2] = ATTR_compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
360 REGB0
= CALL_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:88 */
363 REGB0
= TAG_Bool(ATTR_compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
364 if (UNTAG_Bool(REGB0
)) {
366 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling_icode
, 88);
368 fra
.me
.REG
[2] = ATTR_compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
369 fra
.me
.REG
[2] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
372 /* ./compiling//compiling_icode.nit:90 */
374 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
376 fra
.me
.REG
[4] = BOX_NativeString("label");
378 fra
.me
.REG
[4] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
384 REGB0
= CALL_compiling_icode___I2CCompilerVisitor___new_number(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
385 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB0
)(REGB0
);
386 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
396 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
397 /* ./compiling//compiling_icode.nit:91 */
398 REGB0
= TAG_Bool(ATTR_compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
399 if (UNTAG_Bool(REGB0
)) {
401 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling_icode
, 91);
403 fra
.me
.REG
[0] = ATTR_compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
404 CALL_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:92 */
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_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_icode
;
420 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___closures
;
421 fra
.me
.has_broke
= 0;
423 fra
.me
.REG
[0] = NIT_NULL
;
425 /* ./compiling//compiling_icode.nit:96 */
426 REGB0
= TAG_Bool(ATTR_compiling_icode___I2CCompilerVisitor____closures(fra
.me
.REG
[0])!=NIT_NULL
);
427 if (UNTAG_Bool(REGB0
)) {
429 nit_abort("Uninitialized attribute %s", "_closures", LOCATE_compiling_icode
, 96);
431 fra
.me
.REG
[0] = ATTR_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_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_icode
;
442 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___clostypes
;
443 fra
.me
.has_broke
= 0;
445 fra
.me
.REG
[0] = NIT_NULL
;
447 /* ./compiling//compiling_icode.nit:99 */
448 REGB0
= TAG_Bool(ATTR_compiling_icode___I2CCompilerVisitor____clostypes(fra
.me
.REG
[0])!=NIT_NULL
);
449 if (UNTAG_Bool(REGB0
)) {
451 nit_abort("Uninitialized attribute %s", "_clostypes", LOCATE_compiling_icode
, 99);
453 fra
.me
.REG
[0] = ATTR_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_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_icode
;
464 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___local_labels
;
465 fra
.me
.has_broke
= 0;
467 fra
.me
.REG
[0] = NIT_NULL
;
469 /* ./compiling//compiling_icode.nit:102 */
470 REGB0
= TAG_Bool(ATTR_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_icode
, 102);
475 fra
.me
.REG
[0] = ATTR_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_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_icode
;
485 fra
.me
.meth
= LOCATE_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:102 */
493 ATTR_compiling_icode___I2CCompilerVisitor____local_labels(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
494 stack_frame_head
= fra
.me
.prev
;
497 val_t
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_icode
;
504 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___escaped_labels
;
505 fra
.me
.has_broke
= 0;
507 fra
.me
.REG
[0] = NIT_NULL
;
509 /* ./compiling//compiling_icode.nit:105 */
510 REGB0
= TAG_Bool(ATTR_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_icode
, 105);
515 fra
.me
.REG
[0] = ATTR_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_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_icode
;
525 fra
.me
.meth
= LOCATE_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:105 */
533 ATTR_compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
534 stack_frame_head
= fra
.me
.prev
;
537 val_t
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_icode
;
546 fra
.me
.meth
= LOCATE_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:112 */
555 REGB0
= TAG_Bool(ATTR_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_icode
, 112);
560 fra
.me
.REG
[2] = ATTR_compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]);
561 REGB0
= CALL_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:113 */
564 REGB0
= TAG_Bool(ATTR_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_icode
, 113);
569 fra
.me
.REG
[2] = ATTR_compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]);
570 fra
.me
.REG
[2] = CALL_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:115 */
575 REGB1
= TAG_Bool(ATTR_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_icode
, 115);
580 fra
.me
.REG
[2] = ATTR_compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]);
581 REGB1
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
583 /* ./../lib/standard//kernel.nit:215 */
584 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
585 /* ./compiling//compiling_icode.nit:116 */
586 REGB1
= TAG_Bool(ATTR_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_icode
, 116);
591 fra
.me
.REG
[0] = ATTR_compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]);
592 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB2
);
593 /* ./compiling//compiling_icode.nit:117 */
598 stack_frame_head
= fra
.me
.prev
;
601 void 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_icode
;
610 fra
.me
.meth
= LOCATE_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:124 */
620 REGB0
= TAG_Bool(ATTR_compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
621 if (UNTAG_Bool(REGB0
)) {
623 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling_icode
, 124);
625 fra
.me
.REG
[2] = ATTR_compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
626 REGB0
= CALL_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:125 */
630 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
632 fra
.me
.REG
[3] = BOX_NativeString("");
634 fra
.me
.REG
[3] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
640 REGB0
= TAG_Bool(ATTR_compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
641 if (UNTAG_Bool(REGB0
)) {
643 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling_icode
, 125);
645 fra
.me
.REG
[3] = ATTR_compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
646 fra
.me
.REG
[1] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
647 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
657 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
658 CALL_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_icode___I2CCompilerVisitor___add_goto(val_t p0
, val_t p1
){
664 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} 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_icode
;
677 fra
.me
.meth
= LOCATE_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
;
686 /* ./compiling//compiling_icode.nit:132 */
687 fra
.me
.REG
[2] = CALL_compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
688 REGB0
= CALL_abstract_collection___Collection___has(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
689 if (UNTAG_Bool(REGB0
)) {
690 /* ./compiling//compiling_icode.nit:133 */
692 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
694 fra
.me
.REG
[3] = BOX_NativeString("goto ");
696 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
697 once_value_1
= fra
.me
.REG
[3];
698 register_static_object(&once_value_1
);
699 } else fra
.me
.REG
[3] = once_value_1
;
700 fra
.me
.REG
[3] = fra
.me
.REG
[3];
701 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
702 fra
.me
.REG
[3] = CALL_compiling_icode___I2CCompilerVisitor___lab(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
703 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
705 fra
.me
.REG
[3] = BOX_NativeString(";");
707 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
708 once_value_2
= fra
.me
.REG
[3];
709 register_static_object(&once_value_2
);
710 } else fra
.me
.REG
[3] = once_value_2
;
711 fra
.me
.REG
[3] = fra
.me
.REG
[3];
712 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
713 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
714 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
716 /* ./compiling//compiling_icode.nit:135 */
717 REGB0
= CALL_compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
718 if (UNTAG_Bool(REGB0
)) {
720 nit_abort("Assert failed", NULL
, LOCATE_compiling_icode
, 135);
722 /* ./compiling//compiling_icode.nit:136 */
723 REGB0
= CALL_compiling_icode___I2CCompilerVisitor___register_escape_label(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
724 /* ./compiling//compiling_icode.nit:137 */
726 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB1
);
728 fra
.me
.REG
[2] = BOX_NativeString("closctx->has_broke = ");
730 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
731 once_value_3
= fra
.me
.REG
[2];
732 register_static_object(&once_value_3
);
733 } else fra
.me
.REG
[2] = once_value_3
;
734 fra
.me
.REG
[2] = fra
.me
.REG
[2];
735 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
736 fra
.me
.REG
[2] = CALL_string___Object___to_s(REGB0
)(REGB0
);
737 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
739 fra
.me
.REG
[2] = BOX_NativeString(";");
741 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
742 once_value_4
= fra
.me
.REG
[2];
743 register_static_object(&once_value_4
);
744 } else fra
.me
.REG
[2] = once_value_4
;
745 fra
.me
.REG
[2] = fra
.me
.REG
[2];
746 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
747 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
748 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
749 /* ./compiling//compiling_icode.nit:138 */
751 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
753 fra
.me
.REG
[2] = BOX_NativeString("goto ");
755 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
756 once_value_5
= fra
.me
.REG
[2];
757 register_static_object(&once_value_5
);
758 } else fra
.me
.REG
[2] = once_value_5
;
759 fra
.me
.REG
[2] = fra
.me
.REG
[2];
760 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
761 fra
.me
.REG
[2] = CALL_compiling_icode___I2CCompilerVisitor___return_label(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
762 REGB0
= TAG_Bool(fra
.me
.REG
[2]!=NIT_NULL
);
763 if (UNTAG_Bool(REGB0
)) {
765 nit_abort("Cast failed", NULL
, LOCATE_compiling_icode
, 138);
767 fra
.me
.REG
[2] = CALL_compiling_icode___I2CCompilerVisitor___lab(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
768 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
770 fra
.me
.REG
[2] = BOX_NativeString(";");
772 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
773 once_value_6
= fra
.me
.REG
[2];
774 register_static_object(&once_value_6
);
775 } else fra
.me
.REG
[2] = once_value_6
;
776 fra
.me
.REG
[2] = fra
.me
.REG
[2];
777 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
778 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
779 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
781 stack_frame_head
= fra
.me
.prev
;
784 val_t
compiling_icode___I2CCompilerVisitor___marks_to_seq(val_t p0
){
785 struct {struct stack_frame_t me
;} fra
;
788 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
789 fra
.me
.file
= LOCATE_compiling_icode
;
791 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___marks_to_seq
;
792 fra
.me
.has_broke
= 0;
794 fra
.me
.REG
[0] = NIT_NULL
;
796 /* ./compiling//compiling_icode.nit:142 */
797 REGB0
= TAG_Bool(ATTR_compiling_icode___I2CCompilerVisitor____marks_to_seq(fra
.me
.REG
[0])!=NIT_NULL
);
798 if (UNTAG_Bool(REGB0
)) {
800 nit_abort("Uninitialized attribute %s", "_marks_to_seq", LOCATE_compiling_icode
, 142);
802 fra
.me
.REG
[0] = ATTR_compiling_icode___I2CCompilerVisitor____marks_to_seq(fra
.me
.REG
[0]);
803 stack_frame_head
= fra
.me
.prev
;
804 return fra
.me
.REG
[0];
806 val_t
compiling_icode___I2CCompilerVisitor___closure(val_t p0
){
807 struct {struct stack_frame_t me
;} fra
;
810 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
811 fra
.me
.file
= LOCATE_compiling_icode
;
813 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___closure
;
814 fra
.me
.has_broke
= 0;
816 fra
.me
.REG
[0] = NIT_NULL
;
818 /* ./compiling//compiling_icode.nit:145 */
819 REGB0
= TAG_Bool(ATTR_compiling_icode___I2CCompilerVisitor____closure(fra
.me
.REG
[0])!=NIT_NULL
);
820 if (UNTAG_Bool(REGB0
)) {
822 nit_abort("Uninitialized attribute %s", "_closure", LOCATE_compiling_icode
, 145);
824 REGB0
= ATTR_compiling_icode___I2CCompilerVisitor____closure(fra
.me
.REG
[0]);
825 stack_frame_head
= fra
.me
.prev
;
828 void compiling_icode___I2CCompilerVisitor___closure__eq(val_t p0
, val_t p1
){
829 struct {struct stack_frame_t me
;} fra
;
832 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
833 fra
.me
.file
= LOCATE_compiling_icode
;
835 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___closure__eq
;
836 fra
.me
.has_broke
= 0;
838 fra
.me
.REG
[0] = NIT_NULL
;
841 /* ./compiling//compiling_icode.nit:145 */
842 ATTR_compiling_icode___I2CCompilerVisitor____closure(fra
.me
.REG
[0]) = REGB0
;
843 stack_frame_head
= fra
.me
.prev
;
846 val_t
compiling_icode___I2CCompilerVisitor___visitor(val_t p0
){
847 struct {struct stack_frame_t me
;} fra
;
850 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
851 fra
.me
.file
= LOCATE_compiling_icode
;
853 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___visitor
;
854 fra
.me
.has_broke
= 0;
856 fra
.me
.REG
[0] = NIT_NULL
;
858 /* ./compiling//compiling_icode.nit:148 */
859 REGB0
= TAG_Bool(ATTR_compiling_icode___I2CCompilerVisitor____visitor(fra
.me
.REG
[0])!=NIT_NULL
);
860 if (UNTAG_Bool(REGB0
)) {
862 nit_abort("Uninitialized attribute %s", "_visitor", LOCATE_compiling_icode
, 148);
864 fra
.me
.REG
[0] = ATTR_compiling_icode___I2CCompilerVisitor____visitor(fra
.me
.REG
[0]);
865 stack_frame_head
= fra
.me
.prev
;
866 return fra
.me
.REG
[0];
868 val_t
compiling_icode___I2CCompilerVisitor___iroutine(val_t p0
){
869 struct {struct stack_frame_t me
;} fra
;
872 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
873 fra
.me
.file
= LOCATE_compiling_icode
;
875 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___iroutine
;
876 fra
.me
.has_broke
= 0;
878 fra
.me
.REG
[0] = NIT_NULL
;
880 /* ./compiling//compiling_icode.nit:151 */
881 REGB0
= TAG_Bool(ATTR_compiling_icode___I2CCompilerVisitor____iroutine(fra
.me
.REG
[0])!=NIT_NULL
);
882 if (UNTAG_Bool(REGB0
)) {
884 nit_abort("Uninitialized attribute %s", "_iroutine", LOCATE_compiling_icode
, 151);
886 fra
.me
.REG
[0] = ATTR_compiling_icode___I2CCompilerVisitor____iroutine(fra
.me
.REG
[0]);
887 stack_frame_head
= fra
.me
.prev
;
888 return fra
.me
.REG
[0];
890 val_t
compiling_icode___I2CCompilerVisitor___return_label(val_t p0
){
891 struct {struct stack_frame_t me
;} fra
;
893 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
894 fra
.me
.file
= LOCATE_compiling_icode
;
896 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___return_label
;
897 fra
.me
.has_broke
= 0;
899 fra
.me
.REG
[0] = NIT_NULL
;
901 /* ./compiling//compiling_icode.nit:154 */
902 fra
.me
.REG
[0] = ATTR_compiling_icode___I2CCompilerVisitor____return_label(fra
.me
.REG
[0]);
903 stack_frame_head
= fra
.me
.prev
;
904 return fra
.me
.REG
[0];
906 void compiling_icode___I2CCompilerVisitor___return_label__eq(val_t p0
, val_t p1
){
907 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
909 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
910 fra
.me
.file
= LOCATE_compiling_icode
;
912 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___return_label__eq
;
913 fra
.me
.has_broke
= 0;
915 fra
.me
.REG
[0] = NIT_NULL
;
916 fra
.me
.REG
[1] = NIT_NULL
;
919 /* ./compiling//compiling_icode.nit:154 */
920 ATTR_compiling_icode___I2CCompilerVisitor____return_label(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
921 stack_frame_head
= fra
.me
.prev
;
924 void compiling_icode___I2CCompilerVisitor___add_decl(val_t p0
, val_t p1
){
925 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
927 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
928 fra
.me
.file
= LOCATE_compiling_icode
;
930 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___add_decl
;
931 fra
.me
.has_broke
= 0;
933 fra
.me
.REG
[0] = NIT_NULL
;
934 fra
.me
.REG
[1] = NIT_NULL
;
937 /* ./compiling//compiling_icode.nit:159 */
938 fra
.me
.REG
[0] = CALL_compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
939 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
940 stack_frame_head
= fra
.me
.prev
;
943 val_t
compiling_icode___I2CCompilerVisitor___new_instr(val_t p0
){
944 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
948 static val_t once_value_1
; /* Once value */
949 static val_t once_value_2
; /* Once value */
950 static val_t once_value_3
; /* Once value */
951 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
952 fra
.me
.file
= LOCATE_compiling_icode
;
954 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___new_instr
;
955 fra
.me
.has_broke
= 0;
957 fra
.me
.REG
[0] = NIT_NULL
;
958 fra
.me
.REG
[1] = NIT_NULL
;
959 fra
.me
.REG
[2] = NIT_NULL
;
960 fra
.me
.REG
[3] = NIT_NULL
;
962 /* ./compiling//compiling_icode.nit:166 */
963 fra
.me
.REG
[1] = CALL_compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
964 fra
.me
.REG
[1] = CALL_compiling_base___CompilerVisitor___writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
965 /* ./compiling//compiling_icode.nit:167 */
966 fra
.me
.REG
[2] = ATTR_compiling_icode___I2CCompilerVisitor____next_location(fra
.me
.REG
[0]);
967 /* ./compiling//compiling_icode.nit:168 */
968 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
969 if (UNTAG_Bool(REGB0
)) {
971 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
972 if (UNTAG_Bool(REGB1
)) {
973 REGB1
= TAG_Bool(false);
976 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
980 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
981 if (UNTAG_Bool(REGB0
)) {
982 /* ./compiling//compiling_icode.nit:169 */
983 fra
.me
.REG
[3] = CALL_compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
984 CALL_compiling_base___CompilerVisitor___add_indent(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
985 /* ./compiling//compiling_icode.nit:170 */
987 fra
.me
.REG
[3] = BOX_NativeString("/* ");
989 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
990 once_value_1
= fra
.me
.REG
[3];
991 register_static_object(&once_value_1
);
992 } else fra
.me
.REG
[3] = once_value_1
;
993 fra
.me
.REG
[3] = fra
.me
.REG
[3];
994 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
995 /* ./compiling//compiling_icode.nit:171 */
996 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
997 if (UNTAG_Bool(REGB0
)) {
998 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 171);
1000 fra
.me
.REG
[3] = CALL_location___Location___file(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1001 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1002 /* ./compiling//compiling_icode.nit:172 */
1003 if (!once_value_2
) {
1004 fra
.me
.REG
[3] = BOX_NativeString(":");
1006 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1007 once_value_2
= fra
.me
.REG
[3];
1008 register_static_object(&once_value_2
);
1009 } else fra
.me
.REG
[3] = once_value_2
;
1010 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1011 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1012 /* ./compiling//compiling_icode.nit:173 */
1013 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1014 if (UNTAG_Bool(REGB0
)) {
1015 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 173);
1017 REGB0
= CALL_location___Location___line_start(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1018 fra
.me
.REG
[2] = CALL_string___Object___to_s(REGB0
)(REGB0
);
1019 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1020 /* ./compiling//compiling_icode.nit:174 */
1021 if (!once_value_3
) {
1022 fra
.me
.REG
[2] = BOX_NativeString(" */\n");
1024 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1025 once_value_3
= fra
.me
.REG
[2];
1026 register_static_object(&once_value_3
);
1027 } else fra
.me
.REG
[2] = once_value_3
;
1028 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1029 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1030 /* ./compiling//compiling_icode.nit:175 */
1031 ATTR_compiling_icode___I2CCompilerVisitor____next_location(fra
.me
.REG
[0]) = NIT_NULL
;
1033 /* ./compiling//compiling_icode.nit:177 */
1034 fra
.me
.REG
[0] = CALL_compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1035 CALL_compiling_base___CompilerVisitor___add_indent(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1036 /* ./compiling//compiling_icode.nit:178 */
1039 stack_frame_head
= fra
.me
.prev
;
1040 return fra
.me
.REG
[1];
1042 void compiling_icode___I2CCompilerVisitor___add_instr(val_t p0
, val_t p1
){
1043 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1046 static val_t once_value_1
; /* Once value */
1047 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1048 fra
.me
.file
= LOCATE_compiling_icode
;
1050 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___add_instr
;
1051 fra
.me
.has_broke
= 0;
1052 fra
.me
.REG_size
= 2;
1053 fra
.me
.REG
[0] = NIT_NULL
;
1054 fra
.me
.REG
[1] = NIT_NULL
;
1057 /* ./compiling//compiling_icode.nit:183 */
1058 fra
.me
.REG
[0] = CALL_compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1059 fra
.me
.REG
[1] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1060 if (!once_value_1
) {
1061 fra
.me
.REG
[0] = BOX_NativeString("\n");
1063 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1064 once_value_1
= fra
.me
.REG
[0];
1065 register_static_object(&once_value_1
);
1066 } else fra
.me
.REG
[0] = once_value_1
;
1067 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1068 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1069 stack_frame_head
= fra
.me
.prev
;
1072 void compiling_icode___I2CCompilerVisitor___indent(val_t p0
){
1073 struct {struct stack_frame_t me
;} fra
;
1075 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1076 fra
.me
.file
= LOCATE_compiling_icode
;
1078 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___indent
;
1079 fra
.me
.has_broke
= 0;
1080 fra
.me
.REG_size
= 1;
1081 fra
.me
.REG
[0] = NIT_NULL
;
1083 /* ./compiling//compiling_icode.nit:188 */
1084 fra
.me
.REG
[0] = CALL_compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1085 CALL_compiling_base___CompilerVisitor___indent(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1086 stack_frame_head
= fra
.me
.prev
;
1089 void compiling_icode___I2CCompilerVisitor___unindent(val_t p0
){
1090 struct {struct stack_frame_t me
;} fra
;
1092 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1093 fra
.me
.file
= LOCATE_compiling_icode
;
1095 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___unindent
;
1096 fra
.me
.has_broke
= 0;
1097 fra
.me
.REG_size
= 1;
1098 fra
.me
.REG
[0] = NIT_NULL
;
1100 /* ./compiling//compiling_icode.nit:193 */
1101 fra
.me
.REG
[0] = CALL_compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1102 CALL_compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1103 stack_frame_head
= fra
.me
.prev
;
1106 void compiling_icode___I2CCompilerVisitor___add_assignment(val_t p0
, val_t p1
, val_t p2
){
1107 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1109 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1110 fra
.me
.file
= LOCATE_compiling_icode
;
1112 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___add_assignment
;
1113 fra
.me
.has_broke
= 0;
1114 fra
.me
.REG_size
= 3;
1115 fra
.me
.REG
[0] = NIT_NULL
;
1116 fra
.me
.REG
[1] = NIT_NULL
;
1117 fra
.me
.REG
[2] = NIT_NULL
;
1121 /* ./compiling//compiling_icode.nit:198 */
1122 fra
.me
.REG
[0] = CALL_compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1123 CALL_compiling_base___CompilerVisitor___add_assignment(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
1124 stack_frame_head
= fra
.me
.prev
;
1127 void compiling_icode___I2CCompilerVisitor___add_location(val_t p0
, val_t p1
){
1128 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1133 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1134 fra
.me
.file
= LOCATE_compiling_icode
;
1136 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___add_location
;
1137 fra
.me
.has_broke
= 0;
1138 fra
.me
.REG_size
= 5;
1139 fra
.me
.REG
[0] = NIT_NULL
;
1140 fra
.me
.REG
[1] = NIT_NULL
;
1141 fra
.me
.REG
[2] = NIT_NULL
;
1142 fra
.me
.REG
[3] = NIT_NULL
;
1143 fra
.me
.REG
[4] = NIT_NULL
;
1146 /* ./compiling//compiling_icode.nit:208 */
1147 fra
.me
.REG
[2] = ATTR_compiling_icode___I2CCompilerVisitor____last_location(fra
.me
.REG
[0]);
1148 /* ./compiling//compiling_icode.nit:209 */
1149 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1150 if (UNTAG_Bool(REGB0
)) {
1152 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1153 if (UNTAG_Bool(REGB1
)) {
1154 REGB1
= TAG_Bool(false);
1157 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1161 if (UNTAG_Bool(REGB0
)) {
1162 REGB0
= TAG_Bool(true);
1164 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1165 if (UNTAG_Bool(REGB1
)) {
1167 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1168 if (UNTAG_Bool(REGB2
)) {
1169 REGB2
= TAG_Bool(false);
1172 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1178 if (UNTAG_Bool(REGB0
)) {
1181 /* ./compiling//compiling_icode.nit:210 */
1182 ATTR_compiling_icode___I2CCompilerVisitor____last_location(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1183 /* ./compiling//compiling_icode.nit:211 */
1184 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1185 if (UNTAG_Bool(REGB0
)) {
1187 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1188 if (UNTAG_Bool(REGB1
)) {
1189 REGB1
= TAG_Bool(false);
1192 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1196 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1197 if (UNTAG_Bool(REGB0
)) {
1198 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1199 if (UNTAG_Bool(REGB0
)) {
1200 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 211);
1202 fra
.me
.REG
[3] = CALL_location___Location___file(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1203 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1204 if (UNTAG_Bool(REGB0
)) {
1205 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 211);
1207 fra
.me
.REG
[4] = CALL_location___Location___file(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1208 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
1209 if (UNTAG_Bool(REGB0
)) {
1211 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1215 REGB1
= TAG_Bool(false);
1218 if (UNTAG_Bool(REGB0
)) {
1219 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1220 if (UNTAG_Bool(REGB0
)) {
1221 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 211);
1223 REGB0
= CALL_location___Location___line_start(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1224 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1225 if (UNTAG_Bool(REGB1
)) {
1226 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 211);
1228 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1229 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
1230 if (UNTAG_Bool(REGB2
)) {
1232 /* ./../lib/standard//kernel.nit:207 */
1233 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
1234 /* ./compiling//compiling_icode.nit:211 */
1238 REGB1
= TAG_Bool(false);
1241 if (UNTAG_Bool(REGB2
)) {
1242 /* ./compiling//compiling_icode.nit:212 */
1245 /* ./compiling//compiling_icode.nit:214 */
1246 ATTR_compiling_icode___I2CCompilerVisitor____next_location(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1249 stack_frame_head
= fra
.me
.prev
;
1252 val_t
compiling_icode___I2CCompilerVisitor___basecname(val_t p0
){
1253 struct {struct stack_frame_t me
;} fra
;
1256 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1257 fra
.me
.file
= LOCATE_compiling_icode
;
1259 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___basecname
;
1260 fra
.me
.has_broke
= 0;
1261 fra
.me
.REG_size
= 1;
1262 fra
.me
.REG
[0] = NIT_NULL
;
1264 /* ./compiling//compiling_icode.nit:218 */
1265 REGB0
= TAG_Bool(ATTR_compiling_icode___I2CCompilerVisitor____basecname(fra
.me
.REG
[0])!=NIT_NULL
);
1266 if (UNTAG_Bool(REGB0
)) {
1268 nit_abort("Uninitialized attribute %s", "_basecname", LOCATE_compiling_icode
, 218);
1270 fra
.me
.REG
[0] = ATTR_compiling_icode___I2CCompilerVisitor____basecname(fra
.me
.REG
[0]);
1271 stack_frame_head
= fra
.me
.prev
;
1272 return fra
.me
.REG
[0];
1274 void compiling_icode___I2CCompilerVisitor___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1275 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_I2CCompilerVisitor
].i
;
1276 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1278 if (init_table
[itpos0
]) return;
1279 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1280 fra
.me
.file
= LOCATE_compiling_icode
;
1282 fra
.me
.meth
= LOCATE_compiling_icode___I2CCompilerVisitor___init
;
1283 fra
.me
.has_broke
= 0;
1284 fra
.me
.REG_size
= 4;
1285 fra
.me
.REG
[0] = NIT_NULL
;
1286 fra
.me
.REG
[1] = NIT_NULL
;
1287 fra
.me
.REG
[2] = NIT_NULL
;
1288 fra
.me
.REG
[3] = NIT_NULL
;
1293 /* ./compiling//compiling_icode.nit:223 */
1294 ATTR_compiling_icode___I2CCompilerVisitor____visitor(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1295 /* ./compiling//compiling_icode.nit:224 */
1296 ATTR_compiling_icode___I2CCompilerVisitor____iroutine(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
1297 /* ./compiling//compiling_icode.nit:225 */
1298 ATTR_compiling_icode___I2CCompilerVisitor____basecname(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
1299 stack_frame_head
= fra
.me
.prev
;
1300 init_table
[itpos0
] = 1;
1303 val_t
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
){
1304 struct {struct stack_frame_t me
; val_t MORE_REG
[11];} fra
;
1312 static val_t once_value_1
; /* Once value */
1313 static val_t once_value_2
; /* Once value */
1314 static val_t once_value_3
; /* Once value */
1315 static val_t once_value_4
; /* Once value */
1316 static val_t once_value_6
; /* Once value */
1317 static val_t once_value_7
; /* Once value */
1318 static val_t once_value_8
; /* Once value */
1319 static val_t once_value_9
; /* Once value */
1320 static val_t once_value_10
; /* Once value */
1321 static val_t once_value_11
; /* Once value */
1322 static val_t once_value_13
; /* Once value */
1323 static val_t once_value_14
; /* Once value */
1324 static val_t once_value_15
; /* Once value */
1325 static val_t once_value_16
; /* Once value */
1326 static val_t once_value_17
; /* Once value */
1327 static val_t once_value_18
; /* Once value */
1328 static val_t once_value_19
; /* Once value */
1329 static val_t once_value_20
; /* Once value */
1330 static val_t once_value_21
; /* Once value */
1331 static val_t once_value_22
; /* Once value */
1332 static val_t once_value_23
; /* Once value */
1333 static val_t once_value_25
; /* Once value */
1334 static val_t once_value_26
; /* Once value */
1335 static val_t once_value_27
; /* Once value */
1336 static val_t once_value_28
; /* Once value */
1337 static val_t once_value_29
; /* Once value */
1338 static val_t once_value_30
; /* Once value */
1339 static val_t once_value_31
; /* Once value */
1340 static val_t once_value_32
; /* Once value */
1341 static val_t once_value_33
; /* Once value */
1342 static val_t once_value_34
; /* Once value */
1343 static val_t once_value_35
; /* Once value */
1344 static val_t once_value_36
; /* Once value */
1345 static val_t once_value_37
; /* Once value */
1346 static val_t once_value_38
; /* Once value */
1347 static val_t once_value_39
; /* Once value */
1348 static val_t once_value_40
; /* Once value */
1349 static val_t once_value_41
; /* Once value */
1350 static val_t once_value_42
; /* Once value */
1351 static val_t once_value_43
; /* Once value */
1352 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1353 fra
.me
.file
= LOCATE_compiling_icode
;
1355 fra
.me
.meth
= LOCATE_compiling_icode___IRoutine___compile_signature_to_c
;
1356 fra
.me
.has_broke
= 0;
1357 fra
.me
.REG_size
= 12;
1358 fra
.me
.REG
[0] = NIT_NULL
;
1359 fra
.me
.REG
[1] = NIT_NULL
;
1360 fra
.me
.REG
[2] = NIT_NULL
;
1361 fra
.me
.REG
[3] = NIT_NULL
;
1362 fra
.me
.REG
[4] = NIT_NULL
;
1363 fra
.me
.REG
[5] = NIT_NULL
;
1364 fra
.me
.REG
[6] = NIT_NULL
;
1365 fra
.me
.REG
[7] = NIT_NULL
;
1366 fra
.me
.REG
[8] = NIT_NULL
;
1367 fra
.me
.REG
[9] = NIT_NULL
;
1368 fra
.me
.REG
[10] = NIT_NULL
;
1369 fra
.me
.REG
[11] = NIT_NULL
;
1376 /* ./compiling//compiling_icode.nit:236 */
1377 fra
.me
.REG
[6] = NEW_Array_array___Array___init();
1378 /* ./compiling//compiling_icode.nit:237 */
1379 fra
.me
.REG
[7] = NEW_Array_array___Array___init();
1380 /* ./compiling//compiling_icode.nit:238 */
1381 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1382 if (UNTAG_Bool(REGB0
)) {
1384 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1385 if (UNTAG_Bool(REGB1
)) {
1386 REGB1
= TAG_Bool(false);
1389 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
1393 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1394 if (UNTAG_Bool(REGB0
)) {
1395 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4]);
1397 /* ./compiling//compiling_icode.nit:239 */
1399 fra
.me
.REG
[4] = CALL_icode_base___IRoutine___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1400 REGB1
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1401 /* ./../lib/standard//kernel.nit:332 */
1403 /* ./../lib/standard//kernel.nit:212 */
1404 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1405 /* ./../lib/standard//kernel.nit:332 */
1406 if (UNTAG_Bool(REGB2
)) {
1407 /* ./compiling//compiling_icode.nit:239 */
1409 /* ./compiling//compiling_icode.nit:240 */
1411 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB3
);
1412 if (!once_value_1
) {
1413 fra
.me
.REG
[8] = BOX_NativeString("p");
1415 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB3
);
1416 once_value_1
= fra
.me
.REG
[8];
1417 register_static_object(&once_value_1
);
1418 } else fra
.me
.REG
[8] = once_value_1
;
1419 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1420 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1421 fra
.me
.REG
[8] = CALL_string___Object___to_s(REGB2
)(REGB2
);
1422 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1423 if (!once_value_2
) {
1424 fra
.me
.REG
[8] = BOX_NativeString("");
1426 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB3
);
1427 once_value_2
= fra
.me
.REG
[8];
1428 register_static_object(&once_value_2
);
1429 } else fra
.me
.REG
[8] = once_value_2
;
1430 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1431 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1432 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1433 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
1434 /* ./compiling//compiling_icode.nit:241 */
1436 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB3
);
1437 if (!once_value_3
) {
1438 fra
.me
.REG
[8] = BOX_NativeString("val_t p");
1440 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB3
);
1441 once_value_3
= fra
.me
.REG
[8];
1442 register_static_object(&once_value_3
);
1443 } else fra
.me
.REG
[8] = once_value_3
;
1444 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1445 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1446 fra
.me
.REG
[8] = CALL_string___Object___to_s(REGB2
)(REGB2
);
1447 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1448 if (!once_value_4
) {
1449 fra
.me
.REG
[8] = BOX_NativeString("");
1451 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB2
);
1452 once_value_4
= fra
.me
.REG
[8];
1453 register_static_object(&once_value_4
);
1454 } else fra
.me
.REG
[8] = once_value_4
;
1455 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1456 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1457 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1458 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4]);
1459 /* ./../lib/standard//kernel.nit:334 */
1461 /* ./../lib/standard//kernel.nit:215 */
1462 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1463 /* ./../lib/standard//kernel.nit:334 */
1466 /* ./../lib/standard//kernel.nit:332 */
1471 /* ./compiling//compiling_icode.nit:243 */
1472 fra
.me
.REG
[4] = CALL_icode_base___IRoutine___closure_decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1473 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1474 if (UNTAG_Bool(REGB0
)) {
1476 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1477 if (UNTAG_Bool(REGB1
)) {
1478 REGB1
= TAG_Bool(false);
1481 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
1485 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1486 if (UNTAG_Bool(REGB0
)) {
1487 /* ./compiling//compiling_icode.nit:244 */
1488 if (!once_value_6
) {
1489 fra
.me
.REG
[4] = BOX_NativeString("struct stack_frame_t *closctx_param");
1490 REGB0
= TAG_Int(35);
1491 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
1492 once_value_6
= fra
.me
.REG
[4];
1493 register_static_object(&once_value_6
);
1494 } else fra
.me
.REG
[4] = once_value_6
;
1495 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1496 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4]);
1497 /* ./compiling//compiling_icode.nit:245 */
1499 fra
.me
.REG
[4] = CALL_icode_base___IRoutine___closure_decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1500 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1501 if (UNTAG_Bool(REGB1
)) {
1502 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 245);
1504 REGB1
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1505 /* ./../lib/standard//kernel.nit:332 */
1507 /* ./../lib/standard//kernel.nit:212 */
1508 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1509 /* ./../lib/standard//kernel.nit:332 */
1510 if (UNTAG_Bool(REGB2
)) {
1511 /* ./compiling//compiling_icode.nit:245 */
1513 /* ./compiling//compiling_icode.nit:246 */
1515 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB3
);
1516 if (!once_value_7
) {
1517 fra
.me
.REG
[8] = BOX_NativeString("CLOS_");
1519 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB3
);
1520 once_value_7
= fra
.me
.REG
[8];
1521 register_static_object(&once_value_7
);
1522 } else fra
.me
.REG
[8] = once_value_7
;
1523 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1524 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1525 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1526 if (!once_value_8
) {
1527 fra
.me
.REG
[8] = BOX_NativeString("_");
1529 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB3
);
1530 once_value_8
= fra
.me
.REG
[8];
1531 register_static_object(&once_value_8
);
1532 } else fra
.me
.REG
[8] = once_value_8
;
1533 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1534 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1535 fra
.me
.REG
[8] = CALL_string___Object___to_s(REGB2
)(REGB2
);
1536 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1537 if (!once_value_9
) {
1538 fra
.me
.REG
[8] = BOX_NativeString("");
1540 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB3
);
1541 once_value_9
= fra
.me
.REG
[8];
1542 register_static_object(&once_value_9
);
1543 } else fra
.me
.REG
[8] = once_value_9
;
1544 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1545 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1546 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1547 /* ./compiling//compiling_icode.nit:247 */
1548 fra
.me
.REG
[8] = CALL_icode_base___IRoutine___closure_decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1549 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1550 if (UNTAG_Bool(REGB3
)) {
1551 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 247);
1553 fra
.me
.REG
[8] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB2
);
1554 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1555 if (UNTAG_Bool(REGB3
)) {
1556 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 247);
1558 fra
.me
.REG
[8] = CALL_icode_base___IClosureDecl___closure(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1559 fra
.me
.REG
[8] = CALL_static_type___MMClosure___signature(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1560 /* ./compiling//compiling_icode.nit:248 */
1561 fra
.me
.REG
[9] = NEW_Array_array___Array___init();
1562 /* ./compiling//compiling_icode.nit:249 */
1563 if (!once_value_10
) {
1564 fra
.me
.REG
[10] = BOX_NativeString("struct stack_frame_t *");
1565 REGB3
= TAG_Int(22);
1566 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB3
);
1567 once_value_10
= fra
.me
.REG
[10];
1568 register_static_object(&once_value_10
);
1569 } else fra
.me
.REG
[10] = once_value_10
;
1570 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1571 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1572 /* ./compiling//compiling_icode.nit:250 */
1574 REGB4
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1575 /* ./../lib/standard//kernel.nit:332 */
1577 /* ./../lib/standard//kernel.nit:212 */
1578 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
1579 /* ./../lib/standard//kernel.nit:332 */
1580 if (UNTAG_Bool(REGB5
)) {
1581 /* ./compiling//compiling_icode.nit:251 */
1582 if (!once_value_11
) {
1583 fra
.me
.REG
[10] = BOX_NativeString("val_t");
1585 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB5
);
1586 once_value_11
= fra
.me
.REG
[10];
1587 register_static_object(&once_value_11
);
1588 } else fra
.me
.REG
[10] = once_value_11
;
1589 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1590 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1591 /* ./../lib/standard//kernel.nit:334 */
1593 /* ./../lib/standard//kernel.nit:215 */
1594 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB5
));
1595 /* ./../lib/standard//kernel.nit:334 */
1598 /* ./../lib/standard//kernel.nit:332 */
1603 /* ./compiling//compiling_icode.nit:253 */
1604 if (!once_value_13
) {
1605 fra
.me
.REG
[10] = BOX_NativeString("void");
1607 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB3
);
1608 once_value_13
= fra
.me
.REG
[10];
1609 register_static_object(&once_value_13
);
1610 } else fra
.me
.REG
[10] = once_value_13
;
1611 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1612 /* ./compiling//compiling_icode.nit:254 */
1613 fra
.me
.REG
[8] = CALL_static_type___MMSignature___return_type(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1614 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1615 if (UNTAG_Bool(REGB3
)) {
1617 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1618 if (UNTAG_Bool(REGB4
)) {
1619 REGB4
= TAG_Bool(false);
1622 REGB4
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
1626 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
1627 if (UNTAG_Bool(REGB3
)) {
1628 if (!once_value_14
) {
1629 fra
.me
.REG
[8] = BOX_NativeString("val_t");
1631 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB3
);
1632 once_value_14
= fra
.me
.REG
[8];
1633 register_static_object(&once_value_14
);
1634 } else fra
.me
.REG
[8] = once_value_14
;
1635 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1636 fra
.me
.REG
[10] = fra
.me
.REG
[8];
1638 /* ./compiling//compiling_icode.nit:255 */
1640 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB3
);
1641 if (!once_value_15
) {
1642 fra
.me
.REG
[11] = BOX_NativeString("typedef ");
1644 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
1645 once_value_15
= fra
.me
.REG
[11];
1646 register_static_object(&once_value_15
);
1647 } else fra
.me
.REG
[11] = once_value_15
;
1648 fra
.me
.REG
[11] = fra
.me
.REG
[11];
1649 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[11]);
1650 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
1651 if (!once_value_16
) {
1652 fra
.me
.REG
[10] = BOX_NativeString(" (*");
1654 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB3
);
1655 once_value_16
= fra
.me
.REG
[10];
1656 register_static_object(&once_value_16
);
1657 } else fra
.me
.REG
[10] = once_value_16
;
1658 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1659 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
1660 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1661 if (!once_value_17
) {
1662 fra
.me
.REG
[4] = BOX_NativeString(")(");
1664 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB3
);
1665 once_value_17
= fra
.me
.REG
[4];
1666 register_static_object(&once_value_17
);
1667 } else fra
.me
.REG
[4] = once_value_17
;
1668 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1669 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1670 if (!once_value_18
) {
1671 fra
.me
.REG
[4] = BOX_NativeString(", ");
1673 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB3
);
1674 once_value_18
= fra
.me
.REG
[4];
1675 register_static_object(&once_value_18
);
1676 } else fra
.me
.REG
[4] = once_value_18
;
1677 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1678 fra
.me
.REG
[4] = CALL_string___Collection___join(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[4]);
1679 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1680 if (!once_value_19
) {
1681 fra
.me
.REG
[4] = BOX_NativeString(");");
1683 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB3
);
1684 once_value_19
= fra
.me
.REG
[4];
1685 register_static_object(&once_value_19
);
1686 } else fra
.me
.REG
[4] = once_value_19
;
1687 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1688 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1689 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1690 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
1691 /* ./compiling//compiling_icode.nit:256 */
1693 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB3
);
1694 if (!once_value_20
) {
1695 fra
.me
.REG
[4] = BOX_NativeString("clos_fun");
1697 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB3
);
1698 once_value_20
= fra
.me
.REG
[4];
1699 register_static_object(&once_value_20
);
1700 } else fra
.me
.REG
[4] = once_value_20
;
1701 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1702 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1703 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB2
)(REGB2
);
1704 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1705 if (!once_value_21
) {
1706 fra
.me
.REG
[4] = BOX_NativeString("");
1708 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB3
);
1709 once_value_21
= fra
.me
.REG
[4];
1710 register_static_object(&once_value_21
);
1711 } else fra
.me
.REG
[4] = once_value_21
;
1712 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1713 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1714 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1715 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
1716 /* ./compiling//compiling_icode.nit:257 */
1718 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB3
);
1719 if (!once_value_22
) {
1720 fra
.me
.REG
[4] = BOX_NativeString("fun_t clos_fun");
1721 REGB3
= TAG_Int(14);
1722 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB3
);
1723 once_value_22
= fra
.me
.REG
[4];
1724 register_static_object(&once_value_22
);
1725 } else fra
.me
.REG
[4] = once_value_22
;
1726 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1727 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1728 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB2
)(REGB2
);
1729 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1730 if (!once_value_23
) {
1731 fra
.me
.REG
[4] = BOX_NativeString("");
1733 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
1734 once_value_23
= fra
.me
.REG
[4];
1735 register_static_object(&once_value_23
);
1736 } else fra
.me
.REG
[4] = once_value_23
;
1737 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1738 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1739 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1740 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1741 /* ./../lib/standard//kernel.nit:334 */
1743 /* ./../lib/standard//kernel.nit:215 */
1744 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1745 /* ./../lib/standard//kernel.nit:334 */
1748 /* ./../lib/standard//kernel.nit:332 */
1754 /* ./compiling//compiling_icode.nit:260 */
1755 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1756 if (UNTAG_Bool(REGB0
)) {
1758 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1759 if (UNTAG_Bool(REGB1
)) {
1760 REGB1
= TAG_Bool(false);
1763 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
1767 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1768 if (UNTAG_Bool(REGB0
)) {
1769 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[5]);
1771 /* ./compiling//compiling_icode.nit:261 */
1772 if (!once_value_25
) {
1773 fra
.me
.REG
[5] = BOX_NativeString("void");
1775 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
1776 once_value_25
= fra
.me
.REG
[5];
1777 register_static_object(&once_value_25
);
1778 } else fra
.me
.REG
[5] = once_value_25
;
1779 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1780 /* ./compiling//compiling_icode.nit:262 */
1781 fra
.me
.REG
[0] = CALL_icode_base___IRoutine___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1782 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1783 if (UNTAG_Bool(REGB0
)) {
1785 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1786 if (UNTAG_Bool(REGB1
)) {
1787 REGB1
= TAG_Bool(false);
1790 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
1794 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1795 if (UNTAG_Bool(REGB0
)) {
1796 if (!once_value_26
) {
1797 fra
.me
.REG
[0] = BOX_NativeString("val_t");
1799 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1800 once_value_26
= fra
.me
.REG
[0];
1801 register_static_object(&once_value_26
);
1802 } else fra
.me
.REG
[0] = once_value_26
;
1803 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1804 fra
.me
.REG
[5] = fra
.me
.REG
[0];
1806 /* ./compiling//compiling_icode.nit:264 */
1807 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1808 if (UNTAG_Bool(REGB0
)) {
1809 /* ./compiling//compiling_icode.nit:265 */
1810 if (!once_value_27
) {
1811 fra
.me
.REG
[0] = BOX_NativeString("void");
1813 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1814 once_value_27
= fra
.me
.REG
[0];
1815 register_static_object(&once_value_27
);
1816 } else fra
.me
.REG
[0] = once_value_27
;
1817 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1819 /* ./compiling//compiling_icode.nit:267 */
1820 if (!once_value_28
) {
1821 fra
.me
.REG
[8] = BOX_NativeString(", ");
1823 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
1824 once_value_28
= fra
.me
.REG
[8];
1825 register_static_object(&once_value_28
);
1826 } else fra
.me
.REG
[8] = once_value_28
;
1827 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1828 fra
.me
.REG
[8] = CALL_string___Collection___join(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1829 fra
.me
.REG
[0] = fra
.me
.REG
[8];
1831 /* ./compiling//compiling_icode.nit:269 */
1832 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1833 if (UNTAG_Bool(REGB0
)) {
1835 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1836 if (UNTAG_Bool(REGB1
)) {
1837 REGB1
= TAG_Bool(false);
1840 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1844 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1845 if (UNTAG_Bool(REGB0
)) {
1847 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB0
);
1848 if (!once_value_29
) {
1849 fra
.me
.REG
[7] = BOX_NativeString("static const char * const LOCATE_");
1850 REGB0
= TAG_Int(33);
1851 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
1852 once_value_29
= fra
.me
.REG
[7];
1853 register_static_object(&once_value_29
);
1854 } else fra
.me
.REG
[7] = once_value_29
;
1855 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1856 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1857 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
1858 if (!once_value_30
) {
1859 fra
.me
.REG
[7] = BOX_NativeString(" = \"");
1861 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
1862 once_value_30
= fra
.me
.REG
[7];
1863 register_static_object(&once_value_30
);
1864 } else fra
.me
.REG
[7] = once_value_30
;
1865 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1866 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1867 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1868 if (!once_value_31
) {
1869 fra
.me
.REG
[3] = BOX_NativeString("\";");
1871 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1872 once_value_31
= fra
.me
.REG
[3];
1873 register_static_object(&once_value_31
);
1874 } else fra
.me
.REG
[3] = once_value_31
;
1875 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1876 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1877 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1878 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
1880 /* ./compiling//compiling_icode.nit:270 */
1882 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB0
);
1883 if (!once_value_32
) {
1884 fra
.me
.REG
[3] = BOX_NativeString("");
1886 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1887 once_value_32
= fra
.me
.REG
[3];
1888 register_static_object(&once_value_32
);
1889 } else fra
.me
.REG
[3] = once_value_32
;
1890 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1891 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1892 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
1893 if (!once_value_33
) {
1894 fra
.me
.REG
[3] = BOX_NativeString(" ");
1896 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1897 once_value_33
= fra
.me
.REG
[3];
1898 register_static_object(&once_value_33
);
1899 } else fra
.me
.REG
[3] = once_value_33
;
1900 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1901 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1902 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
1903 if (!once_value_34
) {
1904 fra
.me
.REG
[3] = BOX_NativeString("(");
1906 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1907 once_value_34
= fra
.me
.REG
[3];
1908 register_static_object(&once_value_34
);
1909 } else fra
.me
.REG
[3] = once_value_34
;
1910 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1911 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1912 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
1913 if (!once_value_35
) {
1914 fra
.me
.REG
[3] = BOX_NativeString(");");
1916 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1917 once_value_35
= fra
.me
.REG
[3];
1918 register_static_object(&once_value_35
);
1919 } else fra
.me
.REG
[3] = once_value_35
;
1920 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1921 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1922 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1923 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
1924 /* ./compiling//compiling_icode.nit:271 */
1926 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB0
);
1927 if (!once_value_36
) {
1928 fra
.me
.REG
[3] = BOX_NativeString("typedef ");
1930 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1931 once_value_36
= fra
.me
.REG
[3];
1932 register_static_object(&once_value_36
);
1933 } else fra
.me
.REG
[3] = once_value_36
;
1934 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1935 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1936 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
1937 if (!once_value_37
) {
1938 fra
.me
.REG
[3] = BOX_NativeString(" (*");
1940 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1941 once_value_37
= fra
.me
.REG
[3];
1942 register_static_object(&once_value_37
);
1943 } else fra
.me
.REG
[3] = once_value_37
;
1944 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1945 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1946 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
1947 if (!once_value_38
) {
1948 fra
.me
.REG
[3] = BOX_NativeString("_t)(");
1950 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1951 once_value_38
= fra
.me
.REG
[3];
1952 register_static_object(&once_value_38
);
1953 } else fra
.me
.REG
[3] = once_value_38
;
1954 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1955 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1956 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
1957 if (!once_value_39
) {
1958 fra
.me
.REG
[3] = BOX_NativeString(");");
1960 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1961 once_value_39
= fra
.me
.REG
[3];
1962 register_static_object(&once_value_39
);
1963 } else fra
.me
.REG
[3] = once_value_39
;
1964 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1965 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1966 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1967 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
1968 /* ./compiling//compiling_icode.nit:272 */
1970 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB0
);
1971 if (!once_value_40
) {
1972 fra
.me
.REG
[3] = BOX_NativeString("");
1974 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1975 once_value_40
= fra
.me
.REG
[3];
1976 register_static_object(&once_value_40
);
1977 } else fra
.me
.REG
[3] = once_value_40
;
1978 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1979 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1980 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
1981 if (!once_value_41
) {
1982 fra
.me
.REG
[5] = BOX_NativeString(" ");
1984 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
1985 once_value_41
= fra
.me
.REG
[5];
1986 register_static_object(&once_value_41
);
1987 } else fra
.me
.REG
[5] = once_value_41
;
1988 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1989 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
1990 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
1991 if (!once_value_42
) {
1992 fra
.me
.REG
[2] = BOX_NativeString("(");
1994 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1995 once_value_42
= fra
.me
.REG
[2];
1996 register_static_object(&once_value_42
);
1997 } else fra
.me
.REG
[2] = once_value_42
;
1998 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1999 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
2000 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
2001 if (!once_value_43
) {
2002 fra
.me
.REG
[0] = BOX_NativeString("){");
2004 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2005 once_value_43
= fra
.me
.REG
[0];
2006 register_static_object(&once_value_43
);
2007 } else fra
.me
.REG
[0] = once_value_43
;
2008 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2009 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
2010 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
2011 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
2012 /* ./compiling//compiling_icode.nit:273 */
2013 CALL_compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2014 /* ./compiling//compiling_icode.nit:274 */
2017 stack_frame_head
= fra
.me
.prev
;
2018 return fra
.me
.REG
[6];
2020 val_t
compiling_icode___IRoutine___compile_inside_to_c(val_t p0
, val_t p1
, val_t p2
){
2021 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
2029 static val_t once_value_1
; /* Once value */
2030 static val_t once_value_2
; /* Once value */
2031 static val_t once_value_3
; /* Once value */
2032 static val_t once_value_4
; /* Once value */
2033 static val_t once_value_5
; /* Once value */
2034 static val_t once_value_6
; /* Once value */
2035 static val_t once_value_7
; /* Once value */
2036 static val_t once_value_8
; /* Once value */
2037 static val_t once_value_9
; /* Once value */
2038 static val_t once_value_10
; /* Once value */
2039 static val_t once_value_11
; /* Once value */
2040 static val_t once_value_12
; /* Once value */
2041 static val_t once_value_13
; /* Once value */
2042 static val_t once_value_14
; /* Once value */
2043 static val_t once_value_15
; /* Once value */
2044 static val_t once_value_17
; /* Once value */
2045 static val_t once_value_18
; /* Once value */
2046 static val_t once_value_20
; /* Once value */
2047 static val_t once_value_21
; /* Once value */
2048 static val_t once_value_22
; /* Once value */
2049 static val_t once_value_23
; /* Once value */
2050 static val_t once_value_26
; /* Once value */
2051 static val_t once_value_27
; /* Once value */
2052 static val_t once_value_29
; /* Once value */
2053 static val_t once_value_30
; /* Once value */
2054 static val_t once_value_31
; /* Once value */
2055 static val_t once_value_33
; /* Once value */
2056 static val_t once_value_34
; /* Once value */
2057 static val_t once_value_35
; /* Once value */
2058 static val_t once_value_36
; /* Once value */
2059 static val_t once_value_37
; /* Once value */
2060 static val_t once_value_38
; /* Once value */
2061 static val_t once_value_40
; /* Once value */
2062 static val_t once_value_41
; /* Once value */
2063 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2064 fra
.me
.file
= LOCATE_compiling_icode
;
2066 fra
.me
.meth
= LOCATE_compiling_icode___IRoutine___compile_inside_to_c
;
2067 fra
.me
.has_broke
= 0;
2068 fra
.me
.REG_size
= 10;
2069 fra
.me
.REG
[0] = NIT_NULL
;
2070 fra
.me
.REG
[1] = NIT_NULL
;
2071 fra
.me
.REG
[2] = NIT_NULL
;
2072 fra
.me
.REG
[3] = NIT_NULL
;
2073 fra
.me
.REG
[4] = NIT_NULL
;
2074 fra
.me
.REG
[5] = NIT_NULL
;
2075 fra
.me
.REG
[6] = NIT_NULL
;
2076 fra
.me
.REG
[7] = NIT_NULL
;
2077 fra
.me
.REG
[8] = NIT_NULL
;
2078 fra
.me
.REG
[9] = NIT_NULL
;
2082 /* ./compiling//compiling_icode.nit:281 */
2084 /* ./compiling//compiling_icode.nit:282 */
2085 fra
.me
.REG
[3] = CALL_icode_base___IRoutine___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2086 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2087 if (UNTAG_Bool(REGB1
)) {
2089 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2090 if (UNTAG_Bool(REGB2
)) {
2091 REGB2
= TAG_Bool(false);
2094 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
2098 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2099 if (UNTAG_Bool(REGB1
)) {
2100 /* ./compiling//compiling_icode.nit:283 */
2101 fra
.me
.REG
[3] = CALL_icode_base___IRoutine___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2102 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2103 if (UNTAG_Bool(REGB1
)) {
2104 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 283);
2106 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2109 /* ./compiling//compiling_icode.nit:286 */
2110 REGB1
= CALL_allocate_iregister_slots___IRoutine___std_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2112 /* ./../lib/standard//kernel.nit:214 */
2113 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
2114 /* ./compiling//compiling_icode.nit:286 */
2115 if (UNTAG_Bool(REGB2
)) {
2116 /* ./compiling//compiling_icode.nit:287 */
2118 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB2
);
2119 if (!once_value_1
) {
2120 fra
.me
.REG
[4] = BOX_NativeString("struct {struct stack_frame_t me; val_t MORE_REG[");
2121 REGB2
= TAG_Int(48);
2122 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
2123 once_value_1
= fra
.me
.REG
[4];
2124 register_static_object(&once_value_1
);
2125 } else fra
.me
.REG
[4] = once_value_1
;
2126 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2127 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2128 REGB2
= CALL_allocate_iregister_slots___IRoutine___std_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2130 /* ./../lib/standard//kernel.nit:217 */
2131 REGB1
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB1
));
2132 /* ./compiling//compiling_icode.nit:287 */
2133 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB1
)(REGB1
);
2134 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2135 if (!once_value_2
) {
2136 fra
.me
.REG
[4] = BOX_NativeString("];} fra;");
2138 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
2139 once_value_2
= fra
.me
.REG
[4];
2140 register_static_object(&once_value_2
);
2141 } else fra
.me
.REG
[4] = once_value_2
;
2142 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2143 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2144 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2145 CALL_compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2147 /* ./compiling//compiling_icode.nit:289 */
2148 if (!once_value_3
) {
2149 fra
.me
.REG
[3] = BOX_NativeString("struct {struct stack_frame_t me;} fra;");
2150 REGB1
= TAG_Int(38);
2151 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB1
);
2152 once_value_3
= fra
.me
.REG
[3];
2153 register_static_object(&once_value_3
);
2154 } else fra
.me
.REG
[3] = once_value_3
;
2155 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2156 CALL_compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2158 /* ./compiling//compiling_icode.nit:291 */
2159 if (!once_value_4
) {
2160 fra
.me
.REG
[3] = BOX_NativeString("fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;");
2161 REGB1
= TAG_Int(59);
2162 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB1
);
2163 once_value_4
= fra
.me
.REG
[3];
2164 register_static_object(&once_value_4
);
2165 } else fra
.me
.REG
[3] = once_value_4
;
2166 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2167 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2168 /* ./compiling//compiling_icode.nit:292 */
2170 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB1
);
2171 if (!once_value_5
) {
2172 fra
.me
.REG
[4] = BOX_NativeString("fra.me.file = LOCATE_");
2173 REGB1
= TAG_Int(21);
2174 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
2175 once_value_5
= fra
.me
.REG
[4];
2176 register_static_object(&once_value_5
);
2177 } else fra
.me
.REG
[4] = once_value_5
;
2178 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2179 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2180 fra
.me
.REG
[4] = CALL_compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2181 fra
.me
.REG
[4] = CALL_compiling_base___CompilerVisitor___mmmodule(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2182 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2183 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2184 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2185 if (!once_value_6
) {
2186 fra
.me
.REG
[4] = BOX_NativeString(";");
2188 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
2189 once_value_6
= fra
.me
.REG
[4];
2190 register_static_object(&once_value_6
);
2191 } else fra
.me
.REG
[4] = once_value_6
;
2192 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2193 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2194 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2195 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2196 /* ./compiling//compiling_icode.nit:293 */
2198 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB1
);
2199 if (!once_value_7
) {
2200 fra
.me
.REG
[4] = BOX_NativeString("fra.me.line = ");
2201 REGB1
= TAG_Int(14);
2202 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
2203 once_value_7
= fra
.me
.REG
[4];
2204 register_static_object(&once_value_7
);
2205 } else fra
.me
.REG
[4] = once_value_7
;
2206 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2207 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2208 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2209 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2210 if (!once_value_8
) {
2211 fra
.me
.REG
[4] = BOX_NativeString(";");
2213 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2214 once_value_8
= fra
.me
.REG
[4];
2215 register_static_object(&once_value_8
);
2216 } else fra
.me
.REG
[4] = once_value_8
;
2217 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2218 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2219 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2220 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2221 /* ./compiling//compiling_icode.nit:294 */
2223 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
2224 if (!once_value_9
) {
2225 fra
.me
.REG
[4] = BOX_NativeString("fra.me.meth = LOCATE_");
2226 REGB0
= TAG_Int(21);
2227 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2228 once_value_9
= fra
.me
.REG
[4];
2229 register_static_object(&once_value_9
);
2230 } else fra
.me
.REG
[4] = once_value_9
;
2231 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2232 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2233 fra
.me
.REG
[4] = CALL_compiling_icode___I2CCompilerVisitor___basecname(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2234 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2235 if (!once_value_10
) {
2236 fra
.me
.REG
[4] = BOX_NativeString(";");
2238 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2239 once_value_10
= fra
.me
.REG
[4];
2240 register_static_object(&once_value_10
);
2241 } else fra
.me
.REG
[4] = once_value_10
;
2242 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2243 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2244 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2245 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2246 /* ./compiling//compiling_icode.nit:295 */
2247 if (!once_value_11
) {
2248 fra
.me
.REG
[3] = BOX_NativeString("fra.me.has_broke = 0;");
2249 REGB0
= TAG_Int(21);
2250 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2251 once_value_11
= fra
.me
.REG
[3];
2252 register_static_object(&once_value_11
);
2253 } else fra
.me
.REG
[3] = once_value_11
;
2254 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2255 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2256 /* ./compiling//compiling_icode.nit:296 */
2258 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
2259 if (!once_value_12
) {
2260 fra
.me
.REG
[4] = BOX_NativeString("fra.me.REG_size = ");
2261 REGB0
= TAG_Int(18);
2262 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2263 once_value_12
= fra
.me
.REG
[4];
2264 register_static_object(&once_value_12
);
2265 } else fra
.me
.REG
[4] = once_value_12
;
2266 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2267 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2268 REGB0
= CALL_allocate_iregister_slots___IRoutine___std_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2269 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2270 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2271 if (!once_value_13
) {
2272 fra
.me
.REG
[4] = BOX_NativeString(";");
2274 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2275 once_value_13
= fra
.me
.REG
[4];
2276 register_static_object(&once_value_13
);
2277 } else fra
.me
.REG
[4] = once_value_13
;
2278 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2279 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2280 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2281 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2282 /* ./compiling//compiling_icode.nit:299 */
2284 REGB1
= CALL_allocate_iregister_slots___IRoutine___std_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2285 /* ./../lib/standard//kernel.nit:332 */
2287 /* ./../lib/standard//kernel.nit:212 */
2288 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2289 /* ./../lib/standard//kernel.nit:332 */
2290 if (UNTAG_Bool(REGB2
)) {
2291 /* ./compiling//compiling_icode.nit:299 */
2293 /* ./compiling//compiling_icode.nit:300 */
2295 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB3
);
2296 if (!once_value_14
) {
2297 fra
.me
.REG
[4] = BOX_NativeString("fra.me.REG[");
2298 REGB3
= TAG_Int(11);
2299 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB3
);
2300 once_value_14
= fra
.me
.REG
[4];
2301 register_static_object(&once_value_14
);
2302 } else fra
.me
.REG
[4] = once_value_14
;
2303 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2304 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2305 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB2
)(REGB2
);
2306 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2307 if (!once_value_15
) {
2308 fra
.me
.REG
[4] = BOX_NativeString("] = NIT_NULL;");
2309 REGB2
= TAG_Int(13);
2310 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
2311 once_value_15
= fra
.me
.REG
[4];
2312 register_static_object(&once_value_15
);
2313 } else fra
.me
.REG
[4] = once_value_15
;
2314 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2315 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2316 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2317 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2318 /* ./../lib/standard//kernel.nit:334 */
2320 /* ./../lib/standard//kernel.nit:215 */
2321 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2322 /* ./../lib/standard//kernel.nit:334 */
2325 /* ./../lib/standard//kernel.nit:332 */
2330 /* ./compiling//compiling_icode.nit:302 */
2332 REGB1
= CALL_allocate_iregister_slots___IRoutine___tag_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2333 /* ./../lib/standard//kernel.nit:332 */
2335 /* ./../lib/standard//kernel.nit:212 */
2336 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2337 /* ./../lib/standard//kernel.nit:332 */
2338 if (UNTAG_Bool(REGB2
)) {
2339 /* ./compiling//compiling_icode.nit:302 */
2341 /* ./compiling//compiling_icode.nit:303 */
2343 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB3
);
2344 if (!once_value_17
) {
2345 fra
.me
.REG
[4] = BOX_NativeString("val_t REGB");
2346 REGB3
= TAG_Int(10);
2347 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB3
);
2348 once_value_17
= fra
.me
.REG
[4];
2349 register_static_object(&once_value_17
);
2350 } else fra
.me
.REG
[4] = once_value_17
;
2351 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2352 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2353 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB2
)(REGB2
);
2354 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2355 if (!once_value_18
) {
2356 fra
.me
.REG
[4] = BOX_NativeString(";");
2358 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
2359 once_value_18
= fra
.me
.REG
[4];
2360 register_static_object(&once_value_18
);
2361 } else fra
.me
.REG
[4] = once_value_18
;
2362 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2363 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2364 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2365 CALL_compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2366 /* ./../lib/standard//kernel.nit:334 */
2368 /* ./../lib/standard//kernel.nit:215 */
2369 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2370 /* ./../lib/standard//kernel.nit:334 */
2373 /* ./../lib/standard//kernel.nit:332 */
2378 /* ./compiling//compiling_icode.nit:305 */
2379 fra
.me
.REG
[3] = CALL_icode_base___IRoutine___closure_decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2380 /* ./compiling//compiling_icode.nit:306 */
2381 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2382 if (UNTAG_Bool(REGB0
)) {
2384 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2385 if (UNTAG_Bool(REGB1
)) {
2386 REGB1
= TAG_Bool(false);
2389 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
2393 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2394 if (UNTAG_Bool(REGB0
)) {
2395 /* ./compiling//compiling_icode.nit:307 */
2397 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
2398 if (!once_value_20
) {
2399 fra
.me
.REG
[5] = BOX_NativeString("fun_t CREG[");
2400 REGB0
= TAG_Int(11);
2401 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
2402 once_value_20
= fra
.me
.REG
[5];
2403 register_static_object(&once_value_20
);
2404 } else fra
.me
.REG
[5] = once_value_20
;
2405 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2406 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2407 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2408 if (UNTAG_Bool(REGB0
)) {
2409 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 307);
2411 REGB0
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2412 fra
.me
.REG
[5] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2413 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2414 if (!once_value_21
) {
2415 fra
.me
.REG
[5] = BOX_NativeString("];");
2417 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
2418 once_value_21
= fra
.me
.REG
[5];
2419 register_static_object(&once_value_21
);
2420 } else fra
.me
.REG
[5] = once_value_21
;
2421 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2422 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2423 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2424 CALL_compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2425 /* ./compiling//compiling_icode.nit:308 */
2426 if (!once_value_22
) {
2427 fra
.me
.REG
[4] = BOX_NativeString("fra.me.closure_ctx = closctx_param;");
2428 REGB0
= TAG_Int(35);
2429 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2430 once_value_22
= fra
.me
.REG
[4];
2431 register_static_object(&once_value_22
);
2432 } else fra
.me
.REG
[4] = once_value_22
;
2433 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2434 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2435 /* ./compiling//compiling_icode.nit:309 */
2436 if (!once_value_23
) {
2437 fra
.me
.REG
[4] = BOX_NativeString("fra.me.closure_funs = CREG;");
2438 REGB0
= TAG_Int(27);
2439 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2440 once_value_23
= fra
.me
.REG
[4];
2441 register_static_object(&once_value_23
);
2442 } else fra
.me
.REG
[4] = once_value_23
;
2443 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2444 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2446 /* ./compiling//compiling_icode.nit:311 */
2448 fra
.me
.REG
[4] = REGB0
;
2449 /* ./compiling//compiling_icode.nit:312 */
2450 fra
.me
.REG
[5] = CALL_icode_base___IRoutine___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2451 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[5])(fra
.me
.REG
[5], (&(fra
.me
)), ((fun_t
)OC_compiling_icode___IRoutine___compile_inside_to_c_24
));
2452 /* ./compiling//compiling_icode.nit:316 */
2453 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2454 if (UNTAG_Bool(REGB0
)) {
2456 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2457 if (UNTAG_Bool(REGB1
)) {
2458 REGB1
= TAG_Bool(false);
2461 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
2465 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2466 if (UNTAG_Bool(REGB0
)) {
2467 /* ./compiling//compiling_icode.nit:317 */
2469 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2470 if (UNTAG_Bool(REGB1
)) {
2471 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 317);
2473 REGB1
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2474 /* ./../lib/standard//kernel.nit:332 */
2476 /* ./../lib/standard//kernel.nit:212 */
2477 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2478 /* ./../lib/standard//kernel.nit:332 */
2479 if (UNTAG_Bool(REGB2
)) {
2480 /* ./compiling//compiling_icode.nit:317 */
2482 /* ./compiling//compiling_icode.nit:318 */
2483 REGB3
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2484 if (UNTAG_Bool(REGB3
)) {
2485 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 318);
2487 fra
.me
.REG
[4] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB2
);
2488 /* ./compiling//compiling_icode.nit:319 */
2490 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB3
);
2491 if (!once_value_26
) {
2492 fra
.me
.REG
[6] = BOX_NativeString("CREG[");
2494 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB3
);
2495 once_value_26
= fra
.me
.REG
[6];
2496 register_static_object(&once_value_26
);
2497 } else fra
.me
.REG
[6] = once_value_26
;
2498 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2499 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2500 fra
.me
.REG
[6] = CALL_string___Object___to_s(REGB2
)(REGB2
);
2501 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2502 if (!once_value_27
) {
2503 fra
.me
.REG
[6] = BOX_NativeString("] = ");
2505 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB3
);
2506 once_value_27
= fra
.me
.REG
[6];
2507 register_static_object(&once_value_27
);
2508 } else fra
.me
.REG
[6] = once_value_27
;
2509 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2510 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2511 fra
.me
.REG
[6] = CALL_icode_base___IRoutine___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2512 REGB3
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2513 /* ./../lib/standard//kernel.nit:215 */
2514 REGB3
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB2
));
2515 /* ./../lib/standard//collection//array.nit:243 */
2516 fra
.me
.REG
[6] = fra
.me
.REG
[2];
2517 /* ./../lib/standard//collection//array.nit:245 */
2519 /* ./../lib/standard//kernel.nit:213 */
2520 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
2521 /* ./../lib/standard//collection//array.nit:245 */
2522 if (UNTAG_Bool(REGB4
)) {
2523 REGB4
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
2524 if (UNTAG_Bool(REGB4
)) {
2526 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
2528 REGB4
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[6]);
2529 /* ./../lib/standard//kernel.nit:212 */
2530 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
2532 /* ./../lib/standard//collection//array.nit:245 */
2533 REGB5
= TAG_Bool(false);
2536 if (UNTAG_Bool(REGB4
)) {
2538 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
2540 /* ./../lib/standard//collection//array.nit:246 */
2541 fra
.me
.REG
[6] = ATTR_array___Array____items(fra
.me
.REG
[6]);
2542 REGB4
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
2543 if (UNTAG_Bool(REGB4
)) {
2544 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
2546 /* ./../lib/standard//collection//array.nit:654 */
2547 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB3
)];
2548 /* ./../lib/standard//collection//array.nit:246 */
2551 /* ./compiling//compiling_icode.nit:319 */
2552 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2553 if (!once_value_29
) {
2554 fra
.me
.REG
[6] = BOX_NativeString(";");
2556 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB3
);
2557 once_value_29
= fra
.me
.REG
[6];
2558 register_static_object(&once_value_29
);
2559 } else fra
.me
.REG
[6] = once_value_29
;
2560 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2561 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2562 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2563 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
2564 /* ./compiling//compiling_icode.nit:320 */
2565 fra
.me
.REG
[5] = CALL_compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2566 fra
.me
.REG
[6] = CALL_string___Object___to_s(REGB2
)(REGB2
);
2567 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4], fra
.me
.REG
[6]);
2568 /* ./compiling//compiling_icode.nit:321 */
2569 fra
.me
.REG
[6] = CALL_icode_base___IClosureDecl___closure(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2570 fra
.me
.REG
[6] = CALL_static_type___MMClosure___signature(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2571 /* ./compiling//compiling_icode.nit:322 */
2572 fra
.me
.REG
[5] = NEW_Array_array___Array___init();
2573 /* ./compiling//compiling_icode.nit:323 */
2574 if (!once_value_30
) {
2575 fra
.me
.REG
[7] = BOX_NativeString("struct stack_frame_t *");
2576 REGB2
= TAG_Int(22);
2577 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
2578 once_value_30
= fra
.me
.REG
[7];
2579 register_static_object(&once_value_30
);
2580 } else fra
.me
.REG
[7] = once_value_30
;
2581 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2582 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
2583 /* ./compiling//compiling_icode.nit:324 */
2585 REGB3
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2586 /* ./../lib/standard//kernel.nit:332 */
2588 /* ./../lib/standard//kernel.nit:212 */
2589 REGB4
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
2590 /* ./../lib/standard//kernel.nit:332 */
2591 if (UNTAG_Bool(REGB4
)) {
2592 /* ./compiling//compiling_icode.nit:325 */
2593 if (!once_value_31
) {
2594 fra
.me
.REG
[7] = BOX_NativeString("val_t");
2596 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB4
);
2597 once_value_31
= fra
.me
.REG
[7];
2598 register_static_object(&once_value_31
);
2599 } else fra
.me
.REG
[7] = once_value_31
;
2600 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2601 /* ./compiling//compiling_icode.nit:326 */
2602 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
2603 /* ./../lib/standard//kernel.nit:334 */
2605 /* ./../lib/standard//kernel.nit:215 */
2606 REGB4
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB4
));
2607 /* ./../lib/standard//kernel.nit:334 */
2610 /* ./../lib/standard//kernel.nit:332 */
2615 /* ./compiling//compiling_icode.nit:328 */
2616 if (!once_value_33
) {
2617 fra
.me
.REG
[7] = BOX_NativeString("void");
2619 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
2620 once_value_33
= fra
.me
.REG
[7];
2621 register_static_object(&once_value_33
);
2622 } else fra
.me
.REG
[7] = once_value_33
;
2623 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2624 /* ./compiling//compiling_icode.nit:329 */
2625 fra
.me
.REG
[6] = CALL_static_type___MMSignature___return_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2626 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
2627 if (UNTAG_Bool(REGB2
)) {
2629 REGB3
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
2630 if (UNTAG_Bool(REGB3
)) {
2631 REGB3
= TAG_Bool(false);
2634 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
2638 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
2639 if (UNTAG_Bool(REGB2
)) {
2640 if (!once_value_34
) {
2641 fra
.me
.REG
[6] = BOX_NativeString("val_t");
2643 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
2644 once_value_34
= fra
.me
.REG
[6];
2645 register_static_object(&once_value_34
);
2646 } else fra
.me
.REG
[6] = once_value_34
;
2647 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2648 fra
.me
.REG
[7] = fra
.me
.REG
[6];
2650 /* ./compiling//compiling_icode.nit:330 */
2651 fra
.me
.REG
[6] = CALL_compiling_icode___I2CCompilerVisitor___clostypes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2653 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB2
);
2654 if (!once_value_35
) {
2655 fra
.me
.REG
[9] = BOX_NativeString("");
2657 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB2
);
2658 once_value_35
= fra
.me
.REG
[9];
2659 register_static_object(&once_value_35
);
2660 } else fra
.me
.REG
[9] = once_value_35
;
2661 fra
.me
.REG
[9] = fra
.me
.REG
[9];
2662 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
2663 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
2664 if (!once_value_36
) {
2665 fra
.me
.REG
[7] = BOX_NativeString(" (*)(");
2667 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
2668 once_value_36
= fra
.me
.REG
[7];
2669 register_static_object(&once_value_36
);
2670 } else fra
.me
.REG
[7] = once_value_36
;
2671 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2672 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
2673 if (!once_value_37
) {
2674 fra
.me
.REG
[7] = BOX_NativeString(", ");
2676 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
2677 once_value_37
= fra
.me
.REG
[7];
2678 register_static_object(&once_value_37
);
2679 } else fra
.me
.REG
[7] = once_value_37
;
2680 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2681 fra
.me
.REG
[7] = CALL_string___Collection___join(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
2682 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
2683 if (!once_value_38
) {
2684 fra
.me
.REG
[7] = BOX_NativeString(")");
2686 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
2687 once_value_38
= fra
.me
.REG
[7];
2688 register_static_object(&once_value_38
);
2689 } else fra
.me
.REG
[7] = once_value_38
;
2690 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2691 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
2692 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
2693 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4], fra
.me
.REG
[8]);
2694 /* ./../lib/standard//kernel.nit:334 */
2696 /* ./../lib/standard//kernel.nit:215 */
2697 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2698 /* ./../lib/standard//kernel.nit:334 */
2701 /* ./../lib/standard//kernel.nit:332 */
2707 /* ./compiling//compiling_icode.nit:333 */
2708 if (!once_value_40
) {
2709 fra
.me
.REG
[2] = BOX_NativeString("val_t tmp;");
2710 REGB0
= TAG_Int(10);
2711 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
2712 once_value_40
= fra
.me
.REG
[2];
2713 register_static_object(&once_value_40
);
2714 } else fra
.me
.REG
[2] = once_value_40
;
2715 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2716 CALL_compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2717 /* ./compiling//compiling_icode.nit:336 */
2718 fra
.me
.REG
[2] = CALL_compiling_icode___I2CCompilerVisitor___return_label(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2719 /* ./compiling//compiling_icode.nit:337 */
2720 fra
.me
.REG
[3] = CALL_icode_base___IRoutine___body(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2721 CALL_compiling_icode___I2CCompilerVisitor___return_label__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2722 /* ./compiling//compiling_icode.nit:340 */
2723 fra
.me
.REG
[3] = CALL_icode_base___IRoutine___body(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2724 CALL_compiling_icode___ICode___compile_to_c(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
2725 /* ./compiling//compiling_icode.nit:342 */
2726 if (!once_value_41
) {
2727 fra
.me
.REG
[3] = BOX_NativeString("stack_frame_head = fra.me.prev;");
2728 REGB0
= TAG_Int(31);
2729 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2730 once_value_41
= fra
.me
.REG
[3];
2731 register_static_object(&once_value_41
);
2732 } else fra
.me
.REG
[3] = once_value_41
;
2733 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2734 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2735 /* ./compiling//compiling_icode.nit:343 */
2736 CALL_compiling_icode___I2CCompilerVisitor___return_label__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2737 /* ./compiling//compiling_icode.nit:344 */
2738 fra
.me
.REG
[0] = CALL_icode_base___IRoutine___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2739 /* ./compiling//compiling_icode.nit:345 */
2740 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2741 if (UNTAG_Bool(REGB0
)) {
2743 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2744 if (UNTAG_Bool(REGB1
)) {
2745 REGB1
= TAG_Bool(false);
2748 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
2752 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2753 if (UNTAG_Bool(REGB0
)) {
2754 /* ./compiling//compiling_icode.nit:346 */
2755 fra
.me
.REG
[0] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2758 /* ./compiling//compiling_icode.nit:348 */
2759 fra
.me
.REG
[0] = NIT_NULL
;
2763 stack_frame_head
= fra
.me
.prev
;
2764 return fra
.me
.REG
[0];
2766 void OC_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
){
2767 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2773 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2774 fra
.me
.file
= LOCATE_compiling_icode
;
2776 fra
.me
.meth
= LOCATE_compiling_icode___IRoutine___compile_inside_to_c
;
2777 fra
.me
.has_broke
= 0;
2778 fra
.me
.REG_size
= 2;
2779 fra
.me
.REG
[0] = NIT_NULL
;
2780 fra
.me
.REG
[1] = NIT_NULL
;
2781 fra
.me
.closure_ctx
= closctx_param
;
2782 fra
.me
.closure_funs
= CREG
;
2784 CREG
[0] = clos_fun0
;
2785 /* ./compiling//compiling_icode.nit:313 */
2786 fra
.me
.REG
[1] = CALL_allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2787 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2788 if (UNTAG_Bool(REGB0
)) {
2790 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2791 if (UNTAG_Bool(REGB1
)) {
2792 REGB1
= TAG_Bool(false);
2795 /* ./../lib/standard//kernel.nit:207 */
2796 REGB1
= TAG_Bool((fra
.me
.REG
[1])==(NIT_NULL
));
2797 /* ./compiling//compiling_icode.nit:313 */
2801 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2802 if (UNTAG_Bool(REGB0
)) {
2803 fra
.me
.REG
[0] = CALL_compiling_icode___I2CCompilerVisitor___register(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0]);
2804 /* ./../lib/standard//collection//array.nit:243 */
2805 fra
.me
.REG
[1] = closctx
->REG
[2];
2806 REGB0
= closctx
->REG
[4];
2807 /* ./../lib/standard//collection//array.nit:245 */
2809 /* ./../lib/standard//kernel.nit:213 */
2810 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
2811 /* ./../lib/standard//collection//array.nit:245 */
2812 if (UNTAG_Bool(REGB1
)) {
2813 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
2814 if (UNTAG_Bool(REGB1
)) {
2816 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
2818 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
2819 /* ./../lib/standard//kernel.nit:212 */
2820 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2822 /* ./../lib/standard//collection//array.nit:245 */
2823 REGB2
= TAG_Bool(false);
2826 if (UNTAG_Bool(REGB1
)) {
2828 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
2830 /* ./../lib/standard//collection//array.nit:246 */
2831 fra
.me
.REG
[1] = ATTR_array___Array____items(fra
.me
.REG
[1]);
2832 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2833 if (UNTAG_Bool(REGB1
)) {
2834 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
2836 /* ./../lib/standard//collection//array.nit:654 */
2837 fra
.me
.REG
[1] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB0
)];
2838 /* ./../lib/standard//collection//array.nit:246 */
2841 /* ./compiling//compiling_icode.nit:313 */
2842 CALL_compiling_icode___I2CCompilerVisitor___add_assignment(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[1]);
2844 /* ./compiling//compiling_icode.nit:314 */
2846 /* ./../lib/standard//kernel.nit:215 */
2847 REGB0
= TAG_Int(UNTAG_Int(closctx
->REG
[4])+UNTAG_Int(REGB0
));
2848 /* ./compiling//compiling_icode.nit:314 */
2849 closctx
->REG
[4] = REGB0
;
2850 stack_frame_head
= fra
.me
.prev
;
2853 val_t
compiling_icode___IRoutine___compile_to_c(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
2854 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2856 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2857 fra
.me
.file
= LOCATE_compiling_icode
;
2859 fra
.me
.meth
= LOCATE_compiling_icode___IRoutine___compile_to_c
;
2860 fra
.me
.has_broke
= 0;
2861 fra
.me
.REG_size
= 4;
2862 fra
.me
.REG
[0] = NIT_NULL
;
2863 fra
.me
.REG
[1] = NIT_NULL
;
2864 fra
.me
.REG
[2] = NIT_NULL
;
2865 fra
.me
.REG
[3] = NIT_NULL
;
2870 /* ./compiling//compiling_icode.nit:356 */
2871 fra
.me
.REG
[2] = NEW_I2CCompilerVisitor_compiling_icode___I2CCompilerVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
2872 /* ./compiling//compiling_icode.nit:357 */
2873 fra
.me
.REG
[3] = CALL_compiling_icode___IRoutine___compile_inside_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], fra
.me
.REG
[3]);
2876 stack_frame_head
= fra
.me
.prev
;
2877 return fra
.me
.REG
[3];
2879 void compiling_icode___ICode___compile_to_c(val_t p0
, val_t p1
){
2880 struct {struct stack_frame_t me
;} fra
;
2882 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2883 fra
.me
.file
= LOCATE_compiling_icode
;
2885 fra
.me
.meth
= LOCATE_compiling_icode___ICode___compile_to_c
;
2886 fra
.me
.has_broke
= 0;
2887 fra
.me
.REG_size
= 0;
2888 /* ./compiling//compiling_icode.nit:362 */
2889 nit_abort("Deferred method called", NULL
, LOCATE_compiling_icode
, 362);
2890 stack_frame_head
= fra
.me
.prev
;
2893 val_t
compiling_icode___ICode___need_result(val_t p0
){
2894 struct {struct stack_frame_t me
;} fra
;
2898 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2899 fra
.me
.file
= LOCATE_compiling_icode
;
2901 fra
.me
.meth
= LOCATE_compiling_icode___ICode___need_result
;
2902 fra
.me
.has_broke
= 0;
2903 fra
.me
.REG_size
= 1;
2904 fra
.me
.REG
[0] = NIT_NULL
;
2906 /* ./compiling//compiling_icode.nit:368 */
2907 fra
.me
.REG
[0] = CALL_icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2908 /* ./compiling//compiling_icode.nit:369 */
2909 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2910 if (UNTAG_Bool(REGB0
)) {
2912 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2913 if (UNTAG_Bool(REGB1
)) {
2914 REGB1
= TAG_Bool(false);
2917 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
2921 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2922 if (UNTAG_Bool(REGB0
)) {
2923 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2924 if (UNTAG_Bool(REGB0
)) {
2925 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 369);
2927 fra
.me
.REG
[0] = CALL_allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2928 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2929 if (UNTAG_Bool(REGB0
)) {
2931 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2932 if (UNTAG_Bool(REGB1
)) {
2933 REGB1
= TAG_Bool(false);
2936 /* ./../lib/standard//kernel.nit:207 */
2937 REGB1
= TAG_Bool((fra
.me
.REG
[0])==(NIT_NULL
));
2938 /* ./compiling//compiling_icode.nit:369 */
2942 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2944 REGB1
= TAG_Bool(false);
2949 stack_frame_head
= fra
.me
.prev
;
2952 void compiling_icode___ICode___store_result(val_t p0
, val_t p1
, val_t p2
){
2953 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2957 static val_t once_value_1
; /* Once value */
2958 static val_t once_value_2
; /* Once value */
2959 static val_t once_value_3
; /* Once value */
2960 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2961 fra
.me
.file
= LOCATE_compiling_icode
;
2963 fra
.me
.meth
= LOCATE_compiling_icode___ICode___store_result
;
2964 fra
.me
.has_broke
= 0;
2965 fra
.me
.REG_size
= 5;
2966 fra
.me
.REG
[0] = NIT_NULL
;
2967 fra
.me
.REG
[1] = NIT_NULL
;
2968 fra
.me
.REG
[2] = NIT_NULL
;
2969 fra
.me
.REG
[3] = NIT_NULL
;
2970 fra
.me
.REG
[4] = NIT_NULL
;
2974 /* ./compiling//compiling_icode.nit:375 */
2975 fra
.me
.REG
[3] = CALL_icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2976 /* ./compiling//compiling_icode.nit:376 */
2977 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2978 if (UNTAG_Bool(REGB0
)) {
2980 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2981 if (UNTAG_Bool(REGB1
)) {
2982 REGB1
= TAG_Bool(false);
2985 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
2989 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2990 if (UNTAG_Bool(REGB0
)) {
2991 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2992 if (UNTAG_Bool(REGB0
)) {
2993 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 376);
2995 fra
.me
.REG
[4] = CALL_allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2996 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2997 if (UNTAG_Bool(REGB0
)) {
2999 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3000 if (UNTAG_Bool(REGB1
)) {
3001 REGB1
= TAG_Bool(false);
3004 /* ./../lib/standard//kernel.nit:207 */
3005 REGB1
= TAG_Bool((fra
.me
.REG
[4])==(NIT_NULL
));
3006 /* ./compiling//compiling_icode.nit:376 */
3010 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3012 REGB1
= TAG_Bool(false);
3015 if (UNTAG_Bool(REGB0
)) {
3016 /* ./compiling//compiling_icode.nit:377 */
3017 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3018 if (UNTAG_Bool(REGB0
)) {
3020 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3021 if (UNTAG_Bool(REGB1
)) {
3022 REGB1
= TAG_Bool(false);
3025 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3029 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3030 if (UNTAG_Bool(REGB0
)) {
3032 nit_abort("Assert failed", NULL
, LOCATE_compiling_icode
, 377);
3034 /* ./compiling//compiling_icode.nit:378 */
3035 fra
.me
.REG
[4] = CALL_compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3036 /* ./compiling//compiling_icode.nit:379 */
3037 fra
.me
.REG
[3] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3038 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3039 /* ./compiling//compiling_icode.nit:380 */
3040 if (!once_value_1
) {
3041 fra
.me
.REG
[3] = BOX_NativeString(" = ");
3043 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
3044 once_value_1
= fra
.me
.REG
[3];
3045 register_static_object(&once_value_1
);
3046 } else fra
.me
.REG
[3] = once_value_1
;
3047 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3048 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3049 /* ./compiling//compiling_icode.nit:381 */
3050 CALL_compiling_writer___Writer___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3051 /* ./compiling//compiling_icode.nit:382 */
3052 if (!once_value_2
) {
3053 fra
.me
.REG
[3] = BOX_NativeString(";\n");
3055 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
3056 once_value_2
= fra
.me
.REG
[3];
3057 register_static_object(&once_value_2
);
3058 } else fra
.me
.REG
[3] = once_value_2
;
3059 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3060 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3062 /* ./compiling//compiling_icode.nit:383 */
3063 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3064 if (UNTAG_Bool(REGB0
)) {
3066 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3067 if (UNTAG_Bool(REGB1
)) {
3068 REGB1
= TAG_Bool(false);
3071 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3075 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3076 if (UNTAG_Bool(REGB0
)) {
3077 REGB0
= CALL_icode_base___ICode___is_pure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3078 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3080 REGB1
= TAG_Bool(false);
3083 if (UNTAG_Bool(REGB0
)) {
3084 /* ./compiling//compiling_icode.nit:386 */
3085 fra
.me
.REG
[1] = CALL_compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3086 /* ./compiling//compiling_icode.nit:387 */
3087 CALL_compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3088 /* ./compiling//compiling_icode.nit:388 */
3089 if (!once_value_3
) {
3090 fra
.me
.REG
[2] = BOX_NativeString(";\n");
3092 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
3093 once_value_3
= fra
.me
.REG
[2];
3094 register_static_object(&once_value_3
);
3095 } else fra
.me
.REG
[2] = once_value_3
;
3096 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3097 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3100 stack_frame_head
= fra
.me
.prev
;
3103 val_t
compiling_icode___ICode___new_result(val_t p0
, val_t p1
){
3104 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3108 static val_t once_value_1
; /* Once value */
3109 static val_t once_value_2
; /* Once value */
3110 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3111 fra
.me
.file
= LOCATE_compiling_icode
;
3113 fra
.me
.meth
= LOCATE_compiling_icode___ICode___new_result
;
3114 fra
.me
.has_broke
= 0;
3115 fra
.me
.REG_size
= 4;
3116 fra
.me
.REG
[0] = NIT_NULL
;
3117 fra
.me
.REG
[1] = NIT_NULL
;
3118 fra
.me
.REG
[2] = NIT_NULL
;
3119 fra
.me
.REG
[3] = NIT_NULL
;
3122 /* ./compiling//compiling_icode.nit:396 */
3123 REGB0
= CALL_compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3124 if (UNTAG_Bool(REGB0
)) {
3125 REGB0
= TAG_Bool(true);
3127 REGB1
= CALL_icode_base___ICode___is_pure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3128 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3131 if (UNTAG_Bool(REGB0
)) {
3133 nit_abort("Assert failed", NULL
, LOCATE_compiling_icode
, 396);
3135 /* ./compiling//compiling_icode.nit:397 */
3136 fra
.me
.REG
[2] = CALL_compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3137 /* ./compiling//compiling_icode.nit:398 */
3138 fra
.me
.REG
[0] = CALL_icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3139 /* ./compiling//compiling_icode.nit:399 */
3140 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3141 if (UNTAG_Bool(REGB0
)) {
3143 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3144 if (UNTAG_Bool(REGB1
)) {
3145 REGB1
= TAG_Bool(false);
3148 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
3152 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3153 if (UNTAG_Bool(REGB0
)) {
3154 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3155 if (UNTAG_Bool(REGB0
)) {
3156 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 399);
3158 fra
.me
.REG
[3] = CALL_allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3159 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3160 if (UNTAG_Bool(REGB0
)) {
3162 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3163 if (UNTAG_Bool(REGB1
)) {
3164 REGB1
= TAG_Bool(false);
3167 /* ./../lib/standard//kernel.nit:207 */
3168 REGB1
= TAG_Bool((fra
.me
.REG
[3])==(NIT_NULL
));
3169 /* ./compiling//compiling_icode.nit:399 */
3173 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3175 REGB1
= TAG_Bool(false);
3178 if (UNTAG_Bool(REGB0
)) {
3179 /* ./compiling//compiling_icode.nit:400 */
3180 fra
.me
.REG
[0] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3181 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3182 /* ./compiling//compiling_icode.nit:401 */
3183 if (!once_value_1
) {
3184 fra
.me
.REG
[0] = BOX_NativeString(" = ");
3186 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
3187 once_value_1
= fra
.me
.REG
[0];
3188 register_static_object(&once_value_1
);
3189 } else fra
.me
.REG
[0] = once_value_1
;
3190 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3191 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3193 /* ./compiling//compiling_icode.nit:403 */
3194 fra
.me
.REG
[0] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3195 /* ./compiling//compiling_icode.nit:404 */
3196 if (!once_value_2
) {
3197 fra
.me
.REG
[1] = BOX_NativeString(";\n");
3199 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
3200 once_value_2
= fra
.me
.REG
[1];
3201 register_static_object(&once_value_2
);
3202 } else fra
.me
.REG
[1] = once_value_2
;
3203 fra
.me
.REG
[1] = fra
.me
.REG
[1];
3204 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
3205 /* ./compiling//compiling_icode.nit:405 */
3208 stack_frame_head
= fra
.me
.prev
;
3209 return fra
.me
.REG
[0];
3211 void compiling_icode___ISeq___compile_to_c(val_t p0
, val_t p1
){
3212 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3216 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3217 fra
.me
.file
= LOCATE_compiling_icode
;
3219 fra
.me
.meth
= LOCATE_compiling_icode___ISeq___compile_to_c
;
3220 fra
.me
.has_broke
= 0;
3221 fra
.me
.REG_size
= 4;
3222 fra
.me
.REG
[0] = NIT_NULL
;
3223 fra
.me
.REG
[1] = NIT_NULL
;
3224 fra
.me
.REG
[2] = NIT_NULL
;
3225 fra
.me
.REG
[3] = NIT_NULL
;
3228 /* ./compiling//compiling_icode.nit:412 */
3229 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3230 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3231 /* ./compiling//compiling_icode.nit:413 */
3232 fra
.me
.REG
[2] = CALL_compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3233 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3234 /* ./compiling//compiling_icode.nit:414 */
3235 fra
.me
.REG
[2] = CALL_icode_base___ISeq___iescape_mark(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3236 /* ./compiling//compiling_icode.nit:415 */
3237 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3238 if (UNTAG_Bool(REGB0
)) {
3240 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3241 if (UNTAG_Bool(REGB1
)) {
3242 REGB1
= TAG_Bool(false);
3245 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3249 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3250 if (UNTAG_Bool(REGB0
)) {
3251 fra
.me
.REG
[3] = CALL_compiling_icode___I2CCompilerVisitor___marks_to_seq(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3252 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
3254 /* ./compiling//compiling_icode.nit:416 */
3255 fra
.me
.REG
[2] = CALL_icode_base___ISeq___icodes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3256 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_compiling_icode___ISeq___compile_to_c_1
));
3257 /* ./compiling//compiling_icode.nit:419 */
3258 CALL_compiling_icode___I2CCompilerVisitor___add_label(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3259 stack_frame_head
= fra
.me
.prev
;
3262 void OC_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
){
3263 struct {struct stack_frame_t me
;} fra
;
3266 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3267 fra
.me
.file
= LOCATE_compiling_icode
;
3269 fra
.me
.meth
= LOCATE_compiling_icode___ISeq___compile_to_c
;
3270 fra
.me
.has_broke
= 0;
3271 fra
.me
.REG_size
= 1;
3272 fra
.me
.REG
[0] = NIT_NULL
;
3273 fra
.me
.closure_ctx
= closctx_param
;
3274 fra
.me
.closure_funs
= CREG
;
3276 CREG
[0] = clos_fun0
;
3277 /* ./compiling//compiling_icode.nit:417 */
3278 CALL_compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
3279 stack_frame_head
= fra
.me
.prev
;
3282 void compiling_icode___IIf___compile_to_c(val_t p0
, val_t p1
){
3283 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3286 static val_t once_value_1
; /* Once value */
3287 static val_t once_value_2
; /* Once value */
3288 static val_t once_value_3
; /* Once value */
3289 static val_t once_value_4
; /* Once value */
3290 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3291 fra
.me
.file
= LOCATE_compiling_icode
;
3293 fra
.me
.meth
= LOCATE_compiling_icode___IIf___compile_to_c
;
3294 fra
.me
.has_broke
= 0;
3295 fra
.me
.REG_size
= 4;
3296 fra
.me
.REG
[0] = NIT_NULL
;
3297 fra
.me
.REG
[1] = NIT_NULL
;
3298 fra
.me
.REG
[2] = NIT_NULL
;
3299 fra
.me
.REG
[3] = NIT_NULL
;
3302 /* ./compiling//compiling_icode.nit:426 */
3303 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3304 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3305 /* ./compiling//compiling_icode.nit:427 */
3306 fra
.me
.REG
[2] = CALL_compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3307 /* ./compiling//compiling_icode.nit:428 */
3308 if (!once_value_1
) {
3309 fra
.me
.REG
[3] = BOX_NativeString("if (UNTAG_Bool(");
3310 REGB0
= TAG_Int(15);
3311 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
3312 once_value_1
= fra
.me
.REG
[3];
3313 register_static_object(&once_value_1
);
3314 } else fra
.me
.REG
[3] = once_value_1
;
3315 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3316 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3317 /* ./compiling//compiling_icode.nit:429 */
3318 fra
.me
.REG
[3] = CALL_icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3319 fra
.me
.REG
[3] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3320 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3321 /* ./compiling//compiling_icode.nit:430 */
3322 if (!once_value_2
) {
3323 fra
.me
.REG
[3] = BOX_NativeString(")) {\n");
3325 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
3326 once_value_2
= fra
.me
.REG
[3];
3327 register_static_object(&once_value_2
);
3328 } else fra
.me
.REG
[3] = once_value_2
;
3329 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3330 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3331 /* ./compiling//compiling_icode.nit:431 */
3332 fra
.me
.REG
[3] = CALL_icode_base___IIf___then_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3333 fra
.me
.REG
[3] = CALL_icode_base___ISeq___icodes(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3334 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3335 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3336 if (UNTAG_Bool(REGB0
)) {
3337 /* ./compiling//compiling_icode.nit:432 */
3338 CALL_compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3339 /* ./compiling//compiling_icode.nit:433 */
3340 fra
.me
.REG
[3] = CALL_icode_base___IIf___then_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3341 CALL_compiling_icode___ICode___compile_to_c(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
3342 /* ./compiling//compiling_icode.nit:434 */
3343 CALL_compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3345 /* ./compiling//compiling_icode.nit:436 */
3346 fra
.me
.REG
[3] = CALL_icode_base___IIf___else_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3347 fra
.me
.REG
[3] = CALL_icode_base___ISeq___icodes(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3348 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3349 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3350 if (UNTAG_Bool(REGB0
)) {
3351 /* ./compiling//compiling_icode.nit:437 */
3352 if (!once_value_3
) {
3353 fra
.me
.REG
[3] = BOX_NativeString("} else {");
3355 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
3356 once_value_3
= fra
.me
.REG
[3];
3357 register_static_object(&once_value_3
);
3358 } else fra
.me
.REG
[3] = once_value_3
;
3359 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3360 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3361 /* ./compiling//compiling_icode.nit:438 */
3362 CALL_compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3363 /* ./compiling//compiling_icode.nit:439 */
3364 fra
.me
.REG
[0] = CALL_icode_base___IIf___else_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3365 CALL_compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3366 /* ./compiling//compiling_icode.nit:440 */
3367 CALL_compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3369 /* ./compiling//compiling_icode.nit:442 */
3370 if (!once_value_4
) {
3371 fra
.me
.REG
[0] = BOX_NativeString("}");
3373 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
3374 once_value_4
= fra
.me
.REG
[0];
3375 register_static_object(&once_value_4
);
3376 } else fra
.me
.REG
[0] = once_value_4
;
3377 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3378 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3379 stack_frame_head
= fra
.me
.prev
;
3382 void compiling_icode___ILoop___compile_to_c(val_t p0
, val_t p1
){
3383 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3387 static val_t once_value_1
; /* Once value */
3388 static val_t once_value_3
; /* Once value */
3389 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3390 fra
.me
.file
= LOCATE_compiling_icode
;
3392 fra
.me
.meth
= LOCATE_compiling_icode___ILoop___compile_to_c
;
3393 fra
.me
.has_broke
= 0;
3394 fra
.me
.REG_size
= 4;
3395 fra
.me
.REG
[0] = NIT_NULL
;
3396 fra
.me
.REG
[1] = NIT_NULL
;
3397 fra
.me
.REG
[2] = NIT_NULL
;
3398 fra
.me
.REG
[3] = NIT_NULL
;
3401 /* ./compiling//compiling_icode.nit:449 */
3402 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3403 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3404 /* ./compiling//compiling_icode.nit:450 */
3405 fra
.me
.REG
[2] = CALL_compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3406 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3407 /* ./compiling//compiling_icode.nit:451 */
3408 fra
.me
.REG
[2] = CALL_icode_base___ISeq___iescape_mark(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3409 /* ./compiling//compiling_icode.nit:452 */
3410 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3411 if (UNTAG_Bool(REGB0
)) {
3413 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3414 if (UNTAG_Bool(REGB1
)) {
3415 REGB1
= TAG_Bool(false);
3418 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3422 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3423 if (UNTAG_Bool(REGB0
)) {
3424 fra
.me
.REG
[3] = CALL_compiling_icode___I2CCompilerVisitor___marks_to_seq(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3425 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
3427 /* ./compiling//compiling_icode.nit:453 */
3428 if (!once_value_1
) {
3429 fra
.me
.REG
[2] = BOX_NativeString("while(1) {");
3430 REGB0
= TAG_Int(10);
3431 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
3432 once_value_1
= fra
.me
.REG
[2];
3433 register_static_object(&once_value_1
);
3434 } else fra
.me
.REG
[2] = once_value_1
;
3435 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3436 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3437 /* ./compiling//compiling_icode.nit:454 */
3438 CALL_compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3439 /* ./compiling//compiling_icode.nit:455 */
3440 fra
.me
.REG
[2] = CALL_icode_base___ISeq___icodes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3441 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_compiling_icode___ILoop___compile_to_c_2
));
3442 /* ./compiling//compiling_icode.nit:458 */
3443 CALL_compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3444 /* ./compiling//compiling_icode.nit:459 */
3445 if (!once_value_3
) {
3446 fra
.me
.REG
[2] = BOX_NativeString("}");
3448 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
3449 once_value_3
= fra
.me
.REG
[2];
3450 register_static_object(&once_value_3
);
3451 } else fra
.me
.REG
[2] = once_value_3
;
3452 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3453 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3454 /* ./compiling//compiling_icode.nit:460 */
3455 CALL_compiling_icode___I2CCompilerVisitor___add_label(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3456 stack_frame_head
= fra
.me
.prev
;
3459 void OC_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
){
3460 struct {struct stack_frame_t me
;} fra
;
3463 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3464 fra
.me
.file
= LOCATE_compiling_icode
;
3466 fra
.me
.meth
= LOCATE_compiling_icode___ILoop___compile_to_c
;
3467 fra
.me
.has_broke
= 0;
3468 fra
.me
.REG_size
= 1;
3469 fra
.me
.REG
[0] = NIT_NULL
;
3470 fra
.me
.closure_ctx
= closctx_param
;
3471 fra
.me
.closure_funs
= CREG
;
3473 CREG
[0] = clos_fun0
;
3474 /* ./compiling//compiling_icode.nit:456 */
3475 CALL_compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
3476 stack_frame_head
= fra
.me
.prev
;
3479 void compiling_icode___IEscape___compile_to_c(val_t p0
, val_t p1
){
3480 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
3482 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3483 fra
.me
.file
= LOCATE_compiling_icode
;
3485 fra
.me
.meth
= LOCATE_compiling_icode___IEscape___compile_to_c
;
3486 fra
.me
.has_broke
= 0;
3487 fra
.me
.REG_size
= 3;
3488 fra
.me
.REG
[0] = NIT_NULL
;
3489 fra
.me
.REG
[1] = NIT_NULL
;
3490 fra
.me
.REG
[2] = NIT_NULL
;
3493 /* ./compiling//compiling_icode.nit:467 */
3494 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3495 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3496 /* ./compiling//compiling_icode.nit:468 */
3497 fra
.me
.REG
[2] = CALL_compiling_icode___I2CCompilerVisitor___marks_to_seq(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3498 fra
.me
.REG
[0] = CALL_icode_base___IEscape___iescape_mark(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3499 fra
.me
.REG
[0] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3500 CALL_compiling_icode___I2CCompilerVisitor___add_goto(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3501 stack_frame_head
= fra
.me
.prev
;
3504 void compiling_icode___IAbsCall___compile_to_c(val_t p0
, val_t p1
){
3505 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
3509 static val_t once_value_1
; /* Once value */
3510 static val_t once_value_2
; /* Once value */
3511 static val_t once_value_5
; /* Once value */
3512 static val_t once_value_6
; /* Once value */
3513 static val_t once_value_7
; /* Once value */
3514 static val_t once_value_8
; /* Once value */
3515 static val_t once_value_9
; /* Once value */
3516 static val_t once_value_10
; /* Once value */
3517 static val_t once_value_11
; /* Once value */
3518 static val_t once_value_12
; /* Once value */
3519 static val_t once_value_13
; /* Once value */
3520 static val_t once_value_14
; /* Once value */
3521 static val_t once_value_15
; /* Once value */
3522 static val_t once_value_16
; /* Once value */
3523 static val_t once_value_18
; /* Once value */
3524 static val_t once_value_19
; /* Once value */
3525 static val_t once_value_20
; /* Once value */
3526 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3527 fra
.me
.file
= LOCATE_compiling_icode
;
3529 fra
.me
.meth
= LOCATE_compiling_icode___IAbsCall___compile_to_c
;
3530 fra
.me
.has_broke
= 0;
3531 fra
.me
.REG_size
= 9;
3532 fra
.me
.REG
[0] = NIT_NULL
;
3533 fra
.me
.REG
[1] = NIT_NULL
;
3534 fra
.me
.REG
[2] = NIT_NULL
;
3535 fra
.me
.REG
[3] = NIT_NULL
;
3536 fra
.me
.REG
[4] = NIT_NULL
;
3537 fra
.me
.REG
[5] = NIT_NULL
;
3538 fra
.me
.REG
[6] = NIT_NULL
;
3539 fra
.me
.REG
[7] = NIT_NULL
;
3540 fra
.me
.REG
[8] = NIT_NULL
;
3543 /* ./compiling//compiling_icode.nit:475 */
3544 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3545 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3546 /* ./compiling//compiling_icode.nit:476 */
3547 fra
.me
.REG
[2] = CALL_icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3548 fra
.me
.REG
[2] = CALL_compiling_icode___I2CCompilerVisitor___registers(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3549 /* ./compiling//compiling_icode.nit:479 */
3550 fra
.me
.REG
[3] = CALL_compiling_icode___I2CCompilerVisitor___escaped_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3551 /* ./compiling//compiling_icode.nit:480 */
3552 fra
.me
.REG
[4] = CALL_icode_base___ICodeN___closure_defs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3553 /* ./compiling//compiling_icode.nit:481 */
3554 fra
.me
.REG
[5] = NIT_NULL
;
3555 /* ./compiling//compiling_icode.nit:482 */
3556 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3557 if (UNTAG_Bool(REGB0
)) {
3559 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3560 if (UNTAG_Bool(REGB1
)) {
3561 REGB1
= TAG_Bool(false);
3564 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
3568 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3569 if (UNTAG_Bool(REGB0
)) {
3570 /* ./compiling//compiling_icode.nit:484 */
3571 REGB0
= CALL_compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3572 if (UNTAG_Bool(REGB0
)) {
3573 /* ./compiling//compiling_icode.nit:485 */
3574 if (!once_value_1
) {
3575 fra
.me
.REG
[6] = BOX_NativeString("closctx");
3577 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
3578 once_value_1
= fra
.me
.REG
[6];
3579 register_static_object(&once_value_1
);
3580 } else fra
.me
.REG
[6] = once_value_1
;
3581 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3582 fra
.me
.REG
[5] = fra
.me
.REG
[6];
3584 /* ./compiling//compiling_icode.nit:487 */
3585 if (!once_value_2
) {
3586 fra
.me
.REG
[6] = BOX_NativeString("(&(fra.me))");
3587 REGB0
= TAG_Int(11);
3588 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
3589 once_value_2
= fra
.me
.REG
[6];
3590 register_static_object(&once_value_2
);
3591 } else fra
.me
.REG
[6] = once_value_2
;
3592 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3593 fra
.me
.REG
[5] = fra
.me
.REG
[6];
3595 /* ./compiling//compiling_icode.nit:491 */
3596 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
3597 /* ./compiling//compiling_icode.nit:494 */
3598 fra
.me
.REG
[6] = NEW_HashMap_hash_collection___HashMap___init();
3599 CALL_compiling_icode___I2CCompilerVisitor___escaped_labels__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3600 /* ./compiling//compiling_icode.nit:497 */
3601 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3602 if (UNTAG_Bool(REGB0
)) {
3603 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 497);
3605 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[4])(fra
.me
.REG
[4], (&(fra
.me
)), ((fun_t
)OC_compiling_icode___IAbsCall___compile_to_c_3
));
3607 /* ./compiling//compiling_icode.nit:508 */
3608 fra
.me
.REG
[2] = CALL_compiling_icode___IAbsCall___compile_call_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
3609 /* ./compiling//compiling_icode.nit:509 */
3610 fra
.me
.REG
[4] = fra
.me
.REG
[2];
3611 /* ./compiling//compiling_icode.nit:512 */
3612 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3613 if (UNTAG_Bool(REGB0
)) {
3615 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3616 if (UNTAG_Bool(REGB1
)) {
3617 REGB1
= TAG_Bool(false);
3620 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
3624 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3625 if (UNTAG_Bool(REGB0
)) {
3626 /* ./compiling//compiling_icode.nit:513 */
3627 fra
.me
.REG
[6] = CALL_compiling_icode___I2CCompilerVisitor___escaped_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3628 /* ./compiling//compiling_icode.nit:514 */
3629 CALL_compiling_icode___I2CCompilerVisitor___escaped_labels__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3630 /* ./compiling//compiling_icode.nit:516 */
3631 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3632 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3633 if (UNTAG_Bool(REGB0
)) {
3634 /* ./compiling//compiling_icode.nit:518 */
3635 fra
.me
.REG
[3] = CALL_compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3636 /* ./compiling//compiling_icode.nit:519 */
3637 REGB0
= CALL_compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3638 if (UNTAG_Bool(REGB0
)) {
3639 /* ./compiling//compiling_icode.nit:520 */
3640 if (!once_value_5
) {
3641 fra
.me
.REG
[7] = BOX_NativeString("tmp");
3643 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
3644 once_value_5
= fra
.me
.REG
[7];
3645 register_static_object(&once_value_5
);
3646 } else fra
.me
.REG
[7] = once_value_5
;
3647 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3648 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[7]);
3649 /* ./compiling//compiling_icode.nit:521 */
3650 if (!once_value_6
) {
3651 fra
.me
.REG
[7] = BOX_NativeString(" = ");
3653 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
3654 once_value_6
= fra
.me
.REG
[7];
3655 register_static_object(&once_value_6
);
3656 } else fra
.me
.REG
[7] = once_value_6
;
3657 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3658 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[7]);
3659 /* ./compiling//compiling_icode.nit:522 */
3660 CALL_compiling_writer___Writer___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3661 /* ./compiling//compiling_icode.nit:523 */
3662 if (!once_value_7
) {
3663 fra
.me
.REG
[7] = BOX_NativeString(";\n");
3665 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
3666 once_value_7
= fra
.me
.REG
[7];
3667 register_static_object(&once_value_7
);
3668 } else fra
.me
.REG
[7] = once_value_7
;
3669 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3670 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[7]);
3671 /* ./compiling//compiling_icode.nit:524 */
3672 fra
.me
.REG
[7] = NEW_Writer_compiling_writer___Writer___init();
3673 fra
.me
.REG
[4] = fra
.me
.REG
[7];
3674 /* ./compiling//compiling_icode.nit:525 */
3675 if (!once_value_8
) {
3676 fra
.me
.REG
[7] = BOX_NativeString("tmp");
3678 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
3679 once_value_8
= fra
.me
.REG
[7];
3680 register_static_object(&once_value_8
);
3681 } else fra
.me
.REG
[7] = once_value_8
;
3682 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3683 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3684 if (UNTAG_Bool(REGB0
)) {
3685 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 525);
3687 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
3689 /* ./compiling//compiling_icode.nit:527 */
3690 fra
.me
.REG
[4] = NIT_NULL
;
3691 /* ./compiling//compiling_icode.nit:528 */
3692 CALL_compiling_writer___Writer___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3693 /* ./compiling//compiling_icode.nit:529 */
3694 if (!once_value_9
) {
3695 fra
.me
.REG
[2] = BOX_NativeString(";\n");
3697 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
3698 once_value_9
= fra
.me
.REG
[2];
3699 register_static_object(&once_value_9
);
3700 } else fra
.me
.REG
[2] = once_value_9
;
3701 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3702 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3704 /* ./compiling//compiling_icode.nit:532 */
3705 fra
.me
.REG
[2] = CALL_compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3706 if (!once_value_10
) {
3707 fra
.me
.REG
[3] = BOX_NativeString("switch (");
3709 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
3710 once_value_10
= fra
.me
.REG
[3];
3711 register_static_object(&once_value_10
);
3712 } else fra
.me
.REG
[3] = once_value_10
;
3713 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3714 fra
.me
.REG
[3] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3715 fra
.me
.REG
[3] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
3716 if (!once_value_11
) {
3717 fra
.me
.REG
[2] = BOX_NativeString("->has_broke) {\n");
3718 REGB0
= TAG_Int(15);
3719 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
3720 once_value_11
= fra
.me
.REG
[2];
3721 register_static_object(&once_value_11
);
3722 } else fra
.me
.REG
[2] = once_value_11
;
3723 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3724 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3725 /* ./compiling//compiling_icode.nit:533 */
3726 CALL_compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3727 /* ./compiling//compiling_icode.nit:535 */
3728 if (!once_value_12
) {
3729 fra
.me
.REG
[2] = BOX_NativeString("case 0: break;");
3730 REGB0
= TAG_Int(14);
3731 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
3732 once_value_12
= fra
.me
.REG
[2];
3733 register_static_object(&once_value_12
);
3734 } else fra
.me
.REG
[2] = once_value_12
;
3735 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3736 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3737 /* ./compiling//compiling_icode.nit:536 */
3738 fra
.me
.REG
[2] = CALL_compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3739 /* ./compiling//compiling_icode.nit:537 */
3740 fra
.me
.REG
[6] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3741 /* ./compiling//compiling_icode.nit:538 */
3742 REGB0
= TAG_Bool(false);
3743 /* ./compiling//compiling_icode.nit:539 */
3745 REGB1
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3746 if (UNTAG_Bool(REGB1
)) {
3747 /* ./compiling//compiling_icode.nit:540 */
3748 fra
.me
.REG
[3] = CALL_abstract_collection___MapIterator___key(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3749 /* ./compiling//compiling_icode.nit:541 */
3750 REGB1
= CALL_abstract_collection___Collection___has(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3751 if (UNTAG_Bool(REGB1
)) {
3752 /* ./compiling//compiling_icode.nit:544 */
3753 fra
.me
.REG
[7] = CALL_compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3754 if (!once_value_13
) {
3755 fra
.me
.REG
[8] = BOX_NativeString("case ");
3757 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3758 once_value_13
= fra
.me
.REG
[8];
3759 register_static_object(&once_value_13
);
3760 } else fra
.me
.REG
[8] = once_value_13
;
3761 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3762 fra
.me
.REG
[8] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3763 fra
.me
.REG
[7] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3764 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3765 if (UNTAG_Bool(REGB1
)) {
3766 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 544);
3768 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3769 fra
.me
.REG
[7] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
3770 if (!once_value_14
) {
3771 fra
.me
.REG
[8] = BOX_NativeString(": ");
3773 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3774 once_value_14
= fra
.me
.REG
[8];
3775 register_static_object(&once_value_14
);
3776 } else fra
.me
.REG
[8] = once_value_14
;
3777 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3778 fra
.me
.REG
[8] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3779 fra
.me
.REG
[8] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
3780 if (!once_value_15
) {
3781 fra
.me
.REG
[7] = BOX_NativeString("->has_broke = 0; goto ");
3782 REGB1
= TAG_Int(22);
3783 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
3784 once_value_15
= fra
.me
.REG
[7];
3785 register_static_object(&once_value_15
);
3786 } else fra
.me
.REG
[7] = once_value_15
;
3787 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3788 fra
.me
.REG
[7] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
3789 fra
.me
.REG
[8] = CALL_compiling_icode___I2CCompilerVisitor___lab(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3790 fra
.me
.REG
[8] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3791 if (!once_value_16
) {
3792 fra
.me
.REG
[7] = BOX_NativeString(";\n");
3794 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
3795 once_value_16
= fra
.me
.REG
[7];
3796 register_static_object(&once_value_16
);
3797 } else fra
.me
.REG
[7] = once_value_16
;
3798 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3799 CALL_compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
3801 /* ./compiling//compiling_icode.nit:547 */
3802 REGB1
= CALL_compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3803 if (UNTAG_Bool(REGB1
)) {
3805 nit_abort("Assert failed", NULL
, LOCATE_compiling_icode
, 547);
3807 /* ./compiling//compiling_icode.nit:548 */
3808 CALL_compiling_icode___I2CCompilerVisitor___register_escape_label(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3809 /* ./compiling//compiling_icode.nit:549 */
3810 REGB1
= TAG_Bool(true);
3813 /* ./compiling//compiling_icode.nit:551 */
3814 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3816 /* ./compiling//compiling_icode.nit:539 */
3821 /* ./compiling//compiling_icode.nit:554 */
3822 if (UNTAG_Bool(REGB0
)) {
3823 /* ./compiling//compiling_icode.nit:557 */
3824 fra
.me
.REG
[6] = CALL_compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3825 if (!once_value_18
) {
3826 fra
.me
.REG
[5] = BOX_NativeString("default: goto ");
3827 REGB0
= TAG_Int(14);
3828 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
3829 once_value_18
= fra
.me
.REG
[5];
3830 register_static_object(&once_value_18
);
3831 } else fra
.me
.REG
[5] = once_value_18
;
3832 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3833 fra
.me
.REG
[5] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
3834 fra
.me
.REG
[6] = CALL_compiling_icode___I2CCompilerVisitor___return_label(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3835 REGB0
= TAG_Bool(fra
.me
.REG
[6]!=NIT_NULL
);
3836 if (UNTAG_Bool(REGB0
)) {
3838 nit_abort("Cast failed", NULL
, LOCATE_compiling_icode
, 557);
3840 fra
.me
.REG
[6] = CALL_compiling_icode___I2CCompilerVisitor___lab(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3841 fra
.me
.REG
[6] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3842 if (!once_value_19
) {
3843 fra
.me
.REG
[5] = BOX_NativeString(";\n");
3845 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
3846 once_value_19
= fra
.me
.REG
[5];
3847 register_static_object(&once_value_19
);
3848 } else fra
.me
.REG
[5] = once_value_19
;
3849 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3850 CALL_compiling_writer___Writer___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
3852 /* ./compiling//compiling_icode.nit:559 */
3853 CALL_compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3854 /* ./compiling//compiling_icode.nit:560 */
3855 if (!once_value_20
) {
3856 fra
.me
.REG
[5] = BOX_NativeString("}");
3858 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
3859 once_value_20
= fra
.me
.REG
[5];
3860 register_static_object(&once_value_20
);
3861 } else fra
.me
.REG
[5] = once_value_20
;
3862 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3863 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3866 /* ./compiling//compiling_icode.nit:564 */
3867 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3868 if (UNTAG_Bool(REGB0
)) {
3870 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3871 if (UNTAG_Bool(REGB1
)) {
3872 REGB1
= TAG_Bool(false);
3875 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
3879 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3880 if (UNTAG_Bool(REGB0
)) {
3881 /* ./compiling//compiling_icode.nit:565 */
3882 fra
.me
.REG
[1] = CALL_compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3883 /* ./compiling//compiling_icode.nit:566 */
3884 CALL_compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3886 stack_frame_head
= fra
.me
.prev
;
3889 void OC_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
){
3890 struct {struct stack_frame_t me
;} fra
;
3895 static val_t once_value_4
; /* Once value */
3896 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3897 fra
.me
.file
= LOCATE_compiling_icode
;
3899 fra
.me
.meth
= LOCATE_compiling_icode___IAbsCall___compile_to_c
;
3900 fra
.me
.has_broke
= 0;
3901 fra
.me
.REG_size
= 1;
3902 fra
.me
.REG
[0] = NIT_NULL
;
3903 fra
.me
.closure_ctx
= closctx_param
;
3904 fra
.me
.closure_funs
= CREG
;
3906 CREG
[0] = clos_fun0
;
3907 /* ./compiling//compiling_icode.nit:498 */
3908 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3909 if (UNTAG_Bool(REGB0
)) {
3911 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3912 if (UNTAG_Bool(REGB1
)) {
3913 REGB1
= TAG_Bool(false);
3916 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
3920 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3921 if (UNTAG_Bool(REGB0
)) {
3922 /* ./compiling//compiling_icode.nit:499 */
3923 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3924 if (UNTAG_Bool(REGB0
)) {
3925 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 499);
3927 fra
.me
.REG
[0] = CALL_compiling_icode___IClosureDef___compile_closure(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
3928 /* ./compiling//compiling_icode.nit:500 */
3929 CALL_abstract_collection___SimpleCollection___add(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
3931 /* ./compiling//compiling_icode.nit:502 */
3932 if (!once_value_4
) {
3933 fra
.me
.REG
[0] = BOX_NativeString("NULL");
3935 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
3936 once_value_4
= fra
.me
.REG
[0];
3937 register_static_object(&once_value_4
);
3938 } else fra
.me
.REG
[0] = once_value_4
;
3939 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3940 CALL_abstract_collection___SimpleCollection___add(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
3942 stack_frame_head
= fra
.me
.prev
;
3945 val_t
compiling_icode___IAbsCall___compile_call_to_c(val_t p0
, val_t p1
, val_t p2
){
3946 struct {struct stack_frame_t me
;} fra
;
3948 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3949 fra
.me
.file
= LOCATE_compiling_icode
;
3951 fra
.me
.meth
= LOCATE_compiling_icode___IAbsCall___compile_call_to_c
;
3952 fra
.me
.has_broke
= 0;
3953 fra
.me
.REG_size
= 0;
3954 /* ./compiling//compiling_icode.nit:570 */
3955 nit_abort("Deferred method called", NULL
, LOCATE_compiling_icode
, 570);
3956 stack_frame_head
= fra
.me
.prev
;
3959 val_t
compiling_icode___ICall___compile_call_to_c(val_t p0
, val_t p1
, val_t p2
){
3960 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3963 static val_t once_value_1
; /* Once value */
3964 static val_t once_value_2
; /* Once value */
3965 static val_t once_value_3
; /* Once value */
3966 static val_t once_value_4
; /* Once value */
3967 static val_t once_value_5
; /* Once value */
3968 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3969 fra
.me
.file
= LOCATE_compiling_icode
;
3971 fra
.me
.meth
= LOCATE_compiling_icode___ICall___compile_call_to_c
;
3972 fra
.me
.has_broke
= 0;
3973 fra
.me
.REG_size
= 4;
3974 fra
.me
.REG
[0] = NIT_NULL
;
3975 fra
.me
.REG
[1] = NIT_NULL
;
3976 fra
.me
.REG
[2] = NIT_NULL
;
3977 fra
.me
.REG
[3] = NIT_NULL
;
3981 /* ./compiling//compiling_icode.nit:577 */
3982 fra
.me
.REG
[1] = NEW_Writer_compiling_writer___Writer___init();
3983 /* ./compiling//compiling_icode.nit:578 */
3984 fra
.me
.REG
[0] = CALL_icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3985 /* ./compiling//compiling_icode.nit:579 */
3986 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3987 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3988 if (UNTAG_Bool(REGB0
)) {
3989 if (!once_value_1
) {
3990 fra
.me
.REG
[3] = BOX_NativeString("init_table");
3991 REGB0
= TAG_Int(10);
3992 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
3993 once_value_1
= fra
.me
.REG
[3];
3994 register_static_object(&once_value_1
);
3995 } else fra
.me
.REG
[3] = once_value_1
;
3996 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3997 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3999 /* ./compiling//compiling_icode.nit:580 */
4000 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4001 fra
.me
.REG
[0] = CALL_compiling_base___MMGlobalProperty___meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4002 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4003 /* ./compiling//compiling_icode.nit:581 */
4004 if (!once_value_2
) {
4005 fra
.me
.REG
[0] = BOX_NativeString("(");
4007 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4008 once_value_2
= fra
.me
.REG
[0];
4009 register_static_object(&once_value_2
);
4010 } else fra
.me
.REG
[0] = once_value_2
;
4011 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4012 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4013 /* ./compiling//compiling_icode.nit:582 */
4014 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4015 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4016 /* ./compiling//compiling_icode.nit:583 */
4017 if (!once_value_3
) {
4018 fra
.me
.REG
[0] = BOX_NativeString(")(");
4020 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4021 once_value_3
= fra
.me
.REG
[0];
4022 register_static_object(&once_value_3
);
4023 } else fra
.me
.REG
[0] = once_value_3
;
4024 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4025 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4026 /* ./compiling//compiling_icode.nit:584 */
4027 if (!once_value_4
) {
4028 fra
.me
.REG
[0] = BOX_NativeString(", ");
4030 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4031 once_value_4
= fra
.me
.REG
[0];
4032 register_static_object(&once_value_4
);
4033 } else fra
.me
.REG
[0] = once_value_4
;
4034 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4035 CALL_compiling_writer___Writer___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4036 /* ./compiling//compiling_icode.nit:585 */
4037 if (!once_value_5
) {
4038 fra
.me
.REG
[0] = BOX_NativeString(")");
4040 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4041 once_value_5
= fra
.me
.REG
[0];
4042 register_static_object(&once_value_5
);
4043 } else fra
.me
.REG
[0] = once_value_5
;
4044 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4045 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4046 /* ./compiling//compiling_icode.nit:586 */
4049 stack_frame_head
= fra
.me
.prev
;
4050 return fra
.me
.REG
[1];
4052 val_t
compiling_icode___ISuper___compile_call_to_c(val_t p0
, val_t p1
, val_t p2
){
4053 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
4056 static val_t once_value_1
; /* Once value */
4057 static val_t once_value_2
; /* Once value */
4058 static val_t once_value_3
; /* Once value */
4059 static val_t once_value_4
; /* Once value */
4060 static val_t once_value_5
; /* Once value */
4061 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4062 fra
.me
.file
= LOCATE_compiling_icode
;
4064 fra
.me
.meth
= LOCATE_compiling_icode___ISuper___compile_call_to_c
;
4065 fra
.me
.has_broke
= 0;
4066 fra
.me
.REG_size
= 3;
4067 fra
.me
.REG
[0] = NIT_NULL
;
4068 fra
.me
.REG
[1] = NIT_NULL
;
4069 fra
.me
.REG
[2] = NIT_NULL
;
4073 /* ./compiling//compiling_icode.nit:593 */
4074 fra
.me
.REG
[0] = CALL_icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4075 /* ./compiling//compiling_icode.nit:594 */
4076 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4077 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4078 if (UNTAG_Bool(REGB0
)) {
4079 if (!once_value_1
) {
4080 fra
.me
.REG
[1] = BOX_NativeString("init_table");
4081 REGB0
= TAG_Int(10);
4082 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
4083 once_value_1
= fra
.me
.REG
[1];
4084 register_static_object(&once_value_1
);
4085 } else fra
.me
.REG
[1] = once_value_1
;
4086 fra
.me
.REG
[1] = fra
.me
.REG
[1];
4087 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
4089 /* ./compiling//compiling_icode.nit:595 */
4090 fra
.me
.REG
[1] = NEW_Writer_compiling_writer___Writer___init();
4091 /* ./compiling//compiling_icode.nit:596 */
4092 fra
.me
.REG
[0] = CALL_compiling_base___MMLocalProperty___super_meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4093 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4094 /* ./compiling//compiling_icode.nit:597 */
4095 if (!once_value_2
) {
4096 fra
.me
.REG
[0] = BOX_NativeString("(");
4098 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4099 once_value_2
= fra
.me
.REG
[0];
4100 register_static_object(&once_value_2
);
4101 } else fra
.me
.REG
[0] = once_value_2
;
4102 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4103 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4104 /* ./compiling//compiling_icode.nit:598 */
4105 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4106 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4107 /* ./compiling//compiling_icode.nit:599 */
4108 if (!once_value_3
) {
4109 fra
.me
.REG
[0] = BOX_NativeString(")(");
4111 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4112 once_value_3
= fra
.me
.REG
[0];
4113 register_static_object(&once_value_3
);
4114 } else fra
.me
.REG
[0] = once_value_3
;
4115 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4116 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4117 /* ./compiling//compiling_icode.nit:600 */
4118 if (!once_value_4
) {
4119 fra
.me
.REG
[0] = BOX_NativeString(", ");
4121 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4122 once_value_4
= fra
.me
.REG
[0];
4123 register_static_object(&once_value_4
);
4124 } else fra
.me
.REG
[0] = once_value_4
;
4125 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4126 CALL_compiling_writer___Writer___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4127 /* ./compiling//compiling_icode.nit:601 */
4128 if (!once_value_5
) {
4129 fra
.me
.REG
[0] = BOX_NativeString(")");
4131 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4132 once_value_5
= fra
.me
.REG
[0];
4133 register_static_object(&once_value_5
);
4134 } else fra
.me
.REG
[0] = once_value_5
;
4135 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4136 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4137 /* ./compiling//compiling_icode.nit:602 */
4140 stack_frame_head
= fra
.me
.prev
;
4141 return fra
.me
.REG
[1];
4143 val_t
compiling_icode___INew___compile_call_to_c(val_t p0
, val_t p1
, val_t p2
){
4144 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4147 static val_t once_value_1
; /* Once value */
4148 static val_t once_value_2
; /* Once value */
4149 static val_t once_value_3
; /* Once value */
4150 static val_t once_value_4
; /* Once value */
4151 static val_t once_value_5
; /* Once value */
4152 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4153 fra
.me
.file
= LOCATE_compiling_icode
;
4155 fra
.me
.meth
= LOCATE_compiling_icode___INew___compile_call_to_c
;
4156 fra
.me
.has_broke
= 0;
4157 fra
.me
.REG_size
= 4;
4158 fra
.me
.REG
[0] = NIT_NULL
;
4159 fra
.me
.REG
[1] = NIT_NULL
;
4160 fra
.me
.REG
[2] = NIT_NULL
;
4161 fra
.me
.REG
[3] = NIT_NULL
;
4165 /* ./compiling//compiling_icode.nit:609 */
4166 fra
.me
.REG
[1] = NEW_Writer_compiling_writer___Writer___init();
4167 /* ./compiling//compiling_icode.nit:610 */
4168 if (!once_value_1
) {
4169 fra
.me
.REG
[3] = BOX_NativeString("NEW_");
4171 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
4172 once_value_1
= fra
.me
.REG
[3];
4173 register_static_object(&once_value_1
);
4174 } else fra
.me
.REG
[3] = once_value_1
;
4175 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4176 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
4177 /* ./compiling//compiling_icode.nit:611 */
4178 fra
.me
.REG
[3] = CALL_icode_base___INew___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4179 fra
.me
.REG
[3] = CALL_static_type___MMType___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4180 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4181 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
4182 /* ./compiling//compiling_icode.nit:612 */
4183 if (!once_value_2
) {
4184 fra
.me
.REG
[3] = BOX_NativeString("_");
4186 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
4187 once_value_2
= fra
.me
.REG
[3];
4188 register_static_object(&once_value_2
);
4189 } else fra
.me
.REG
[3] = once_value_2
;
4190 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4191 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
4192 /* ./compiling//compiling_icode.nit:613 */
4193 fra
.me
.REG
[0] = CALL_icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4194 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4195 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4196 fra
.me
.REG
[0] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4197 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4198 /* ./compiling//compiling_icode.nit:614 */
4199 if (!once_value_3
) {
4200 fra
.me
.REG
[0] = BOX_NativeString("(");
4202 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4203 once_value_3
= fra
.me
.REG
[0];
4204 register_static_object(&once_value_3
);
4205 } else fra
.me
.REG
[0] = once_value_3
;
4206 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4207 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4208 /* ./compiling//compiling_icode.nit:615 */
4209 if (!once_value_4
) {
4210 fra
.me
.REG
[0] = BOX_NativeString(", ");
4212 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4213 once_value_4
= fra
.me
.REG
[0];
4214 register_static_object(&once_value_4
);
4215 } else fra
.me
.REG
[0] = once_value_4
;
4216 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4217 CALL_compiling_writer___Writer___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4218 /* ./compiling//compiling_icode.nit:616 */
4219 if (!once_value_5
) {
4220 fra
.me
.REG
[0] = BOX_NativeString(")");
4222 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4223 once_value_5
= fra
.me
.REG
[0];
4224 register_static_object(&once_value_5
);
4225 } else fra
.me
.REG
[0] = once_value_5
;
4226 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4227 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4228 /* ./compiling//compiling_icode.nit:617 */
4231 stack_frame_head
= fra
.me
.prev
;
4232 return fra
.me
.REG
[1];
4234 void compiling_icode___IAllocateInstance___compile_to_c(val_t p0
, val_t p1
){
4235 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
4238 static val_t once_value_1
; /* Once value */
4239 static val_t once_value_2
; /* Once value */
4240 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4241 fra
.me
.file
= LOCATE_compiling_icode
;
4243 fra
.me
.meth
= LOCATE_compiling_icode___IAllocateInstance___compile_to_c
;
4244 fra
.me
.has_broke
= 0;
4245 fra
.me
.REG_size
= 3;
4246 fra
.me
.REG
[0] = NIT_NULL
;
4247 fra
.me
.REG
[1] = NIT_NULL
;
4248 fra
.me
.REG
[2] = NIT_NULL
;
4251 /* ./compiling//compiling_icode.nit:624 */
4252 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4253 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4254 /* ./compiling//compiling_icode.nit:625 */
4255 fra
.me
.REG
[1] = CALL_compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4256 /* ./compiling//compiling_icode.nit:626 */
4257 if (!once_value_1
) {
4258 fra
.me
.REG
[2] = BOX_NativeString("NEW_");
4260 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
4261 once_value_1
= fra
.me
.REG
[2];
4262 register_static_object(&once_value_1
);
4263 } else fra
.me
.REG
[2] = once_value_1
;
4264 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4265 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4266 /* ./compiling//compiling_icode.nit:627 */
4267 fra
.me
.REG
[0] = CALL_icode_base___IAllocateInstance___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4268 fra
.me
.REG
[0] = CALL_static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4269 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4270 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4271 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4272 /* ./compiling//compiling_icode.nit:628 */
4273 if (!once_value_2
) {
4274 fra
.me
.REG
[0] = BOX_NativeString("()");
4276 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4277 once_value_2
= fra
.me
.REG
[0];
4278 register_static_object(&once_value_2
);
4279 } else fra
.me
.REG
[0] = once_value_2
;
4280 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4281 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4282 stack_frame_head
= fra
.me
.prev
;
4285 void compiling_icode___ICheckInstance___compile_to_c(val_t p0
, val_t p1
){
4286 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4289 static val_t once_value_1
; /* Once value */
4290 static val_t once_value_2
; /* Once value */
4291 static val_t once_value_3
; /* Once value */
4292 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4293 fra
.me
.file
= LOCATE_compiling_icode
;
4295 fra
.me
.meth
= LOCATE_compiling_icode___ICheckInstance___compile_to_c
;
4296 fra
.me
.has_broke
= 0;
4297 fra
.me
.REG_size
= 4;
4298 fra
.me
.REG
[0] = NIT_NULL
;
4299 fra
.me
.REG
[1] = NIT_NULL
;
4300 fra
.me
.REG
[2] = NIT_NULL
;
4301 fra
.me
.REG
[3] = NIT_NULL
;
4304 /* ./compiling//compiling_icode.nit:635 */
4305 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4306 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4307 /* ./compiling//compiling_icode.nit:636 */
4308 fra
.me
.REG
[2] = CALL_compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4309 /* ./compiling//compiling_icode.nit:637 */
4310 if (!once_value_1
) {
4311 fra
.me
.REG
[3] = BOX_NativeString("CHECKNEW_");
4313 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
4314 once_value_1
= fra
.me
.REG
[3];
4315 register_static_object(&once_value_1
);
4316 } else fra
.me
.REG
[3] = once_value_1
;
4317 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4318 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4319 /* ./compiling//compiling_icode.nit:638 */
4320 fra
.me
.REG
[3] = CALL_icode_base___ICheckInstance___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4321 fra
.me
.REG
[3] = CALL_static_type___MMType___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4322 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4323 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4324 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4325 /* ./compiling//compiling_icode.nit:639 */
4326 if (!once_value_2
) {
4327 fra
.me
.REG
[3] = BOX_NativeString("(");
4329 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
4330 once_value_2
= fra
.me
.REG
[3];
4331 register_static_object(&once_value_2
);
4332 } else fra
.me
.REG
[3] = once_value_2
;
4333 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4334 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4335 /* ./compiling//compiling_icode.nit:640 */
4336 fra
.me
.REG
[0] = CALL_icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4337 fra
.me
.REG
[0] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4338 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
4339 /* ./compiling//compiling_icode.nit:641 */
4340 if (!once_value_3
) {
4341 fra
.me
.REG
[0] = BOX_NativeString(")");
4343 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4344 once_value_3
= fra
.me
.REG
[0];
4345 register_static_object(&once_value_3
);
4346 } else fra
.me
.REG
[0] = once_value_3
;
4347 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4348 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
4349 stack_frame_head
= fra
.me
.prev
;
4352 void compiling_icode___IInitAttributes___compile_to_c(val_t p0
, val_t p1
){
4353 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4356 static val_t once_value_1
; /* Once value */
4357 static val_t once_value_2
; /* Once value */
4358 static val_t once_value_3
; /* Once value */
4359 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4360 fra
.me
.file
= LOCATE_compiling_icode
;
4362 fra
.me
.meth
= LOCATE_compiling_icode___IInitAttributes___compile_to_c
;
4363 fra
.me
.has_broke
= 0;
4364 fra
.me
.REG_size
= 4;
4365 fra
.me
.REG
[0] = NIT_NULL
;
4366 fra
.me
.REG
[1] = NIT_NULL
;
4367 fra
.me
.REG
[2] = NIT_NULL
;
4368 fra
.me
.REG
[3] = NIT_NULL
;
4371 /* ./compiling//compiling_icode.nit:648 */
4372 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4373 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4374 /* ./compiling//compiling_icode.nit:649 */
4375 fra
.me
.REG
[2] = CALL_compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4376 /* ./compiling//compiling_icode.nit:650 */
4377 if (!once_value_1
) {
4378 fra
.me
.REG
[3] = BOX_NativeString("INIT_ATTRIBUTES__");
4379 REGB0
= TAG_Int(17);
4380 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
4381 once_value_1
= fra
.me
.REG
[3];
4382 register_static_object(&once_value_1
);
4383 } else fra
.me
.REG
[3] = once_value_1
;
4384 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4385 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4386 /* ./compiling//compiling_icode.nit:651 */
4387 fra
.me
.REG
[3] = CALL_icode_base___IInitAttributes___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4388 fra
.me
.REG
[3] = CALL_static_type___MMType___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4389 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4390 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4391 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4392 /* ./compiling//compiling_icode.nit:652 */
4393 if (!once_value_2
) {
4394 fra
.me
.REG
[3] = BOX_NativeString("(");
4396 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
4397 once_value_2
= fra
.me
.REG
[3];
4398 register_static_object(&once_value_2
);
4399 } else fra
.me
.REG
[3] = once_value_2
;
4400 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4401 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4402 /* ./compiling//compiling_icode.nit:653 */
4403 fra
.me
.REG
[0] = CALL_icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4404 fra
.me
.REG
[0] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4405 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
4406 /* ./compiling//compiling_icode.nit:654 */
4407 if (!once_value_3
) {
4408 fra
.me
.REG
[0] = BOX_NativeString(");\n");
4410 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4411 once_value_3
= fra
.me
.REG
[0];
4412 register_static_object(&once_value_3
);
4413 } else fra
.me
.REG
[0] = once_value_3
;
4414 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4415 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
4416 stack_frame_head
= fra
.me
.prev
;
4419 val_t
compiling_icode___IStaticCall___compile_call_to_c(val_t p0
, val_t p1
, val_t p2
){
4420 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
4423 static val_t once_value_1
; /* Once value */
4424 static val_t once_value_2
; /* Once value */
4425 static val_t once_value_3
; /* Once value */
4426 static val_t once_value_4
; /* Once value */
4427 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4428 fra
.me
.file
= LOCATE_compiling_icode
;
4430 fra
.me
.meth
= LOCATE_compiling_icode___IStaticCall___compile_call_to_c
;
4431 fra
.me
.has_broke
= 0;
4432 fra
.me
.REG_size
= 3;
4433 fra
.me
.REG
[0] = NIT_NULL
;
4434 fra
.me
.REG
[1] = NIT_NULL
;
4435 fra
.me
.REG
[2] = NIT_NULL
;
4439 /* ./compiling//compiling_icode.nit:661 */
4440 fra
.me
.REG
[1] = CALL_icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4441 /* ./compiling//compiling_icode.nit:662 */
4442 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4443 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4444 if (UNTAG_Bool(REGB0
)) {
4445 if (!once_value_1
) {
4446 fra
.me
.REG
[1] = BOX_NativeString("init_table");
4447 REGB0
= TAG_Int(10);
4448 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
4449 once_value_1
= fra
.me
.REG
[1];
4450 register_static_object(&once_value_1
);
4451 } else fra
.me
.REG
[1] = once_value_1
;
4452 fra
.me
.REG
[1] = fra
.me
.REG
[1];
4453 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
4455 /* ./compiling//compiling_icode.nit:663 */
4456 fra
.me
.REG
[1] = NEW_Writer_compiling_writer___Writer___init();
4457 /* ./compiling//compiling_icode.nit:664 */
4458 fra
.me
.REG
[0] = CALL_icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4459 fra
.me
.REG
[0] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4460 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4461 /* ./compiling//compiling_icode.nit:665 */
4462 if (!once_value_2
) {
4463 fra
.me
.REG
[0] = BOX_NativeString("(");
4465 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4466 once_value_2
= fra
.me
.REG
[0];
4467 register_static_object(&once_value_2
);
4468 } else fra
.me
.REG
[0] = once_value_2
;
4469 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4470 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4471 /* ./compiling//compiling_icode.nit:666 */
4472 if (!once_value_3
) {
4473 fra
.me
.REG
[0] = BOX_NativeString(", ");
4475 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4476 once_value_3
= fra
.me
.REG
[0];
4477 register_static_object(&once_value_3
);
4478 } else fra
.me
.REG
[0] = once_value_3
;
4479 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4480 CALL_compiling_writer___Writer___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4481 /* ./compiling//compiling_icode.nit:667 */
4482 if (!once_value_4
) {
4483 fra
.me
.REG
[0] = BOX_NativeString(")");
4485 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4486 once_value_4
= fra
.me
.REG
[0];
4487 register_static_object(&once_value_4
);
4488 } else fra
.me
.REG
[0] = once_value_4
;
4489 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4490 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4491 /* ./compiling//compiling_icode.nit:668 */
4494 stack_frame_head
= fra
.me
.prev
;
4495 return fra
.me
.REG
[1];
4497 void compiling_icode___INative___compile_to_c(val_t p0
, val_t p1
){
4498 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
4501 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4502 fra
.me
.file
= LOCATE_compiling_icode
;
4504 fra
.me
.meth
= LOCATE_compiling_icode___INative___compile_to_c
;
4505 fra
.me
.has_broke
= 0;
4506 fra
.me
.REG_size
= 3;
4507 fra
.me
.REG
[0] = NIT_NULL
;
4508 fra
.me
.REG
[1] = NIT_NULL
;
4509 fra
.me
.REG
[2] = NIT_NULL
;
4512 /* ./compiling//compiling_icode.nit:675 */
4513 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4514 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4515 /* ./compiling//compiling_icode.nit:676 */
4516 fra
.me
.REG
[2] = CALL_icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4517 REGB0
= CALL_abstractmetamodel___MMMethod___is_intern(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4518 if (UNTAG_Bool(REGB0
)) {
4519 /* ./compiling//compiling_icode.nit:677 */
4520 CALL_compiling_icode___INative___compile_intern_method_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4522 /* ./compiling//compiling_icode.nit:679 */
4523 CALL_compiling_icode___INative___compile_extern_method_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4525 stack_frame_head
= fra
.me
.prev
;
4528 void compiling_icode___INative___compile_extern_method_to_c(val_t p0
, val_t p1
){
4529 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
4536 static val_t once_value_4
; /* Once value */
4537 static val_t once_value_5
; /* Once value */
4538 static val_t once_value_6
; /* Once value */
4539 static val_t once_value_7
; /* Once value */
4540 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4541 fra
.me
.file
= LOCATE_compiling_icode
;
4543 fra
.me
.meth
= LOCATE_compiling_icode___INative___compile_extern_method_to_c
;
4544 fra
.me
.has_broke
= 0;
4545 fra
.me
.REG_size
= 8;
4546 fra
.me
.REG
[0] = NIT_NULL
;
4547 fra
.me
.REG
[1] = NIT_NULL
;
4548 fra
.me
.REG
[2] = NIT_NULL
;
4549 fra
.me
.REG
[3] = NIT_NULL
;
4550 fra
.me
.REG
[4] = NIT_NULL
;
4551 fra
.me
.REG
[5] = NIT_NULL
;
4552 fra
.me
.REG
[6] = NIT_NULL
;
4553 fra
.me
.REG
[7] = NIT_NULL
;
4556 /* ./compiling//compiling_icode.nit:685 */
4557 fra
.me
.REG
[2] = CALL_icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4558 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMMethod___extern_name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4559 REGB0
= TAG_Bool((fra
.me
.REG
[2]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[2], COLOR_String
, ID_String
)) /*cast String*/;
4560 if (UNTAG_Bool(REGB0
)) {
4562 nit_abort("Cast failed", NULL
, LOCATE_compiling_icode
, 685);
4564 /* ./compiling//compiling_icode.nit:686 */
4565 fra
.me
.REG
[3] = CALL_icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4566 fra
.me
.REG
[3] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4567 /* ./compiling//compiling_icode.nit:687 */
4568 fra
.me
.REG
[4] = CALL_icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4569 REGB0
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4570 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
4571 if (UNTAG_Bool(REGB1
)) {
4572 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 687);
4574 REGB1
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4576 /* ./../lib/standard//kernel.nit:215 */
4577 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
4578 /* ./compiling//compiling_icode.nit:687 */
4579 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB2
));
4580 if (UNTAG_Bool(REGB1
)) {
4582 /* ./../lib/standard//kernel.nit:207 */
4583 REGB2
= TAG_Bool((REGB0
)==(REGB2
));
4584 /* ./compiling//compiling_icode.nit:687 */
4587 if (UNTAG_Bool(REGB1
)) {
4589 nit_abort("Assert failed", NULL
, LOCATE_compiling_icode
, 687);
4591 /* ./compiling//compiling_icode.nit:689 */
4592 fra
.me
.REG
[4] = CALL_icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4593 fra
.me
.REG
[4] = CALL_compiling_icode___I2CCompilerVisitor___registers(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4594 /* ./compiling//compiling_icode.nit:691 */
4595 fra
.me
.REG
[5] = NEW_Array_array___Array___init();
4596 /* ./compiling//compiling_icode.nit:692 */
4597 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
4598 if (UNTAG_Bool(REGB1
)) {
4599 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 692);
4601 fra
.me
.REG
[6] = CALL_static_type___MMSignature___recv(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4603 /* ./../lib/standard//collection//array.nit:243 */
4604 fra
.me
.REG
[7] = fra
.me
.REG
[4];
4605 /* ./../lib/standard//collection//array.nit:245 */
4607 /* ./../lib/standard//kernel.nit:213 */
4608 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
4609 /* ./../lib/standard//collection//array.nit:245 */
4610 if (UNTAG_Bool(REGB2
)) {
4611 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
4612 if (UNTAG_Bool(REGB2
)) {
4614 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
4616 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
4617 /* ./../lib/standard//kernel.nit:212 */
4618 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
4620 /* ./../lib/standard//collection//array.nit:245 */
4621 REGB0
= TAG_Bool(false);
4624 if (UNTAG_Bool(REGB2
)) {
4626 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
4628 /* ./../lib/standard//collection//array.nit:246 */
4629 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
4630 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
4631 if (UNTAG_Bool(REGB2
)) {
4632 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
4634 /* ./../lib/standard//collection//array.nit:654 */
4635 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
4636 /* ./../lib/standard//collection//array.nit:246 */
4639 /* ./compiling//compiling_icode.nit:692 */
4640 fra
.me
.REG
[7] = CALL_primitive_info___MMType___unboxtype(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4641 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
4642 /* ./compiling//compiling_icode.nit:693 */
4644 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
4645 if (UNTAG_Bool(REGB2
)) {
4646 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 693);
4648 REGB2
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4649 /* ./../lib/standard//kernel.nit:332 */
4651 /* ./../lib/standard//kernel.nit:212 */
4652 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
4653 /* ./../lib/standard//kernel.nit:332 */
4654 if (UNTAG_Bool(REGB0
)) {
4655 /* ./compiling//compiling_icode.nit:693 */
4657 /* ./compiling//compiling_icode.nit:694 */
4658 REGB3
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
4659 if (UNTAG_Bool(REGB3
)) {
4660 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 694);
4662 fra
.me
.REG
[7] = CALL_static_type___MMSignature_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
4664 /* ./../lib/standard//kernel.nit:215 */
4665 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
4666 /* ./../lib/standard//collection//array.nit:243 */
4667 fra
.me
.REG
[6] = fra
.me
.REG
[4];
4668 /* ./../lib/standard//collection//array.nit:245 */
4670 /* ./../lib/standard//kernel.nit:213 */
4671 REGB0
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB0
));
4672 /* ./../lib/standard//collection//array.nit:245 */
4673 if (UNTAG_Bool(REGB0
)) {
4674 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
4675 if (UNTAG_Bool(REGB0
)) {
4677 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
4679 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[6]);
4680 /* ./../lib/standard//kernel.nit:212 */
4681 REGB0
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB0
));
4683 /* ./../lib/standard//collection//array.nit:245 */
4684 REGB4
= TAG_Bool(false);
4687 if (UNTAG_Bool(REGB0
)) {
4689 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
4691 /* ./../lib/standard//collection//array.nit:246 */
4692 fra
.me
.REG
[6] = ATTR_array___Array____items(fra
.me
.REG
[6]);
4693 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
4694 if (UNTAG_Bool(REGB0
)) {
4695 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
4697 /* ./../lib/standard//collection//array.nit:654 */
4698 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB3
)];
4699 /* ./../lib/standard//collection//array.nit:246 */
4702 /* ./compiling//compiling_icode.nit:694 */
4703 fra
.me
.REG
[6] = CALL_primitive_info___MMType___unboxtype(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
4704 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4705 /* ./../lib/standard//kernel.nit:334 */
4707 /* ./../lib/standard//kernel.nit:215 */
4708 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
4709 /* ./../lib/standard//kernel.nit:334 */
4712 /* ./../lib/standard//kernel.nit:332 */
4717 /* ./compiling//compiling_icode.nit:696 */
4719 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB1
);
4720 if (!once_value_4
) {
4721 fra
.me
.REG
[6] = BOX_NativeString("");
4723 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
4724 once_value_4
= fra
.me
.REG
[6];
4725 register_static_object(&once_value_4
);
4726 } else fra
.me
.REG
[6] = once_value_4
;
4727 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4728 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
4729 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
4730 if (!once_value_5
) {
4731 fra
.me
.REG
[2] = BOX_NativeString("(");
4733 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
4734 once_value_5
= fra
.me
.REG
[2];
4735 register_static_object(&once_value_5
);
4736 } else fra
.me
.REG
[2] = once_value_5
;
4737 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4738 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
4739 if (!once_value_6
) {
4740 fra
.me
.REG
[2] = BOX_NativeString(", ");
4742 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
4743 once_value_6
= fra
.me
.REG
[2];
4744 register_static_object(&once_value_6
);
4745 } else fra
.me
.REG
[2] = once_value_6
;
4746 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4747 fra
.me
.REG
[2] = CALL_string___Collection___join(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
4748 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
4749 if (!once_value_7
) {
4750 fra
.me
.REG
[2] = BOX_NativeString(")");
4752 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
4753 once_value_7
= fra
.me
.REG
[2];
4754 register_static_object(&once_value_7
);
4755 } else fra
.me
.REG
[2] = once_value_7
;
4756 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4757 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
4758 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4759 /* ./compiling//compiling_icode.nit:698 */
4760 REGB1
= CALL_compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4761 if (UNTAG_Bool(REGB1
)) {
4762 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
4763 if (UNTAG_Bool(REGB1
)) {
4764 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 698);
4766 fra
.me
.REG
[3] = CALL_static_type___MMSignature___return_type(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4767 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
4768 if (UNTAG_Bool(REGB1
)) {
4769 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 698);
4771 fra
.me
.REG
[3] = CALL_primitive_info___MMType___boxtype(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4772 fra
.me
.REG
[4] = fra
.me
.REG
[3];
4774 /* ./compiling//compiling_icode.nit:699 */
4775 fra
.me
.REG
[1] = CALL_compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4776 /* ./compiling//compiling_icode.nit:700 */
4777 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4778 stack_frame_head
= fra
.me
.prev
;
4781 void compiling_icode___INative___compile_intern_method_to_c(val_t p0
, val_t p1
){
4782 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
4787 static val_t once_value_1
; /* Once value */
4788 static val_t once_value_2
; /* Once value */
4789 static val_t once_value_3
; /* Once value */
4790 static val_t once_value_4
; /* Once value */
4791 static val_t once_value_6
; /* Once value */
4792 static val_t once_value_7
; /* Once value */
4793 static val_t once_value_8
; /* Once value */
4794 static val_t once_value_10
; /* Once value */
4795 static val_t once_value_11
; /* Once value */
4796 static val_t once_value_12
; /* Once value */
4797 static val_t once_value_13
; /* Once value */
4798 static val_t once_value_15
; /* Once value */
4799 static val_t once_value_16
; /* Once value */
4800 static val_t once_value_17
; /* Once value */
4801 static val_t once_value_18
; /* Once value */
4802 static val_t once_value_20
; /* Once value */
4803 static val_t once_value_21
; /* Once value */
4804 static val_t once_value_22
; /* Once value */
4805 static val_t once_value_23
; /* Once value */
4806 static val_t once_value_25
; /* Once value */
4807 static val_t once_value_26
; /* Once value */
4808 static val_t once_value_27
; /* Once value */
4809 static val_t once_value_28
; /* Once value */
4810 static val_t once_value_30
; /* Once value */
4811 static val_t once_value_31
; /* Once value */
4812 static val_t once_value_32
; /* Once value */
4813 static val_t once_value_33
; /* Once value */
4814 static val_t once_value_35
; /* Once value */
4815 static val_t once_value_36
; /* Once value */
4816 static val_t once_value_37
; /* Once value */
4817 static val_t once_value_38
; /* Once value */
4818 static val_t once_value_40
; /* Once value */
4819 static val_t once_value_42
; /* Once value */
4820 static val_t once_value_43
; /* Once value */
4821 static val_t once_value_44
; /* Once value */
4822 static val_t once_value_45
; /* Once value */
4823 static val_t once_value_47
; /* Once value */
4824 static val_t once_value_49
; /* Once value */
4825 static val_t once_value_50
; /* Once value */
4826 static val_t once_value_51
; /* Once value */
4827 static val_t once_value_52
; /* Once value */
4828 static val_t once_value_54
; /* Once value */
4829 static val_t once_value_56
; /* Once value */
4830 static val_t once_value_57
; /* Once value */
4831 static val_t once_value_58
; /* Once value */
4832 static val_t once_value_59
; /* Once value */
4833 static val_t once_value_61
; /* Once value */
4834 static val_t once_value_63
; /* Once value */
4835 static val_t once_value_64
; /* Once value */
4836 static val_t once_value_65
; /* Once value */
4837 static val_t once_value_66
; /* Once value */
4838 static val_t once_value_68
; /* Once value */
4839 static val_t once_value_70
; /* Once value */
4840 static val_t once_value_71
; /* Once value */
4841 static val_t once_value_72
; /* Once value */
4842 static val_t once_value_73
; /* Once value */
4843 static val_t once_value_75
; /* Once value */
4844 static val_t once_value_77
; /* Once value */
4845 static val_t once_value_78
; /* Once value */
4846 static val_t once_value_79
; /* Once value */
4847 static val_t once_value_80
; /* Once value */
4848 static val_t once_value_82
; /* Once value */
4849 static val_t once_value_84
; /* Once value */
4850 static val_t once_value_85
; /* Once value */
4851 static val_t once_value_86
; /* Once value */
4852 static val_t once_value_87
; /* Once value */
4853 static val_t once_value_89
; /* Once value */
4854 static val_t once_value_91
; /* Once value */
4855 static val_t once_value_92
; /* Once value */
4856 static val_t once_value_93
; /* Once value */
4857 static val_t once_value_94
; /* Once value */
4858 static val_t once_value_96
; /* Once value */
4859 static val_t once_value_98
; /* Once value */
4860 static val_t once_value_99
; /* Once value */
4861 static val_t once_value_100
; /* Once value */
4862 static val_t once_value_101
; /* Once value */
4863 static val_t once_value_103
; /* Once value */
4864 static val_t once_value_105
; /* Once value */
4865 static val_t once_value_106
; /* Once value */
4866 static val_t once_value_107
; /* Once value */
4867 static val_t once_value_108
; /* Once value */
4868 static val_t once_value_110
; /* Once value */
4869 static val_t once_value_112
; /* Once value */
4870 static val_t once_value_113
; /* Once value */
4871 static val_t once_value_114
; /* Once value */
4872 static val_t once_value_115
; /* Once value */
4873 static val_t once_value_117
; /* Once value */
4874 static val_t once_value_119
; /* Once value */
4875 static val_t once_value_120
; /* Once value */
4876 static val_t once_value_121
; /* Once value */
4877 static val_t once_value_122
; /* Once value */
4878 static val_t once_value_124
; /* Once value */
4879 static val_t once_value_126
; /* Once value */
4880 static val_t once_value_127
; /* Once value */
4881 static val_t once_value_128
; /* Once value */
4882 static val_t once_value_129
; /* Once value */
4883 static val_t once_value_130
; /* Once value */
4884 static val_t once_value_131
; /* Once value */
4885 static val_t once_value_133
; /* Once value */
4886 static val_t once_value_134
; /* Once value */
4887 static val_t once_value_135
; /* Once value */
4888 static val_t once_value_136
; /* Once value */
4889 static val_t once_value_138
; /* Once value */
4890 static val_t once_value_139
; /* Once value */
4891 static val_t once_value_140
; /* Once value */
4892 static val_t once_value_141
; /* Once value */
4893 static val_t once_value_143
; /* Once value */
4894 static val_t once_value_144
; /* Once value */
4895 static val_t once_value_145
; /* Once value */
4896 static val_t once_value_146
; /* Once value */
4897 static val_t once_value_148
; /* Once value */
4898 static val_t once_value_149
; /* Once value */
4899 static val_t once_value_150
; /* Once value */
4900 static val_t once_value_151
; /* Once value */
4901 static val_t once_value_153
; /* Once value */
4902 static val_t once_value_155
; /* Once value */
4903 static val_t once_value_156
; /* Once value */
4904 static val_t once_value_157
; /* Once value */
4905 static val_t once_value_158
; /* Once value */
4906 static val_t once_value_160
; /* Once value */
4907 static val_t once_value_162
; /* Once value */
4908 static val_t once_value_163
; /* Once value */
4909 static val_t once_value_164
; /* Once value */
4910 static val_t once_value_165
; /* Once value */
4911 static val_t once_value_167
; /* Once value */
4912 static val_t once_value_169
; /* Once value */
4913 static val_t once_value_170
; /* Once value */
4914 static val_t once_value_171
; /* Once value */
4915 static val_t once_value_172
; /* Once value */
4916 static val_t once_value_174
; /* Once value */
4917 static val_t once_value_176
; /* Once value */
4918 static val_t once_value_177
; /* Once value */
4919 static val_t once_value_178
; /* Once value */
4920 static val_t once_value_179
; /* Once value */
4921 static val_t once_value_181
; /* Once value */
4922 static val_t once_value_183
; /* Once value */
4923 static val_t once_value_184
; /* Once value */
4924 static val_t once_value_185
; /* Once value */
4925 static val_t once_value_186
; /* Once value */
4926 static val_t once_value_188
; /* Once value */
4927 static val_t once_value_190
; /* Once value */
4928 static val_t once_value_191
; /* Once value */
4929 static val_t once_value_192
; /* Once value */
4930 static val_t once_value_193
; /* Once value */
4931 static val_t once_value_195
; /* Once value */
4932 static val_t once_value_197
; /* Once value */
4933 static val_t once_value_198
; /* Once value */
4934 static val_t once_value_199
; /* Once value */
4935 static val_t once_value_200
; /* Once value */
4936 static val_t once_value_202
; /* Once value */
4937 static val_t once_value_204
; /* Once value */
4938 static val_t once_value_205
; /* Once value */
4939 static val_t once_value_206
; /* Once value */
4940 static val_t once_value_207
; /* Once value */
4941 static val_t once_value_208
; /* Once value */
4942 static val_t once_value_209
; /* Once value */
4943 static val_t once_value_211
; /* Once value */
4944 static val_t once_value_212
; /* Once value */
4945 static val_t once_value_213
; /* Once value */
4946 static val_t once_value_214
; /* Once value */
4947 static val_t once_value_216
; /* Once value */
4948 static val_t once_value_217
; /* Once value */
4949 static val_t once_value_218
; /* Once value */
4950 static val_t once_value_219
; /* Once value */
4951 static val_t once_value_221
; /* Once value */
4952 static val_t once_value_222
; /* Once value */
4953 static val_t once_value_223
; /* Once value */
4954 static val_t once_value_224
; /* Once value */
4955 static val_t once_value_226
; /* Once value */
4956 static val_t once_value_227
; /* Once value */
4957 static val_t once_value_228
; /* Once value */
4958 static val_t once_value_229
; /* Once value */
4959 static val_t once_value_231
; /* Once value */
4960 static val_t once_value_232
; /* Once value */
4961 static val_t once_value_233
; /* Once value */
4962 static val_t once_value_234
; /* Once value */
4963 static val_t once_value_236
; /* Once value */
4964 static val_t once_value_237
; /* Once value */
4965 static val_t once_value_238
; /* Once value */
4966 static val_t once_value_239
; /* Once value */
4967 static val_t once_value_241
; /* Once value */
4968 static val_t once_value_242
; /* Once value */
4969 static val_t once_value_243
; /* Once value */
4970 static val_t once_value_244
; /* Once value */
4971 static val_t once_value_246
; /* Once value */
4972 static val_t once_value_248
; /* Once value */
4973 static val_t once_value_249
; /* Once value */
4974 static val_t once_value_250
; /* Once value */
4975 static val_t once_value_251
; /* Once value */
4976 static val_t once_value_253
; /* Once value */
4977 static val_t once_value_255
; /* Once value */
4978 static val_t once_value_256
; /* Once value */
4979 static val_t once_value_257
; /* Once value */
4980 static val_t once_value_258
; /* Once value */
4981 static val_t once_value_260
; /* Once value */
4982 static val_t once_value_262
; /* Once value */
4983 static val_t once_value_263
; /* Once value */
4984 static val_t once_value_264
; /* Once value */
4985 static val_t once_value_265
; /* Once value */
4986 static val_t once_value_267
; /* Once value */
4987 static val_t once_value_269
; /* Once value */
4988 static val_t once_value_270
; /* Once value */
4989 static val_t once_value_271
; /* Once value */
4990 static val_t once_value_272
; /* Once value */
4991 static val_t once_value_274
; /* Once value */
4992 static val_t once_value_276
; /* Once value */
4993 static val_t once_value_277
; /* Once value */
4994 static val_t once_value_278
; /* Once value */
4995 static val_t once_value_279
; /* Once value */
4996 static val_t once_value_281
; /* Once value */
4997 static val_t once_value_283
; /* Once value */
4998 static val_t once_value_284
; /* Once value */
4999 static val_t once_value_285
; /* Once value */
5000 static val_t once_value_286
; /* Once value */
5001 static val_t once_value_288
; /* Once value */
5002 static val_t once_value_290
; /* Once value */
5003 static val_t once_value_291
; /* Once value */
5004 static val_t once_value_292
; /* Once value */
5005 static val_t once_value_293
; /* Once value */
5006 static val_t once_value_295
; /* Once value */
5007 static val_t once_value_297
; /* Once value */
5008 static val_t once_value_298
; /* Once value */
5009 static val_t once_value_299
; /* Once value */
5010 static val_t once_value_300
; /* Once value */
5011 static val_t once_value_302
; /* Once value */
5012 static val_t once_value_304
; /* Once value */
5013 static val_t once_value_305
; /* Once value */
5014 static val_t once_value_306
; /* Once value */
5015 static val_t once_value_307
; /* Once value */
5016 static val_t once_value_309
; /* Once value */
5017 static val_t once_value_311
; /* Once value */
5018 static val_t once_value_312
; /* Once value */
5019 static val_t once_value_313
; /* Once value */
5020 static val_t once_value_314
; /* Once value */
5021 static val_t once_value_316
; /* Once value */
5022 static val_t once_value_318
; /* Once value */
5023 static val_t once_value_319
; /* Once value */
5024 static val_t once_value_320
; /* Once value */
5025 static val_t once_value_321
; /* Once value */
5026 static val_t once_value_322
; /* Once value */
5027 static val_t once_value_323
; /* Once value */
5028 static val_t once_value_325
; /* Once value */
5029 static val_t once_value_326
; /* Once value */
5030 static val_t once_value_327
; /* Once value */
5031 static val_t once_value_328
; /* Once value */
5032 static val_t once_value_330
; /* Once value */
5033 static val_t once_value_331
; /* Once value */
5034 static val_t once_value_332
; /* Once value */
5035 static val_t once_value_333
; /* Once value */
5036 static val_t once_value_335
; /* Once value */
5037 static val_t once_value_336
; /* Once value */
5038 static val_t once_value_337
; /* Once value */
5039 static val_t once_value_338
; /* Once value */
5040 static val_t once_value_340
; /* Once value */
5041 static val_t once_value_341
; /* Once value */
5042 static val_t once_value_342
; /* Once value */
5043 static val_t once_value_343
; /* Once value */
5044 static val_t once_value_345
; /* Once value */
5045 static val_t once_value_346
; /* Once value */
5046 static val_t once_value_347
; /* Once value */
5047 static val_t once_value_348
; /* Once value */
5048 static val_t once_value_350
; /* Once value */
5049 static val_t once_value_352
; /* Once value */
5050 static val_t once_value_353
; /* Once value */
5051 static val_t once_value_354
; /* Once value */
5052 static val_t once_value_355
; /* Once value */
5053 static val_t once_value_357
; /* Once value */
5054 static val_t once_value_359
; /* Once value */
5055 static val_t once_value_360
; /* Once value */
5056 static val_t once_value_361
; /* Once value */
5057 static val_t once_value_362
; /* Once value */
5058 static val_t once_value_363
; /* Once value */
5059 static val_t once_value_364
; /* Once value */
5060 static val_t once_value_366
; /* Once value */
5061 static val_t once_value_367
; /* Once value */
5062 static val_t once_value_368
; /* Once value */
5063 static val_t once_value_369
; /* Once value */
5064 static val_t once_value_371
; /* Once value */
5065 static val_t once_value_373
; /* Once value */
5066 static val_t once_value_374
; /* Once value */
5067 static val_t once_value_375
; /* Once value */
5068 static val_t once_value_376
; /* Once value */
5069 static val_t once_value_378
; /* Once value */
5070 static val_t once_value_380
; /* Once value */
5071 static val_t once_value_382
; /* Once value */
5072 static val_t once_value_383
; /* Once value */
5073 static val_t once_value_384
; /* Once value */
5074 static val_t once_value_385
; /* Once value */
5075 static val_t once_value_387
; /* Once value */
5076 static val_t once_value_389
; /* Once value */
5077 static val_t once_value_391
; /* Once value */
5078 static val_t once_value_392
; /* Once value */
5079 static val_t once_value_393
; /* Once value */
5080 static val_t once_value_394
; /* Once value */
5081 static val_t once_value_395
; /* Once value */
5082 static val_t once_value_396
; /* Once value */
5083 static val_t once_value_398
; /* Once value */
5084 static val_t once_value_399
; /* Once value */
5085 static val_t once_value_400
; /* Once value */
5086 static val_t once_value_401
; /* Once value */
5087 static val_t once_value_403
; /* Once value */
5088 static val_t once_value_404
; /* Once value */
5089 static val_t once_value_405
; /* Once value */
5090 static val_t once_value_406
; /* Once value */
5091 static val_t once_value_408
; /* Once value */
5092 static val_t once_value_410
; /* Once value */
5093 static val_t once_value_411
; /* Once value */
5094 static val_t once_value_412
; /* Once value */
5095 static val_t once_value_413
; /* Once value */
5096 static val_t once_value_415
; /* Once value */
5097 static val_t once_value_417
; /* Once value */
5098 static val_t once_value_419
; /* Once value */
5099 static val_t once_value_420
; /* Once value */
5100 static val_t once_value_421
; /* Once value */
5101 static val_t once_value_422
; /* Once value */
5102 static val_t once_value_424
; /* Once value */
5103 static val_t once_value_426
; /* Once value */
5104 static val_t once_value_428
; /* Once value */
5105 static val_t once_value_430
; /* Once value */
5106 static val_t once_value_432
; /* Once value */
5107 static val_t once_value_433
; /* Once value */
5108 static val_t once_value_434
; /* Once value */
5109 static val_t once_value_435
; /* Once value */
5110 static val_t once_value_437
; /* Once value */
5111 static val_t once_value_438
; /* Once value */
5112 static val_t once_value_439
; /* Once value */
5113 static val_t once_value_440
; /* Once value */
5114 static val_t once_value_441
; /* Once value */
5115 static val_t once_value_442
; /* Once value */
5116 static val_t once_value_443
; /* Once value */
5117 static val_t once_value_445
; /* Once value */
5118 static val_t once_value_447
; /* Once value */
5119 static val_t once_value_448
; /* Once value */
5120 static val_t once_value_449
; /* Once value */
5121 static val_t once_value_450
; /* Once value */
5122 static val_t once_value_452
; /* Once value */
5123 static val_t once_value_453
; /* Once value */
5124 static val_t once_value_454
; /* Once value */
5125 static val_t once_value_455
; /* Once value */
5126 static val_t once_value_457
; /* Once value */
5127 static val_t once_value_458
; /* Once value */
5128 static val_t once_value_459
; /* Once value */
5129 static val_t once_value_460
; /* Once value */
5130 static val_t once_value_462
; /* Once value */
5131 static val_t once_value_463
; /* Once value */
5132 static val_t once_value_464
; /* Once value */
5133 static val_t once_value_465
; /* Once value */
5134 static val_t once_value_466
; /* Once value */
5135 static val_t once_value_467
; /* Once value */
5136 static val_t once_value_468
; /* Once value */
5137 static val_t once_value_469
; /* Once value */
5138 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5139 fra
.me
.file
= LOCATE_compiling_icode
;
5141 fra
.me
.meth
= LOCATE_compiling_icode___INative___compile_intern_method_to_c
;
5142 fra
.me
.has_broke
= 0;
5143 fra
.me
.REG_size
= 8;
5144 fra
.me
.REG
[0] = NIT_NULL
;
5145 fra
.me
.REG
[1] = NIT_NULL
;
5146 fra
.me
.REG
[2] = NIT_NULL
;
5147 fra
.me
.REG
[3] = NIT_NULL
;
5148 fra
.me
.REG
[4] = NIT_NULL
;
5149 fra
.me
.REG
[5] = NIT_NULL
;
5150 fra
.me
.REG
[6] = NIT_NULL
;
5151 fra
.me
.REG
[7] = NIT_NULL
;
5154 /* ./compiling//compiling_icode.nit:705 */
5155 fra
.me
.REG
[2] = CALL_icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5156 fra
.me
.REG
[2] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5157 /* ./compiling//compiling_icode.nit:706 */
5158 fra
.me
.REG
[3] = CALL_icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5159 REGB0
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5160 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5161 if (UNTAG_Bool(REGB1
)) {
5162 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 706);
5164 REGB1
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5166 /* ./../lib/standard//kernel.nit:215 */
5167 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
5168 /* ./compiling//compiling_icode.nit:706 */
5169 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB2
));
5170 if (UNTAG_Bool(REGB1
)) {
5172 /* ./../lib/standard//kernel.nit:207 */
5173 REGB2
= TAG_Bool((REGB0
)==(REGB2
));
5174 /* ./compiling//compiling_icode.nit:706 */
5177 if (UNTAG_Bool(REGB1
)) {
5179 nit_abort("Assert failed", NULL
, LOCATE_compiling_icode
, 706);
5181 /* ./compiling//compiling_icode.nit:707 */
5182 fra
.me
.REG
[2] = CALL_icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5183 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5184 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5185 /* ./compiling//compiling_icode.nit:708 */
5186 fra
.me
.REG
[3] = CALL_icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5187 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5188 /* ./compiling//compiling_icode.nit:709 */
5189 fra
.me
.REG
[4] = CALL_icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5190 fra
.me
.REG
[4] = CALL_compiling_icode___I2CCompilerVisitor___registers(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
5191 /* ./compiling//compiling_icode.nit:710 */
5192 fra
.me
.REG
[5] = NIT_NULL
;
5193 /* ./compiling//compiling_icode.nit:711 */
5194 if (!once_value_1
) {
5195 if (!once_value_2
) {
5196 fra
.me
.REG
[6] = BOX_NativeString("Int");
5198 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
5199 once_value_2
= fra
.me
.REG
[6];
5200 register_static_object(&once_value_2
);
5201 } else fra
.me
.REG
[6] = once_value_2
;
5202 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5203 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5204 once_value_1
= fra
.me
.REG
[6];
5205 register_static_object(&once_value_1
);
5206 } else fra
.me
.REG
[6] = once_value_1
;
5207 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5208 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
5209 if (UNTAG_Bool(REGB1
)) {
5211 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
5214 if (UNTAG_Bool(REGB1
)) {
5215 /* ./compiling//compiling_icode.nit:712 */
5216 if (!once_value_3
) {
5217 if (!once_value_4
) {
5218 fra
.me
.REG
[6] = BOX_NativeString("object_id");
5220 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
5221 once_value_4
= fra
.me
.REG
[6];
5222 register_static_object(&once_value_4
);
5223 } else fra
.me
.REG
[6] = once_value_4
;
5224 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5225 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5226 once_value_3
= fra
.me
.REG
[6];
5227 register_static_object(&once_value_3
);
5228 } else fra
.me
.REG
[6] = once_value_3
;
5229 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5230 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5231 if (UNTAG_Bool(REGB1
)) {
5233 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5236 if (UNTAG_Bool(REGB1
)) {
5237 /* ./compiling//compiling_icode.nit:713 */
5239 /* ./../lib/standard//collection//array.nit:243 */
5240 fra
.me
.REG
[6] = fra
.me
.REG
[4];
5241 /* ./../lib/standard//collection//array.nit:245 */
5243 /* ./../lib/standard//kernel.nit:213 */
5244 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5245 /* ./../lib/standard//collection//array.nit:245 */
5246 if (UNTAG_Bool(REGB2
)) {
5247 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
5248 if (UNTAG_Bool(REGB2
)) {
5250 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
5252 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[6]);
5253 /* ./../lib/standard//kernel.nit:212 */
5254 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5256 /* ./../lib/standard//collection//array.nit:245 */
5257 REGB0
= TAG_Bool(false);
5260 if (UNTAG_Bool(REGB2
)) {
5262 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
5264 /* ./../lib/standard//collection//array.nit:246 */
5265 fra
.me
.REG
[6] = ATTR_array___Array____items(fra
.me
.REG
[6]);
5266 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
5267 if (UNTAG_Bool(REGB2
)) {
5268 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
5270 /* ./../lib/standard//collection//array.nit:654 */
5271 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB1
)];
5272 /* ./../lib/standard//collection//array.nit:246 */
5275 /* ./compiling//compiling_icode.nit:713 */
5276 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5278 /* ./compiling//compiling_icode.nit:714 */
5279 if (!once_value_6
) {
5280 if (!once_value_7
) {
5281 fra
.me
.REG
[6] = BOX_NativeString("unary -");
5283 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
5284 once_value_7
= fra
.me
.REG
[6];
5285 register_static_object(&once_value_7
);
5286 } else fra
.me
.REG
[6] = once_value_7
;
5287 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5288 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5289 once_value_6
= fra
.me
.REG
[6];
5290 register_static_object(&once_value_6
);
5291 } else fra
.me
.REG
[6] = once_value_6
;
5292 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5293 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5294 if (UNTAG_Bool(REGB1
)) {
5296 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5299 if (UNTAG_Bool(REGB1
)) {
5300 /* ./compiling//compiling_icode.nit:715 */
5302 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
5303 if (!once_value_8
) {
5304 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(-UNTAG_Int(");
5305 REGB1
= TAG_Int(19);
5306 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
5307 once_value_8
= fra
.me
.REG
[7];
5308 register_static_object(&once_value_8
);
5309 } else fra
.me
.REG
[7] = once_value_8
;
5310 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5311 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5313 /* ./../lib/standard//collection//array.nit:243 */
5314 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5315 /* ./../lib/standard//collection//array.nit:245 */
5317 /* ./../lib/standard//kernel.nit:213 */
5318 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5319 /* ./../lib/standard//collection//array.nit:245 */
5320 if (UNTAG_Bool(REGB2
)) {
5321 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5322 if (UNTAG_Bool(REGB2
)) {
5324 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
5326 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5327 /* ./../lib/standard//kernel.nit:212 */
5328 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5330 /* ./../lib/standard//collection//array.nit:245 */
5331 REGB0
= TAG_Bool(false);
5334 if (UNTAG_Bool(REGB2
)) {
5336 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
5338 /* ./../lib/standard//collection//array.nit:246 */
5339 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
5340 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5341 if (UNTAG_Bool(REGB2
)) {
5342 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
5344 /* ./../lib/standard//collection//array.nit:654 */
5345 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5346 /* ./../lib/standard//collection//array.nit:246 */
5349 /* ./compiling//compiling_icode.nit:715 */
5350 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5351 if (!once_value_10
) {
5352 fra
.me
.REG
[7] = BOX_NativeString("))");
5354 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
5355 once_value_10
= fra
.me
.REG
[7];
5356 register_static_object(&once_value_10
);
5357 } else fra
.me
.REG
[7] = once_value_10
;
5358 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5359 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5360 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5361 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5363 /* ./compiling//compiling_icode.nit:716 */
5364 if (!once_value_11
) {
5365 if (!once_value_12
) {
5366 fra
.me
.REG
[6] = BOX_NativeString("output");
5368 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
5369 once_value_12
= fra
.me
.REG
[6];
5370 register_static_object(&once_value_12
);
5371 } else fra
.me
.REG
[6] = once_value_12
;
5372 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5373 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5374 once_value_11
= fra
.me
.REG
[6];
5375 register_static_object(&once_value_11
);
5376 } else fra
.me
.REG
[6] = once_value_11
;
5377 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5378 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5379 if (UNTAG_Bool(REGB1
)) {
5381 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5384 if (UNTAG_Bool(REGB1
)) {
5385 /* ./compiling//compiling_icode.nit:717 */
5387 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
5388 if (!once_value_13
) {
5389 fra
.me
.REG
[7] = BOX_NativeString("printf(\"%ld\\n\", UNTAG_Int(");
5390 REGB1
= TAG_Int(26);
5391 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
5392 once_value_13
= fra
.me
.REG
[7];
5393 register_static_object(&once_value_13
);
5394 } else fra
.me
.REG
[7] = once_value_13
;
5395 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5396 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5398 /* ./../lib/standard//collection//array.nit:243 */
5399 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5400 /* ./../lib/standard//collection//array.nit:245 */
5402 /* ./../lib/standard//kernel.nit:213 */
5403 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5404 /* ./../lib/standard//collection//array.nit:245 */
5405 if (UNTAG_Bool(REGB2
)) {
5406 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5407 if (UNTAG_Bool(REGB2
)) {
5409 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
5411 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5412 /* ./../lib/standard//kernel.nit:212 */
5413 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5415 /* ./../lib/standard//collection//array.nit:245 */
5416 REGB0
= TAG_Bool(false);
5419 if (UNTAG_Bool(REGB2
)) {
5421 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
5423 /* ./../lib/standard//collection//array.nit:246 */
5424 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
5425 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5426 if (UNTAG_Bool(REGB2
)) {
5427 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
5429 /* ./../lib/standard//collection//array.nit:654 */
5430 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5431 /* ./../lib/standard//collection//array.nit:246 */
5434 /* ./compiling//compiling_icode.nit:717 */
5435 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5436 if (!once_value_15
) {
5437 fra
.me
.REG
[7] = BOX_NativeString("));");
5439 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
5440 once_value_15
= fra
.me
.REG
[7];
5441 register_static_object(&once_value_15
);
5442 } else fra
.me
.REG
[7] = once_value_15
;
5443 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5444 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5445 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5446 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5448 /* ./compiling//compiling_icode.nit:718 */
5449 if (!once_value_16
) {
5450 if (!once_value_17
) {
5451 fra
.me
.REG
[6] = BOX_NativeString("ascii");
5453 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
5454 once_value_17
= fra
.me
.REG
[6];
5455 register_static_object(&once_value_17
);
5456 } else fra
.me
.REG
[6] = once_value_17
;
5457 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5458 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5459 once_value_16
= fra
.me
.REG
[6];
5460 register_static_object(&once_value_16
);
5461 } else fra
.me
.REG
[6] = once_value_16
;
5462 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5463 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5464 if (UNTAG_Bool(REGB1
)) {
5466 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5469 if (UNTAG_Bool(REGB1
)) {
5470 /* ./compiling//compiling_icode.nit:719 */
5472 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
5473 if (!once_value_18
) {
5474 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Int(");
5475 REGB1
= TAG_Int(19);
5476 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
5477 once_value_18
= fra
.me
.REG
[7];
5478 register_static_object(&once_value_18
);
5479 } else fra
.me
.REG
[7] = once_value_18
;
5480 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5481 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5483 /* ./../lib/standard//collection//array.nit:243 */
5484 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5485 /* ./../lib/standard//collection//array.nit:245 */
5487 /* ./../lib/standard//kernel.nit:213 */
5488 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5489 /* ./../lib/standard//collection//array.nit:245 */
5490 if (UNTAG_Bool(REGB2
)) {
5491 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5492 if (UNTAG_Bool(REGB2
)) {
5494 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
5496 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5497 /* ./../lib/standard//kernel.nit:212 */
5498 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5500 /* ./../lib/standard//collection//array.nit:245 */
5501 REGB0
= TAG_Bool(false);
5504 if (UNTAG_Bool(REGB2
)) {
5506 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
5508 /* ./../lib/standard//collection//array.nit:246 */
5509 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
5510 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5511 if (UNTAG_Bool(REGB2
)) {
5512 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
5514 /* ./../lib/standard//collection//array.nit:654 */
5515 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5516 /* ./../lib/standard//collection//array.nit:246 */
5519 /* ./compiling//compiling_icode.nit:719 */
5520 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5521 if (!once_value_20
) {
5522 fra
.me
.REG
[7] = BOX_NativeString("))");
5524 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
5525 once_value_20
= fra
.me
.REG
[7];
5526 register_static_object(&once_value_20
);
5527 } else fra
.me
.REG
[7] = once_value_20
;
5528 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5529 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5530 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5531 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5533 /* ./compiling//compiling_icode.nit:720 */
5534 if (!once_value_21
) {
5535 if (!once_value_22
) {
5536 fra
.me
.REG
[6] = BOX_NativeString("succ");
5538 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
5539 once_value_22
= fra
.me
.REG
[6];
5540 register_static_object(&once_value_22
);
5541 } else fra
.me
.REG
[6] = once_value_22
;
5542 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5543 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5544 once_value_21
= fra
.me
.REG
[6];
5545 register_static_object(&once_value_21
);
5546 } else fra
.me
.REG
[6] = once_value_21
;
5547 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5548 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5549 if (UNTAG_Bool(REGB1
)) {
5551 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5554 if (UNTAG_Bool(REGB1
)) {
5555 /* ./compiling//compiling_icode.nit:721 */
5557 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
5558 if (!once_value_23
) {
5559 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
5560 REGB1
= TAG_Int(18);
5561 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
5562 once_value_23
= fra
.me
.REG
[7];
5563 register_static_object(&once_value_23
);
5564 } else fra
.me
.REG
[7] = once_value_23
;
5565 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5566 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5568 /* ./../lib/standard//collection//array.nit:243 */
5569 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5570 /* ./../lib/standard//collection//array.nit:245 */
5572 /* ./../lib/standard//kernel.nit:213 */
5573 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5574 /* ./../lib/standard//collection//array.nit:245 */
5575 if (UNTAG_Bool(REGB2
)) {
5576 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5577 if (UNTAG_Bool(REGB2
)) {
5579 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
5581 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5582 /* ./../lib/standard//kernel.nit:212 */
5583 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5585 /* ./../lib/standard//collection//array.nit:245 */
5586 REGB0
= TAG_Bool(false);
5589 if (UNTAG_Bool(REGB2
)) {
5591 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
5593 /* ./../lib/standard//collection//array.nit:246 */
5594 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
5595 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5596 if (UNTAG_Bool(REGB2
)) {
5597 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
5599 /* ./../lib/standard//collection//array.nit:654 */
5600 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5601 /* ./../lib/standard//collection//array.nit:246 */
5604 /* ./compiling//compiling_icode.nit:721 */
5605 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5606 if (!once_value_25
) {
5607 fra
.me
.REG
[7] = BOX_NativeString(")+1)");
5609 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
5610 once_value_25
= fra
.me
.REG
[7];
5611 register_static_object(&once_value_25
);
5612 } else fra
.me
.REG
[7] = once_value_25
;
5613 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5614 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5615 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5616 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5618 /* ./compiling//compiling_icode.nit:722 */
5619 if (!once_value_26
) {
5620 if (!once_value_27
) {
5621 fra
.me
.REG
[6] = BOX_NativeString("prec");
5623 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
5624 once_value_27
= fra
.me
.REG
[6];
5625 register_static_object(&once_value_27
);
5626 } else fra
.me
.REG
[6] = once_value_27
;
5627 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5628 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5629 once_value_26
= fra
.me
.REG
[6];
5630 register_static_object(&once_value_26
);
5631 } else fra
.me
.REG
[6] = once_value_26
;
5632 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5633 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5634 if (UNTAG_Bool(REGB1
)) {
5636 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5639 if (UNTAG_Bool(REGB1
)) {
5640 /* ./compiling//compiling_icode.nit:723 */
5642 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
5643 if (!once_value_28
) {
5644 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
5645 REGB1
= TAG_Int(18);
5646 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
5647 once_value_28
= fra
.me
.REG
[7];
5648 register_static_object(&once_value_28
);
5649 } else fra
.me
.REG
[7] = once_value_28
;
5650 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5651 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5653 /* ./../lib/standard//collection//array.nit:243 */
5654 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5655 /* ./../lib/standard//collection//array.nit:245 */
5657 /* ./../lib/standard//kernel.nit:213 */
5658 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5659 /* ./../lib/standard//collection//array.nit:245 */
5660 if (UNTAG_Bool(REGB2
)) {
5661 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5662 if (UNTAG_Bool(REGB2
)) {
5664 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
5666 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5667 /* ./../lib/standard//kernel.nit:212 */
5668 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5670 /* ./../lib/standard//collection//array.nit:245 */
5671 REGB0
= TAG_Bool(false);
5674 if (UNTAG_Bool(REGB2
)) {
5676 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
5678 /* ./../lib/standard//collection//array.nit:246 */
5679 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
5680 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5681 if (UNTAG_Bool(REGB2
)) {
5682 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
5684 /* ./../lib/standard//collection//array.nit:654 */
5685 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5686 /* ./../lib/standard//collection//array.nit:246 */
5689 /* ./compiling//compiling_icode.nit:723 */
5690 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5691 if (!once_value_30
) {
5692 fra
.me
.REG
[7] = BOX_NativeString(")-1)");
5694 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
5695 once_value_30
= fra
.me
.REG
[7];
5696 register_static_object(&once_value_30
);
5697 } else fra
.me
.REG
[7] = once_value_30
;
5698 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5699 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5700 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5701 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5703 /* ./compiling//compiling_icode.nit:724 */
5704 if (!once_value_31
) {
5705 if (!once_value_32
) {
5706 fra
.me
.REG
[6] = BOX_NativeString("to_f");
5708 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
5709 once_value_32
= fra
.me
.REG
[6];
5710 register_static_object(&once_value_32
);
5711 } else fra
.me
.REG
[6] = once_value_32
;
5712 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5713 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5714 once_value_31
= fra
.me
.REG
[6];
5715 register_static_object(&once_value_31
);
5716 } else fra
.me
.REG
[6] = once_value_31
;
5717 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5718 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5719 if (UNTAG_Bool(REGB1
)) {
5721 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5724 if (UNTAG_Bool(REGB1
)) {
5725 /* ./compiling//compiling_icode.nit:725 */
5727 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
5728 if (!once_value_33
) {
5729 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float((float)UNTAG_Int(");
5730 REGB1
= TAG_Int(27);
5731 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
5732 once_value_33
= fra
.me
.REG
[7];
5733 register_static_object(&once_value_33
);
5734 } else fra
.me
.REG
[7] = once_value_33
;
5735 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5736 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5738 /* ./../lib/standard//collection//array.nit:243 */
5739 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5740 /* ./../lib/standard//collection//array.nit:245 */
5742 /* ./../lib/standard//kernel.nit:213 */
5743 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5744 /* ./../lib/standard//collection//array.nit:245 */
5745 if (UNTAG_Bool(REGB2
)) {
5746 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5747 if (UNTAG_Bool(REGB2
)) {
5749 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
5751 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5752 /* ./../lib/standard//kernel.nit:212 */
5753 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5755 /* ./../lib/standard//collection//array.nit:245 */
5756 REGB0
= TAG_Bool(false);
5759 if (UNTAG_Bool(REGB2
)) {
5761 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
5763 /* ./../lib/standard//collection//array.nit:246 */
5764 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
5765 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5766 if (UNTAG_Bool(REGB2
)) {
5767 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
5769 /* ./../lib/standard//collection//array.nit:654 */
5770 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5771 /* ./../lib/standard//collection//array.nit:246 */
5774 /* ./compiling//compiling_icode.nit:725 */
5775 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5776 if (!once_value_35
) {
5777 fra
.me
.REG
[7] = BOX_NativeString("))");
5779 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
5780 once_value_35
= fra
.me
.REG
[7];
5781 register_static_object(&once_value_35
);
5782 } else fra
.me
.REG
[7] = once_value_35
;
5783 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5784 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5785 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5786 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5788 /* ./compiling//compiling_icode.nit:726 */
5789 if (!once_value_36
) {
5790 if (!once_value_37
) {
5791 fra
.me
.REG
[6] = BOX_NativeString("+");
5793 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
5794 once_value_37
= fra
.me
.REG
[6];
5795 register_static_object(&once_value_37
);
5796 } else fra
.me
.REG
[6] = once_value_37
;
5797 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5798 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5799 once_value_36
= fra
.me
.REG
[6];
5800 register_static_object(&once_value_36
);
5801 } else fra
.me
.REG
[6] = once_value_36
;
5802 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5803 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5804 if (UNTAG_Bool(REGB1
)) {
5806 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5809 if (UNTAG_Bool(REGB1
)) {
5810 /* ./compiling//compiling_icode.nit:727 */
5812 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
5813 if (!once_value_38
) {
5814 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
5815 REGB1
= TAG_Int(18);
5816 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
5817 once_value_38
= fra
.me
.REG
[7];
5818 register_static_object(&once_value_38
);
5819 } else fra
.me
.REG
[7] = once_value_38
;
5820 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5821 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5823 /* ./../lib/standard//collection//array.nit:243 */
5824 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5825 /* ./../lib/standard//collection//array.nit:245 */
5827 /* ./../lib/standard//kernel.nit:213 */
5828 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5829 /* ./../lib/standard//collection//array.nit:245 */
5830 if (UNTAG_Bool(REGB2
)) {
5831 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5832 if (UNTAG_Bool(REGB2
)) {
5834 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
5836 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5837 /* ./../lib/standard//kernel.nit:212 */
5838 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5840 /* ./../lib/standard//collection//array.nit:245 */
5841 REGB0
= TAG_Bool(false);
5844 if (UNTAG_Bool(REGB2
)) {
5846 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
5848 /* ./../lib/standard//collection//array.nit:246 */
5849 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
5850 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5851 if (UNTAG_Bool(REGB2
)) {
5852 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
5854 /* ./../lib/standard//collection//array.nit:654 */
5855 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5856 /* ./../lib/standard//collection//array.nit:246 */
5859 /* ./compiling//compiling_icode.nit:727 */
5860 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5861 if (!once_value_40
) {
5862 fra
.me
.REG
[7] = BOX_NativeString(")+UNTAG_Int(");
5863 REGB1
= TAG_Int(12);
5864 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
5865 once_value_40
= fra
.me
.REG
[7];
5866 register_static_object(&once_value_40
);
5867 } else fra
.me
.REG
[7] = once_value_40
;
5868 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5869 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5871 /* ./../lib/standard//collection//array.nit:243 */
5872 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5873 /* ./../lib/standard//collection//array.nit:245 */
5875 /* ./../lib/standard//kernel.nit:213 */
5876 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5877 /* ./../lib/standard//collection//array.nit:245 */
5878 if (UNTAG_Bool(REGB2
)) {
5879 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5880 if (UNTAG_Bool(REGB2
)) {
5882 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
5884 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5885 /* ./../lib/standard//kernel.nit:212 */
5886 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5888 /* ./../lib/standard//collection//array.nit:245 */
5889 REGB0
= TAG_Bool(false);
5892 if (UNTAG_Bool(REGB2
)) {
5894 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
5896 /* ./../lib/standard//collection//array.nit:246 */
5897 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
5898 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5899 if (UNTAG_Bool(REGB2
)) {
5900 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
5902 /* ./../lib/standard//collection//array.nit:654 */
5903 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5904 /* ./../lib/standard//collection//array.nit:246 */
5907 /* ./compiling//compiling_icode.nit:727 */
5908 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5909 if (!once_value_42
) {
5910 fra
.me
.REG
[7] = BOX_NativeString("))");
5912 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
5913 once_value_42
= fra
.me
.REG
[7];
5914 register_static_object(&once_value_42
);
5915 } else fra
.me
.REG
[7] = once_value_42
;
5916 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5917 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5918 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5919 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5921 /* ./compiling//compiling_icode.nit:728 */
5922 if (!once_value_43
) {
5923 if (!once_value_44
) {
5924 fra
.me
.REG
[6] = BOX_NativeString("-");
5926 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
5927 once_value_44
= fra
.me
.REG
[6];
5928 register_static_object(&once_value_44
);
5929 } else fra
.me
.REG
[6] = once_value_44
;
5930 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5931 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5932 once_value_43
= fra
.me
.REG
[6];
5933 register_static_object(&once_value_43
);
5934 } else fra
.me
.REG
[6] = once_value_43
;
5935 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5936 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5937 if (UNTAG_Bool(REGB1
)) {
5939 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5942 if (UNTAG_Bool(REGB1
)) {
5943 /* ./compiling//compiling_icode.nit:729 */
5945 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
5946 if (!once_value_45
) {
5947 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
5948 REGB1
= TAG_Int(18);
5949 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
5950 once_value_45
= fra
.me
.REG
[7];
5951 register_static_object(&once_value_45
);
5952 } else fra
.me
.REG
[7] = once_value_45
;
5953 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5954 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5956 /* ./../lib/standard//collection//array.nit:243 */
5957 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5958 /* ./../lib/standard//collection//array.nit:245 */
5960 /* ./../lib/standard//kernel.nit:213 */
5961 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5962 /* ./../lib/standard//collection//array.nit:245 */
5963 if (UNTAG_Bool(REGB2
)) {
5964 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5965 if (UNTAG_Bool(REGB2
)) {
5967 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
5969 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5970 /* ./../lib/standard//kernel.nit:212 */
5971 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5973 /* ./../lib/standard//collection//array.nit:245 */
5974 REGB0
= TAG_Bool(false);
5977 if (UNTAG_Bool(REGB2
)) {
5979 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
5981 /* ./../lib/standard//collection//array.nit:246 */
5982 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
5983 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5984 if (UNTAG_Bool(REGB2
)) {
5985 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
5987 /* ./../lib/standard//collection//array.nit:654 */
5988 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5989 /* ./../lib/standard//collection//array.nit:246 */
5992 /* ./compiling//compiling_icode.nit:729 */
5993 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5994 if (!once_value_47
) {
5995 fra
.me
.REG
[7] = BOX_NativeString(")-UNTAG_Int(");
5996 REGB1
= TAG_Int(12);
5997 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
5998 once_value_47
= fra
.me
.REG
[7];
5999 register_static_object(&once_value_47
);
6000 } else fra
.me
.REG
[7] = once_value_47
;
6001 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6002 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6004 /* ./../lib/standard//collection//array.nit:243 */
6005 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6006 /* ./../lib/standard//collection//array.nit:245 */
6008 /* ./../lib/standard//kernel.nit:213 */
6009 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6010 /* ./../lib/standard//collection//array.nit:245 */
6011 if (UNTAG_Bool(REGB2
)) {
6012 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6013 if (UNTAG_Bool(REGB2
)) {
6015 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
6017 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6018 /* ./../lib/standard//kernel.nit:212 */
6019 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6021 /* ./../lib/standard//collection//array.nit:245 */
6022 REGB0
= TAG_Bool(false);
6025 if (UNTAG_Bool(REGB2
)) {
6027 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
6029 /* ./../lib/standard//collection//array.nit:246 */
6030 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
6031 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6032 if (UNTAG_Bool(REGB2
)) {
6033 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
6035 /* ./../lib/standard//collection//array.nit:654 */
6036 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6037 /* ./../lib/standard//collection//array.nit:246 */
6040 /* ./compiling//compiling_icode.nit:729 */
6041 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6042 if (!once_value_49
) {
6043 fra
.me
.REG
[7] = BOX_NativeString("))");
6045 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6046 once_value_49
= fra
.me
.REG
[7];
6047 register_static_object(&once_value_49
);
6048 } else fra
.me
.REG
[7] = once_value_49
;
6049 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6050 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6051 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6052 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6054 /* ./compiling//compiling_icode.nit:730 */
6055 if (!once_value_50
) {
6056 if (!once_value_51
) {
6057 fra
.me
.REG
[6] = BOX_NativeString("*");
6059 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
6060 once_value_51
= fra
.me
.REG
[6];
6061 register_static_object(&once_value_51
);
6062 } else fra
.me
.REG
[6] = once_value_51
;
6063 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6064 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6065 once_value_50
= fra
.me
.REG
[6];
6066 register_static_object(&once_value_50
);
6067 } else fra
.me
.REG
[6] = once_value_50
;
6068 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6069 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6070 if (UNTAG_Bool(REGB1
)) {
6072 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6075 if (UNTAG_Bool(REGB1
)) {
6076 /* ./compiling//compiling_icode.nit:731 */
6078 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
6079 if (!once_value_52
) {
6080 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6081 REGB1
= TAG_Int(18);
6082 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6083 once_value_52
= fra
.me
.REG
[7];
6084 register_static_object(&once_value_52
);
6085 } else fra
.me
.REG
[7] = once_value_52
;
6086 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6087 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6089 /* ./../lib/standard//collection//array.nit:243 */
6090 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6091 /* ./../lib/standard//collection//array.nit:245 */
6093 /* ./../lib/standard//kernel.nit:213 */
6094 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6095 /* ./../lib/standard//collection//array.nit:245 */
6096 if (UNTAG_Bool(REGB2
)) {
6097 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6098 if (UNTAG_Bool(REGB2
)) {
6100 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
6102 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6103 /* ./../lib/standard//kernel.nit:212 */
6104 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6106 /* ./../lib/standard//collection//array.nit:245 */
6107 REGB0
= TAG_Bool(false);
6110 if (UNTAG_Bool(REGB2
)) {
6112 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
6114 /* ./../lib/standard//collection//array.nit:246 */
6115 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
6116 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6117 if (UNTAG_Bool(REGB2
)) {
6118 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
6120 /* ./../lib/standard//collection//array.nit:654 */
6121 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6122 /* ./../lib/standard//collection//array.nit:246 */
6125 /* ./compiling//compiling_icode.nit:731 */
6126 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6127 if (!once_value_54
) {
6128 fra
.me
.REG
[7] = BOX_NativeString(")*UNTAG_Int(");
6129 REGB1
= TAG_Int(12);
6130 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6131 once_value_54
= fra
.me
.REG
[7];
6132 register_static_object(&once_value_54
);
6133 } else fra
.me
.REG
[7] = once_value_54
;
6134 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6135 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6137 /* ./../lib/standard//collection//array.nit:243 */
6138 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6139 /* ./../lib/standard//collection//array.nit:245 */
6141 /* ./../lib/standard//kernel.nit:213 */
6142 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6143 /* ./../lib/standard//collection//array.nit:245 */
6144 if (UNTAG_Bool(REGB2
)) {
6145 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6146 if (UNTAG_Bool(REGB2
)) {
6148 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
6150 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6151 /* ./../lib/standard//kernel.nit:212 */
6152 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6154 /* ./../lib/standard//collection//array.nit:245 */
6155 REGB0
= TAG_Bool(false);
6158 if (UNTAG_Bool(REGB2
)) {
6160 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
6162 /* ./../lib/standard//collection//array.nit:246 */
6163 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
6164 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6165 if (UNTAG_Bool(REGB2
)) {
6166 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
6168 /* ./../lib/standard//collection//array.nit:654 */
6169 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6170 /* ./../lib/standard//collection//array.nit:246 */
6173 /* ./compiling//compiling_icode.nit:731 */
6174 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6175 if (!once_value_56
) {
6176 fra
.me
.REG
[7] = BOX_NativeString("))");
6178 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6179 once_value_56
= fra
.me
.REG
[7];
6180 register_static_object(&once_value_56
);
6181 } else fra
.me
.REG
[7] = once_value_56
;
6182 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6183 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6184 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6185 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6187 /* ./compiling//compiling_icode.nit:732 */
6188 if (!once_value_57
) {
6189 if (!once_value_58
) {
6190 fra
.me
.REG
[6] = BOX_NativeString("/");
6192 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
6193 once_value_58
= fra
.me
.REG
[6];
6194 register_static_object(&once_value_58
);
6195 } else fra
.me
.REG
[6] = once_value_58
;
6196 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6197 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6198 once_value_57
= fra
.me
.REG
[6];
6199 register_static_object(&once_value_57
);
6200 } else fra
.me
.REG
[6] = once_value_57
;
6201 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6202 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6203 if (UNTAG_Bool(REGB1
)) {
6205 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6208 if (UNTAG_Bool(REGB1
)) {
6209 /* ./compiling//compiling_icode.nit:733 */
6211 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
6212 if (!once_value_59
) {
6213 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6214 REGB1
= TAG_Int(18);
6215 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6216 once_value_59
= fra
.me
.REG
[7];
6217 register_static_object(&once_value_59
);
6218 } else fra
.me
.REG
[7] = once_value_59
;
6219 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6220 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6222 /* ./../lib/standard//collection//array.nit:243 */
6223 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6224 /* ./../lib/standard//collection//array.nit:245 */
6226 /* ./../lib/standard//kernel.nit:213 */
6227 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6228 /* ./../lib/standard//collection//array.nit:245 */
6229 if (UNTAG_Bool(REGB2
)) {
6230 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6231 if (UNTAG_Bool(REGB2
)) {
6233 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
6235 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6236 /* ./../lib/standard//kernel.nit:212 */
6237 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6239 /* ./../lib/standard//collection//array.nit:245 */
6240 REGB0
= TAG_Bool(false);
6243 if (UNTAG_Bool(REGB2
)) {
6245 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
6247 /* ./../lib/standard//collection//array.nit:246 */
6248 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
6249 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6250 if (UNTAG_Bool(REGB2
)) {
6251 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
6253 /* ./../lib/standard//collection//array.nit:654 */
6254 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6255 /* ./../lib/standard//collection//array.nit:246 */
6258 /* ./compiling//compiling_icode.nit:733 */
6259 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6260 if (!once_value_61
) {
6261 fra
.me
.REG
[7] = BOX_NativeString(")/UNTAG_Int(");
6262 REGB1
= TAG_Int(12);
6263 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6264 once_value_61
= fra
.me
.REG
[7];
6265 register_static_object(&once_value_61
);
6266 } else fra
.me
.REG
[7] = once_value_61
;
6267 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6268 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6270 /* ./../lib/standard//collection//array.nit:243 */
6271 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6272 /* ./../lib/standard//collection//array.nit:245 */
6274 /* ./../lib/standard//kernel.nit:213 */
6275 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6276 /* ./../lib/standard//collection//array.nit:245 */
6277 if (UNTAG_Bool(REGB2
)) {
6278 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6279 if (UNTAG_Bool(REGB2
)) {
6281 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
6283 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6284 /* ./../lib/standard//kernel.nit:212 */
6285 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6287 /* ./../lib/standard//collection//array.nit:245 */
6288 REGB0
= TAG_Bool(false);
6291 if (UNTAG_Bool(REGB2
)) {
6293 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
6295 /* ./../lib/standard//collection//array.nit:246 */
6296 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
6297 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6298 if (UNTAG_Bool(REGB2
)) {
6299 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
6301 /* ./../lib/standard//collection//array.nit:654 */
6302 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6303 /* ./../lib/standard//collection//array.nit:246 */
6306 /* ./compiling//compiling_icode.nit:733 */
6307 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6308 if (!once_value_63
) {
6309 fra
.me
.REG
[7] = BOX_NativeString("))");
6311 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6312 once_value_63
= fra
.me
.REG
[7];
6313 register_static_object(&once_value_63
);
6314 } else fra
.me
.REG
[7] = once_value_63
;
6315 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6316 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6317 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6318 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6320 /* ./compiling//compiling_icode.nit:734 */
6321 if (!once_value_64
) {
6322 if (!once_value_65
) {
6323 fra
.me
.REG
[6] = BOX_NativeString("%");
6325 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
6326 once_value_65
= fra
.me
.REG
[6];
6327 register_static_object(&once_value_65
);
6328 } else fra
.me
.REG
[6] = once_value_65
;
6329 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6330 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6331 once_value_64
= fra
.me
.REG
[6];
6332 register_static_object(&once_value_64
);
6333 } else fra
.me
.REG
[6] = once_value_64
;
6334 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6335 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6336 if (UNTAG_Bool(REGB1
)) {
6338 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6341 if (UNTAG_Bool(REGB1
)) {
6342 /* ./compiling//compiling_icode.nit:735 */
6344 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
6345 if (!once_value_66
) {
6346 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6347 REGB1
= TAG_Int(18);
6348 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6349 once_value_66
= fra
.me
.REG
[7];
6350 register_static_object(&once_value_66
);
6351 } else fra
.me
.REG
[7] = once_value_66
;
6352 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6353 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6355 /* ./../lib/standard//collection//array.nit:243 */
6356 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6357 /* ./../lib/standard//collection//array.nit:245 */
6359 /* ./../lib/standard//kernel.nit:213 */
6360 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6361 /* ./../lib/standard//collection//array.nit:245 */
6362 if (UNTAG_Bool(REGB2
)) {
6363 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6364 if (UNTAG_Bool(REGB2
)) {
6366 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
6368 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6369 /* ./../lib/standard//kernel.nit:212 */
6370 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6372 /* ./../lib/standard//collection//array.nit:245 */
6373 REGB0
= TAG_Bool(false);
6376 if (UNTAG_Bool(REGB2
)) {
6378 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
6380 /* ./../lib/standard//collection//array.nit:246 */
6381 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
6382 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6383 if (UNTAG_Bool(REGB2
)) {
6384 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
6386 /* ./../lib/standard//collection//array.nit:654 */
6387 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6388 /* ./../lib/standard//collection//array.nit:246 */
6391 /* ./compiling//compiling_icode.nit:735 */
6392 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6393 if (!once_value_68
) {
6394 fra
.me
.REG
[7] = BOX_NativeString(")%UNTAG_Int(");
6395 REGB1
= TAG_Int(12);
6396 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6397 once_value_68
= fra
.me
.REG
[7];
6398 register_static_object(&once_value_68
);
6399 } else fra
.me
.REG
[7] = once_value_68
;
6400 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6401 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6403 /* ./../lib/standard//collection//array.nit:243 */
6404 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6405 /* ./../lib/standard//collection//array.nit:245 */
6407 /* ./../lib/standard//kernel.nit:213 */
6408 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6409 /* ./../lib/standard//collection//array.nit:245 */
6410 if (UNTAG_Bool(REGB2
)) {
6411 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6412 if (UNTAG_Bool(REGB2
)) {
6414 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
6416 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6417 /* ./../lib/standard//kernel.nit:212 */
6418 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6420 /* ./../lib/standard//collection//array.nit:245 */
6421 REGB0
= TAG_Bool(false);
6424 if (UNTAG_Bool(REGB2
)) {
6426 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
6428 /* ./../lib/standard//collection//array.nit:246 */
6429 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
6430 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6431 if (UNTAG_Bool(REGB2
)) {
6432 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
6434 /* ./../lib/standard//collection//array.nit:654 */
6435 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6436 /* ./../lib/standard//collection//array.nit:246 */
6439 /* ./compiling//compiling_icode.nit:735 */
6440 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6441 if (!once_value_70
) {
6442 fra
.me
.REG
[7] = BOX_NativeString("))");
6444 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6445 once_value_70
= fra
.me
.REG
[7];
6446 register_static_object(&once_value_70
);
6447 } else fra
.me
.REG
[7] = once_value_70
;
6448 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6449 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6450 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6451 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6453 /* ./compiling//compiling_icode.nit:736 */
6454 if (!once_value_71
) {
6455 if (!once_value_72
) {
6456 fra
.me
.REG
[6] = BOX_NativeString("<");
6458 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
6459 once_value_72
= fra
.me
.REG
[6];
6460 register_static_object(&once_value_72
);
6461 } else fra
.me
.REG
[6] = once_value_72
;
6462 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6463 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6464 once_value_71
= fra
.me
.REG
[6];
6465 register_static_object(&once_value_71
);
6466 } else fra
.me
.REG
[6] = once_value_71
;
6467 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6468 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6469 if (UNTAG_Bool(REGB1
)) {
6471 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6474 if (UNTAG_Bool(REGB1
)) {
6475 /* ./compiling//compiling_icode.nit:737 */
6477 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
6478 if (!once_value_73
) {
6479 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Int(");
6480 REGB1
= TAG_Int(19);
6481 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6482 once_value_73
= fra
.me
.REG
[7];
6483 register_static_object(&once_value_73
);
6484 } else fra
.me
.REG
[7] = once_value_73
;
6485 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6486 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6488 /* ./../lib/standard//collection//array.nit:243 */
6489 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6490 /* ./../lib/standard//collection//array.nit:245 */
6492 /* ./../lib/standard//kernel.nit:213 */
6493 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6494 /* ./../lib/standard//collection//array.nit:245 */
6495 if (UNTAG_Bool(REGB2
)) {
6496 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6497 if (UNTAG_Bool(REGB2
)) {
6499 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
6501 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6502 /* ./../lib/standard//kernel.nit:212 */
6503 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6505 /* ./../lib/standard//collection//array.nit:245 */
6506 REGB0
= TAG_Bool(false);
6509 if (UNTAG_Bool(REGB2
)) {
6511 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
6513 /* ./../lib/standard//collection//array.nit:246 */
6514 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
6515 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6516 if (UNTAG_Bool(REGB2
)) {
6517 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
6519 /* ./../lib/standard//collection//array.nit:654 */
6520 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6521 /* ./../lib/standard//collection//array.nit:246 */
6524 /* ./compiling//compiling_icode.nit:737 */
6525 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6526 if (!once_value_75
) {
6527 fra
.me
.REG
[7] = BOX_NativeString(")<UNTAG_Int(");
6528 REGB1
= TAG_Int(12);
6529 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6530 once_value_75
= fra
.me
.REG
[7];
6531 register_static_object(&once_value_75
);
6532 } else fra
.me
.REG
[7] = once_value_75
;
6533 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6534 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6536 /* ./../lib/standard//collection//array.nit:243 */
6537 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6538 /* ./../lib/standard//collection//array.nit:245 */
6540 /* ./../lib/standard//kernel.nit:213 */
6541 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6542 /* ./../lib/standard//collection//array.nit:245 */
6543 if (UNTAG_Bool(REGB2
)) {
6544 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6545 if (UNTAG_Bool(REGB2
)) {
6547 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
6549 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6550 /* ./../lib/standard//kernel.nit:212 */
6551 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6553 /* ./../lib/standard//collection//array.nit:245 */
6554 REGB0
= TAG_Bool(false);
6557 if (UNTAG_Bool(REGB2
)) {
6559 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
6561 /* ./../lib/standard//collection//array.nit:246 */
6562 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
6563 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6564 if (UNTAG_Bool(REGB2
)) {
6565 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
6567 /* ./../lib/standard//collection//array.nit:654 */
6568 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6569 /* ./../lib/standard//collection//array.nit:246 */
6572 /* ./compiling//compiling_icode.nit:737 */
6573 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6574 if (!once_value_77
) {
6575 fra
.me
.REG
[7] = BOX_NativeString("))");
6577 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6578 once_value_77
= fra
.me
.REG
[7];
6579 register_static_object(&once_value_77
);
6580 } else fra
.me
.REG
[7] = once_value_77
;
6581 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6582 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6583 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6584 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6586 /* ./compiling//compiling_icode.nit:738 */
6587 if (!once_value_78
) {
6588 if (!once_value_79
) {
6589 fra
.me
.REG
[6] = BOX_NativeString(">");
6591 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
6592 once_value_79
= fra
.me
.REG
[6];
6593 register_static_object(&once_value_79
);
6594 } else fra
.me
.REG
[6] = once_value_79
;
6595 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6596 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6597 once_value_78
= fra
.me
.REG
[6];
6598 register_static_object(&once_value_78
);
6599 } else fra
.me
.REG
[6] = once_value_78
;
6600 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6601 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6602 if (UNTAG_Bool(REGB1
)) {
6604 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6607 if (UNTAG_Bool(REGB1
)) {
6608 /* ./compiling//compiling_icode.nit:739 */
6610 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
6611 if (!once_value_80
) {
6612 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Int(");
6613 REGB1
= TAG_Int(19);
6614 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6615 once_value_80
= fra
.me
.REG
[7];
6616 register_static_object(&once_value_80
);
6617 } else fra
.me
.REG
[7] = once_value_80
;
6618 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6619 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6621 /* ./../lib/standard//collection//array.nit:243 */
6622 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6623 /* ./../lib/standard//collection//array.nit:245 */
6625 /* ./../lib/standard//kernel.nit:213 */
6626 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6627 /* ./../lib/standard//collection//array.nit:245 */
6628 if (UNTAG_Bool(REGB2
)) {
6629 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6630 if (UNTAG_Bool(REGB2
)) {
6632 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
6634 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6635 /* ./../lib/standard//kernel.nit:212 */
6636 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6638 /* ./../lib/standard//collection//array.nit:245 */
6639 REGB0
= TAG_Bool(false);
6642 if (UNTAG_Bool(REGB2
)) {
6644 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
6646 /* ./../lib/standard//collection//array.nit:246 */
6647 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
6648 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6649 if (UNTAG_Bool(REGB2
)) {
6650 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
6652 /* ./../lib/standard//collection//array.nit:654 */
6653 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6654 /* ./../lib/standard//collection//array.nit:246 */
6657 /* ./compiling//compiling_icode.nit:739 */
6658 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6659 if (!once_value_82
) {
6660 fra
.me
.REG
[7] = BOX_NativeString(")>UNTAG_Int(");
6661 REGB1
= TAG_Int(12);
6662 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6663 once_value_82
= fra
.me
.REG
[7];
6664 register_static_object(&once_value_82
);
6665 } else fra
.me
.REG
[7] = once_value_82
;
6666 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6667 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6669 /* ./../lib/standard//collection//array.nit:243 */
6670 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6671 /* ./../lib/standard//collection//array.nit:245 */
6673 /* ./../lib/standard//kernel.nit:213 */
6674 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6675 /* ./../lib/standard//collection//array.nit:245 */
6676 if (UNTAG_Bool(REGB2
)) {
6677 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6678 if (UNTAG_Bool(REGB2
)) {
6680 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
6682 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6683 /* ./../lib/standard//kernel.nit:212 */
6684 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6686 /* ./../lib/standard//collection//array.nit:245 */
6687 REGB0
= TAG_Bool(false);
6690 if (UNTAG_Bool(REGB2
)) {
6692 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
6694 /* ./../lib/standard//collection//array.nit:246 */
6695 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
6696 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6697 if (UNTAG_Bool(REGB2
)) {
6698 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
6700 /* ./../lib/standard//collection//array.nit:654 */
6701 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6702 /* ./../lib/standard//collection//array.nit:246 */
6705 /* ./compiling//compiling_icode.nit:739 */
6706 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6707 if (!once_value_84
) {
6708 fra
.me
.REG
[7] = BOX_NativeString("))");
6710 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6711 once_value_84
= fra
.me
.REG
[7];
6712 register_static_object(&once_value_84
);
6713 } else fra
.me
.REG
[7] = once_value_84
;
6714 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6715 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6716 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6717 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6719 /* ./compiling//compiling_icode.nit:740 */
6720 if (!once_value_85
) {
6721 if (!once_value_86
) {
6722 fra
.me
.REG
[6] = BOX_NativeString("<=");
6724 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
6725 once_value_86
= fra
.me
.REG
[6];
6726 register_static_object(&once_value_86
);
6727 } else fra
.me
.REG
[6] = once_value_86
;
6728 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6729 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6730 once_value_85
= fra
.me
.REG
[6];
6731 register_static_object(&once_value_85
);
6732 } else fra
.me
.REG
[6] = once_value_85
;
6733 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6734 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6735 if (UNTAG_Bool(REGB1
)) {
6737 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6740 if (UNTAG_Bool(REGB1
)) {
6741 /* ./compiling//compiling_icode.nit:741 */
6743 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
6744 if (!once_value_87
) {
6745 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Int(");
6746 REGB1
= TAG_Int(19);
6747 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6748 once_value_87
= fra
.me
.REG
[7];
6749 register_static_object(&once_value_87
);
6750 } else fra
.me
.REG
[7] = once_value_87
;
6751 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6752 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6754 /* ./../lib/standard//collection//array.nit:243 */
6755 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6756 /* ./../lib/standard//collection//array.nit:245 */
6758 /* ./../lib/standard//kernel.nit:213 */
6759 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6760 /* ./../lib/standard//collection//array.nit:245 */
6761 if (UNTAG_Bool(REGB2
)) {
6762 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6763 if (UNTAG_Bool(REGB2
)) {
6765 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
6767 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6768 /* ./../lib/standard//kernel.nit:212 */
6769 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6771 /* ./../lib/standard//collection//array.nit:245 */
6772 REGB0
= TAG_Bool(false);
6775 if (UNTAG_Bool(REGB2
)) {
6777 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
6779 /* ./../lib/standard//collection//array.nit:246 */
6780 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
6781 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6782 if (UNTAG_Bool(REGB2
)) {
6783 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
6785 /* ./../lib/standard//collection//array.nit:654 */
6786 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6787 /* ./../lib/standard//collection//array.nit:246 */
6790 /* ./compiling//compiling_icode.nit:741 */
6791 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6792 if (!once_value_89
) {
6793 fra
.me
.REG
[7] = BOX_NativeString(")<=UNTAG_Int(");
6794 REGB1
= TAG_Int(13);
6795 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6796 once_value_89
= fra
.me
.REG
[7];
6797 register_static_object(&once_value_89
);
6798 } else fra
.me
.REG
[7] = once_value_89
;
6799 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6800 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6802 /* ./../lib/standard//collection//array.nit:243 */
6803 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6804 /* ./../lib/standard//collection//array.nit:245 */
6806 /* ./../lib/standard//kernel.nit:213 */
6807 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6808 /* ./../lib/standard//collection//array.nit:245 */
6809 if (UNTAG_Bool(REGB2
)) {
6810 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6811 if (UNTAG_Bool(REGB2
)) {
6813 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
6815 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6816 /* ./../lib/standard//kernel.nit:212 */
6817 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6819 /* ./../lib/standard//collection//array.nit:245 */
6820 REGB0
= TAG_Bool(false);
6823 if (UNTAG_Bool(REGB2
)) {
6825 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
6827 /* ./../lib/standard//collection//array.nit:246 */
6828 fra
.me
.REG
[7] = ATTR_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_array
, 246);
6833 /* ./../lib/standard//collection//array.nit:654 */
6834 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6835 /* ./../lib/standard//collection//array.nit:246 */
6838 /* ./compiling//compiling_icode.nit:741 */
6839 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6840 if (!once_value_91
) {
6841 fra
.me
.REG
[7] = BOX_NativeString("))");
6843 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6844 once_value_91
= fra
.me
.REG
[7];
6845 register_static_object(&once_value_91
);
6846 } else fra
.me
.REG
[7] = once_value_91
;
6847 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6848 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6849 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6850 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6852 /* ./compiling//compiling_icode.nit:742 */
6853 if (!once_value_92
) {
6854 if (!once_value_93
) {
6855 fra
.me
.REG
[6] = BOX_NativeString(">=");
6857 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
6858 once_value_93
= fra
.me
.REG
[6];
6859 register_static_object(&once_value_93
);
6860 } else fra
.me
.REG
[6] = once_value_93
;
6861 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6862 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6863 once_value_92
= fra
.me
.REG
[6];
6864 register_static_object(&once_value_92
);
6865 } else fra
.me
.REG
[6] = once_value_92
;
6866 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6867 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6868 if (UNTAG_Bool(REGB1
)) {
6870 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6873 if (UNTAG_Bool(REGB1
)) {
6874 /* ./compiling//compiling_icode.nit:743 */
6876 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
6877 if (!once_value_94
) {
6878 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Int(");
6879 REGB1
= TAG_Int(19);
6880 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6881 once_value_94
= fra
.me
.REG
[7];
6882 register_static_object(&once_value_94
);
6883 } else fra
.me
.REG
[7] = once_value_94
;
6884 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6885 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6887 /* ./../lib/standard//collection//array.nit:243 */
6888 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6889 /* ./../lib/standard//collection//array.nit:245 */
6891 /* ./../lib/standard//kernel.nit:213 */
6892 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6893 /* ./../lib/standard//collection//array.nit:245 */
6894 if (UNTAG_Bool(REGB2
)) {
6895 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6896 if (UNTAG_Bool(REGB2
)) {
6898 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
6900 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6901 /* ./../lib/standard//kernel.nit:212 */
6902 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6904 /* ./../lib/standard//collection//array.nit:245 */
6905 REGB0
= TAG_Bool(false);
6908 if (UNTAG_Bool(REGB2
)) {
6910 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
6912 /* ./../lib/standard//collection//array.nit:246 */
6913 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
6914 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6915 if (UNTAG_Bool(REGB2
)) {
6916 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
6918 /* ./../lib/standard//collection//array.nit:654 */
6919 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6920 /* ./../lib/standard//collection//array.nit:246 */
6923 /* ./compiling//compiling_icode.nit:743 */
6924 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6925 if (!once_value_96
) {
6926 fra
.me
.REG
[7] = BOX_NativeString(")>=UNTAG_Int(");
6927 REGB1
= TAG_Int(13);
6928 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6929 once_value_96
= fra
.me
.REG
[7];
6930 register_static_object(&once_value_96
);
6931 } else fra
.me
.REG
[7] = once_value_96
;
6932 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6933 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6935 /* ./../lib/standard//collection//array.nit:243 */
6936 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6937 /* ./../lib/standard//collection//array.nit:245 */
6939 /* ./../lib/standard//kernel.nit:213 */
6940 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6941 /* ./../lib/standard//collection//array.nit:245 */
6942 if (UNTAG_Bool(REGB2
)) {
6943 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6944 if (UNTAG_Bool(REGB2
)) {
6946 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
6948 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6949 /* ./../lib/standard//kernel.nit:212 */
6950 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6952 /* ./../lib/standard//collection//array.nit:245 */
6953 REGB0
= TAG_Bool(false);
6956 if (UNTAG_Bool(REGB2
)) {
6958 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
6960 /* ./../lib/standard//collection//array.nit:246 */
6961 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
6962 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6963 if (UNTAG_Bool(REGB2
)) {
6964 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
6966 /* ./../lib/standard//collection//array.nit:654 */
6967 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6968 /* ./../lib/standard//collection//array.nit:246 */
6971 /* ./compiling//compiling_icode.nit:743 */
6972 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6973 if (!once_value_98
) {
6974 fra
.me
.REG
[7] = BOX_NativeString("))");
6976 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
6977 once_value_98
= fra
.me
.REG
[7];
6978 register_static_object(&once_value_98
);
6979 } else fra
.me
.REG
[7] = once_value_98
;
6980 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6981 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6982 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6983 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6985 /* ./compiling//compiling_icode.nit:744 */
6986 if (!once_value_99
) {
6987 if (!once_value_100
) {
6988 fra
.me
.REG
[6] = BOX_NativeString("lshift");
6990 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
6991 once_value_100
= fra
.me
.REG
[6];
6992 register_static_object(&once_value_100
);
6993 } else fra
.me
.REG
[6] = once_value_100
;
6994 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6995 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6996 once_value_99
= fra
.me
.REG
[6];
6997 register_static_object(&once_value_99
);
6998 } else fra
.me
.REG
[6] = once_value_99
;
6999 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7000 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7001 if (UNTAG_Bool(REGB1
)) {
7003 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7006 if (UNTAG_Bool(REGB1
)) {
7007 /* ./compiling//compiling_icode.nit:745 */
7009 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
7010 if (!once_value_101
) {
7011 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
7012 REGB1
= TAG_Int(18);
7013 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7014 once_value_101
= fra
.me
.REG
[7];
7015 register_static_object(&once_value_101
);
7016 } else fra
.me
.REG
[7] = once_value_101
;
7017 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7018 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7020 /* ./../lib/standard//collection//array.nit:243 */
7021 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7022 /* ./../lib/standard//collection//array.nit:245 */
7024 /* ./../lib/standard//kernel.nit:213 */
7025 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7026 /* ./../lib/standard//collection//array.nit:245 */
7027 if (UNTAG_Bool(REGB2
)) {
7028 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7029 if (UNTAG_Bool(REGB2
)) {
7031 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
7033 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7034 /* ./../lib/standard//kernel.nit:212 */
7035 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7037 /* ./../lib/standard//collection//array.nit:245 */
7038 REGB0
= TAG_Bool(false);
7041 if (UNTAG_Bool(REGB2
)) {
7043 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
7045 /* ./../lib/standard//collection//array.nit:246 */
7046 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
7047 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7048 if (UNTAG_Bool(REGB2
)) {
7049 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
7051 /* ./../lib/standard//collection//array.nit:654 */
7052 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7053 /* ./../lib/standard//collection//array.nit:246 */
7056 /* ./compiling//compiling_icode.nit:745 */
7057 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7058 if (!once_value_103
) {
7059 fra
.me
.REG
[7] = BOX_NativeString(")<<UNTAG_Int(");
7060 REGB1
= TAG_Int(13);
7061 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7062 once_value_103
= fra
.me
.REG
[7];
7063 register_static_object(&once_value_103
);
7064 } else fra
.me
.REG
[7] = once_value_103
;
7065 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7066 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7068 /* ./../lib/standard//collection//array.nit:243 */
7069 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7070 /* ./../lib/standard//collection//array.nit:245 */
7072 /* ./../lib/standard//kernel.nit:213 */
7073 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7074 /* ./../lib/standard//collection//array.nit:245 */
7075 if (UNTAG_Bool(REGB2
)) {
7076 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7077 if (UNTAG_Bool(REGB2
)) {
7079 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
7081 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7082 /* ./../lib/standard//kernel.nit:212 */
7083 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7085 /* ./../lib/standard//collection//array.nit:245 */
7086 REGB0
= TAG_Bool(false);
7089 if (UNTAG_Bool(REGB2
)) {
7091 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
7093 /* ./../lib/standard//collection//array.nit:246 */
7094 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
7095 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7096 if (UNTAG_Bool(REGB2
)) {
7097 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
7099 /* ./../lib/standard//collection//array.nit:654 */
7100 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7101 /* ./../lib/standard//collection//array.nit:246 */
7104 /* ./compiling//compiling_icode.nit:745 */
7105 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7106 if (!once_value_105
) {
7107 fra
.me
.REG
[7] = BOX_NativeString("))");
7109 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7110 once_value_105
= fra
.me
.REG
[7];
7111 register_static_object(&once_value_105
);
7112 } else fra
.me
.REG
[7] = once_value_105
;
7113 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7114 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7115 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7116 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7118 /* ./compiling//compiling_icode.nit:746 */
7119 if (!once_value_106
) {
7120 if (!once_value_107
) {
7121 fra
.me
.REG
[6] = BOX_NativeString("rshift");
7123 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
7124 once_value_107
= fra
.me
.REG
[6];
7125 register_static_object(&once_value_107
);
7126 } else fra
.me
.REG
[6] = once_value_107
;
7127 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7128 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7129 once_value_106
= fra
.me
.REG
[6];
7130 register_static_object(&once_value_106
);
7131 } else fra
.me
.REG
[6] = once_value_106
;
7132 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7133 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7134 if (UNTAG_Bool(REGB1
)) {
7136 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7139 if (UNTAG_Bool(REGB1
)) {
7140 /* ./compiling//compiling_icode.nit:747 */
7142 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
7143 if (!once_value_108
) {
7144 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
7145 REGB1
= TAG_Int(18);
7146 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7147 once_value_108
= fra
.me
.REG
[7];
7148 register_static_object(&once_value_108
);
7149 } else fra
.me
.REG
[7] = once_value_108
;
7150 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7151 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7153 /* ./../lib/standard//collection//array.nit:243 */
7154 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7155 /* ./../lib/standard//collection//array.nit:245 */
7157 /* ./../lib/standard//kernel.nit:213 */
7158 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7159 /* ./../lib/standard//collection//array.nit:245 */
7160 if (UNTAG_Bool(REGB2
)) {
7161 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7162 if (UNTAG_Bool(REGB2
)) {
7164 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
7166 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7167 /* ./../lib/standard//kernel.nit:212 */
7168 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7170 /* ./../lib/standard//collection//array.nit:245 */
7171 REGB0
= TAG_Bool(false);
7174 if (UNTAG_Bool(REGB2
)) {
7176 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
7178 /* ./../lib/standard//collection//array.nit:246 */
7179 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
7180 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7181 if (UNTAG_Bool(REGB2
)) {
7182 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
7184 /* ./../lib/standard//collection//array.nit:654 */
7185 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7186 /* ./../lib/standard//collection//array.nit:246 */
7189 /* ./compiling//compiling_icode.nit:747 */
7190 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7191 if (!once_value_110
) {
7192 fra
.me
.REG
[7] = BOX_NativeString(")>>UNTAG_Int(");
7193 REGB1
= TAG_Int(13);
7194 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7195 once_value_110
= fra
.me
.REG
[7];
7196 register_static_object(&once_value_110
);
7197 } else fra
.me
.REG
[7] = once_value_110
;
7198 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7199 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7201 /* ./../lib/standard//collection//array.nit:243 */
7202 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7203 /* ./../lib/standard//collection//array.nit:245 */
7205 /* ./../lib/standard//kernel.nit:213 */
7206 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7207 /* ./../lib/standard//collection//array.nit:245 */
7208 if (UNTAG_Bool(REGB2
)) {
7209 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7210 if (UNTAG_Bool(REGB2
)) {
7212 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
7214 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7215 /* ./../lib/standard//kernel.nit:212 */
7216 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7218 /* ./../lib/standard//collection//array.nit:245 */
7219 REGB0
= TAG_Bool(false);
7222 if (UNTAG_Bool(REGB2
)) {
7224 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
7226 /* ./../lib/standard//collection//array.nit:246 */
7227 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
7228 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7229 if (UNTAG_Bool(REGB2
)) {
7230 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
7232 /* ./../lib/standard//collection//array.nit:654 */
7233 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7234 /* ./../lib/standard//collection//array.nit:246 */
7237 /* ./compiling//compiling_icode.nit:747 */
7238 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7239 if (!once_value_112
) {
7240 fra
.me
.REG
[7] = BOX_NativeString("))");
7242 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7243 once_value_112
= fra
.me
.REG
[7];
7244 register_static_object(&once_value_112
);
7245 } else fra
.me
.REG
[7] = once_value_112
;
7246 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7247 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7248 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7249 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7251 /* ./compiling//compiling_icode.nit:748 */
7252 if (!once_value_113
) {
7253 if (!once_value_114
) {
7254 fra
.me
.REG
[6] = BOX_NativeString("==");
7256 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
7257 once_value_114
= fra
.me
.REG
[6];
7258 register_static_object(&once_value_114
);
7259 } else fra
.me
.REG
[6] = once_value_114
;
7260 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7261 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7262 once_value_113
= fra
.me
.REG
[6];
7263 register_static_object(&once_value_113
);
7264 } else fra
.me
.REG
[6] = once_value_113
;
7265 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7266 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7267 if (UNTAG_Bool(REGB1
)) {
7269 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7272 if (UNTAG_Bool(REGB1
)) {
7273 /* ./compiling//compiling_icode.nit:749 */
7275 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
7276 if (!once_value_115
) {
7277 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
7278 REGB1
= TAG_Int(10);
7279 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7280 once_value_115
= fra
.me
.REG
[7];
7281 register_static_object(&once_value_115
);
7282 } else fra
.me
.REG
[7] = once_value_115
;
7283 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7284 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7286 /* ./../lib/standard//collection//array.nit:243 */
7287 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7288 /* ./../lib/standard//collection//array.nit:245 */
7290 /* ./../lib/standard//kernel.nit:213 */
7291 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7292 /* ./../lib/standard//collection//array.nit:245 */
7293 if (UNTAG_Bool(REGB2
)) {
7294 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7295 if (UNTAG_Bool(REGB2
)) {
7297 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
7299 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7300 /* ./../lib/standard//kernel.nit:212 */
7301 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7303 /* ./../lib/standard//collection//array.nit:245 */
7304 REGB0
= TAG_Bool(false);
7307 if (UNTAG_Bool(REGB2
)) {
7309 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
7311 /* ./../lib/standard//collection//array.nit:246 */
7312 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
7313 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7314 if (UNTAG_Bool(REGB2
)) {
7315 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
7317 /* ./../lib/standard//collection//array.nit:654 */
7318 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7319 /* ./../lib/standard//collection//array.nit:246 */
7322 /* ./compiling//compiling_icode.nit:749 */
7323 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7324 if (!once_value_117
) {
7325 fra
.me
.REG
[7] = BOX_NativeString(")==(");
7327 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7328 once_value_117
= fra
.me
.REG
[7];
7329 register_static_object(&once_value_117
);
7330 } else fra
.me
.REG
[7] = once_value_117
;
7331 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7332 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7334 /* ./../lib/standard//collection//array.nit:243 */
7335 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7336 /* ./../lib/standard//collection//array.nit:245 */
7338 /* ./../lib/standard//kernel.nit:213 */
7339 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7340 /* ./../lib/standard//collection//array.nit:245 */
7341 if (UNTAG_Bool(REGB2
)) {
7342 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7343 if (UNTAG_Bool(REGB2
)) {
7345 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
7347 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7348 /* ./../lib/standard//kernel.nit:212 */
7349 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7351 /* ./../lib/standard//collection//array.nit:245 */
7352 REGB0
= TAG_Bool(false);
7355 if (UNTAG_Bool(REGB2
)) {
7357 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
7359 /* ./../lib/standard//collection//array.nit:246 */
7360 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
7361 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7362 if (UNTAG_Bool(REGB2
)) {
7363 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
7365 /* ./../lib/standard//collection//array.nit:654 */
7366 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7367 /* ./../lib/standard//collection//array.nit:246 */
7370 /* ./compiling//compiling_icode.nit:749 */
7371 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7372 if (!once_value_119
) {
7373 fra
.me
.REG
[7] = BOX_NativeString("))");
7375 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7376 once_value_119
= fra
.me
.REG
[7];
7377 register_static_object(&once_value_119
);
7378 } else fra
.me
.REG
[7] = once_value_119
;
7379 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7380 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7381 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7382 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7384 /* ./compiling//compiling_icode.nit:750 */
7385 if (!once_value_120
) {
7386 if (!once_value_121
) {
7387 fra
.me
.REG
[6] = BOX_NativeString("!=");
7389 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
7390 once_value_121
= fra
.me
.REG
[6];
7391 register_static_object(&once_value_121
);
7392 } else fra
.me
.REG
[6] = once_value_121
;
7393 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7394 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7395 once_value_120
= fra
.me
.REG
[6];
7396 register_static_object(&once_value_120
);
7397 } else fra
.me
.REG
[6] = once_value_120
;
7398 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7399 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7400 if (UNTAG_Bool(REGB1
)) {
7402 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7405 if (UNTAG_Bool(REGB1
)) {
7406 /* ./compiling//compiling_icode.nit:751 */
7408 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
7409 if (!once_value_122
) {
7410 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
7411 REGB1
= TAG_Int(10);
7412 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7413 once_value_122
= fra
.me
.REG
[7];
7414 register_static_object(&once_value_122
);
7415 } else fra
.me
.REG
[7] = once_value_122
;
7416 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7417 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7419 /* ./../lib/standard//collection//array.nit:243 */
7420 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7421 /* ./../lib/standard//collection//array.nit:245 */
7423 /* ./../lib/standard//kernel.nit:213 */
7424 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7425 /* ./../lib/standard//collection//array.nit:245 */
7426 if (UNTAG_Bool(REGB2
)) {
7427 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7428 if (UNTAG_Bool(REGB2
)) {
7430 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
7432 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7433 /* ./../lib/standard//kernel.nit:212 */
7434 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7436 /* ./../lib/standard//collection//array.nit:245 */
7437 REGB0
= TAG_Bool(false);
7440 if (UNTAG_Bool(REGB2
)) {
7442 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
7444 /* ./../lib/standard//collection//array.nit:246 */
7445 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
7446 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7447 if (UNTAG_Bool(REGB2
)) {
7448 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
7450 /* ./../lib/standard//collection//array.nit:654 */
7451 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7452 /* ./../lib/standard//collection//array.nit:246 */
7455 /* ./compiling//compiling_icode.nit:751 */
7456 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7457 if (!once_value_124
) {
7458 fra
.me
.REG
[7] = BOX_NativeString(")!=(");
7460 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7461 once_value_124
= fra
.me
.REG
[7];
7462 register_static_object(&once_value_124
);
7463 } else fra
.me
.REG
[7] = once_value_124
;
7464 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7465 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7467 /* ./../lib/standard//collection//array.nit:243 */
7468 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7469 /* ./../lib/standard//collection//array.nit:245 */
7471 /* ./../lib/standard//kernel.nit:213 */
7472 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7473 /* ./../lib/standard//collection//array.nit:245 */
7474 if (UNTAG_Bool(REGB2
)) {
7475 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7476 if (UNTAG_Bool(REGB2
)) {
7478 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
7480 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7481 /* ./../lib/standard//kernel.nit:212 */
7482 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7484 /* ./../lib/standard//collection//array.nit:245 */
7485 REGB0
= TAG_Bool(false);
7488 if (UNTAG_Bool(REGB2
)) {
7490 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
7492 /* ./../lib/standard//collection//array.nit:246 */
7493 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
7494 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7495 if (UNTAG_Bool(REGB2
)) {
7496 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
7498 /* ./../lib/standard//collection//array.nit:654 */
7499 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7500 /* ./../lib/standard//collection//array.nit:246 */
7503 /* ./compiling//compiling_icode.nit:751 */
7504 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7505 if (!once_value_126
) {
7506 fra
.me
.REG
[7] = BOX_NativeString("))");
7508 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7509 once_value_126
= fra
.me
.REG
[7];
7510 register_static_object(&once_value_126
);
7511 } else fra
.me
.REG
[7] = once_value_126
;
7512 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7513 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7514 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7515 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7537 /* ./compiling//compiling_icode.nit:753 */
7538 if (!once_value_127
) {
7539 if (!once_value_128
) {
7540 fra
.me
.REG
[6] = BOX_NativeString("Float");
7542 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
7543 once_value_128
= fra
.me
.REG
[6];
7544 register_static_object(&once_value_128
);
7545 } else fra
.me
.REG
[6] = once_value_128
;
7546 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7547 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7548 once_value_127
= fra
.me
.REG
[6];
7549 register_static_object(&once_value_127
);
7550 } else fra
.me
.REG
[6] = once_value_127
;
7551 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7552 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
7553 if (UNTAG_Bool(REGB1
)) {
7555 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
7558 if (UNTAG_Bool(REGB1
)) {
7559 /* ./compiling//compiling_icode.nit:754 */
7560 if (!once_value_129
) {
7561 if (!once_value_130
) {
7562 fra
.me
.REG
[6] = BOX_NativeString("object_id");
7564 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
7565 once_value_130
= fra
.me
.REG
[6];
7566 register_static_object(&once_value_130
);
7567 } else fra
.me
.REG
[6] = once_value_130
;
7568 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7569 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7570 once_value_129
= fra
.me
.REG
[6];
7571 register_static_object(&once_value_129
);
7572 } else fra
.me
.REG
[6] = once_value_129
;
7573 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7574 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7575 if (UNTAG_Bool(REGB1
)) {
7577 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7580 if (UNTAG_Bool(REGB1
)) {
7581 /* ./compiling//compiling_icode.nit:755 */
7583 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
7584 if (!once_value_131
) {
7585 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int((bigint)UNBOX_Float(");
7586 REGB1
= TAG_Int(28);
7587 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7588 once_value_131
= fra
.me
.REG
[7];
7589 register_static_object(&once_value_131
);
7590 } else fra
.me
.REG
[7] = once_value_131
;
7591 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7592 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7594 /* ./../lib/standard//collection//array.nit:243 */
7595 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7596 /* ./../lib/standard//collection//array.nit:245 */
7598 /* ./../lib/standard//kernel.nit:213 */
7599 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7600 /* ./../lib/standard//collection//array.nit:245 */
7601 if (UNTAG_Bool(REGB2
)) {
7602 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7603 if (UNTAG_Bool(REGB2
)) {
7605 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
7607 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7608 /* ./../lib/standard//kernel.nit:212 */
7609 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7611 /* ./../lib/standard//collection//array.nit:245 */
7612 REGB0
= TAG_Bool(false);
7615 if (UNTAG_Bool(REGB2
)) {
7617 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
7619 /* ./../lib/standard//collection//array.nit:246 */
7620 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
7621 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7622 if (UNTAG_Bool(REGB2
)) {
7623 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
7625 /* ./../lib/standard//collection//array.nit:654 */
7626 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7627 /* ./../lib/standard//collection//array.nit:246 */
7630 /* ./compiling//compiling_icode.nit:755 */
7631 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7632 if (!once_value_133
) {
7633 fra
.me
.REG
[7] = BOX_NativeString("))");
7635 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7636 once_value_133
= fra
.me
.REG
[7];
7637 register_static_object(&once_value_133
);
7638 } else fra
.me
.REG
[7] = once_value_133
;
7639 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7640 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7641 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7642 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7644 /* ./compiling//compiling_icode.nit:756 */
7645 if (!once_value_134
) {
7646 if (!once_value_135
) {
7647 fra
.me
.REG
[6] = BOX_NativeString("unary -");
7649 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
7650 once_value_135
= fra
.me
.REG
[6];
7651 register_static_object(&once_value_135
);
7652 } else fra
.me
.REG
[6] = once_value_135
;
7653 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7654 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7655 once_value_134
= fra
.me
.REG
[6];
7656 register_static_object(&once_value_134
);
7657 } else fra
.me
.REG
[6] = once_value_134
;
7658 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7659 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7660 if (UNTAG_Bool(REGB1
)) {
7662 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7665 if (UNTAG_Bool(REGB1
)) {
7666 /* ./compiling//compiling_icode.nit:757 */
7668 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
7669 if (!once_value_136
) {
7670 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(-UNBOX_Float(");
7671 REGB1
= TAG_Int(23);
7672 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7673 once_value_136
= fra
.me
.REG
[7];
7674 register_static_object(&once_value_136
);
7675 } else fra
.me
.REG
[7] = once_value_136
;
7676 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7677 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7679 /* ./../lib/standard//collection//array.nit:243 */
7680 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7681 /* ./../lib/standard//collection//array.nit:245 */
7683 /* ./../lib/standard//kernel.nit:213 */
7684 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7685 /* ./../lib/standard//collection//array.nit:245 */
7686 if (UNTAG_Bool(REGB2
)) {
7687 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7688 if (UNTAG_Bool(REGB2
)) {
7690 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
7692 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7693 /* ./../lib/standard//kernel.nit:212 */
7694 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7696 /* ./../lib/standard//collection//array.nit:245 */
7697 REGB0
= TAG_Bool(false);
7700 if (UNTAG_Bool(REGB2
)) {
7702 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
7704 /* ./../lib/standard//collection//array.nit:246 */
7705 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
7706 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7707 if (UNTAG_Bool(REGB2
)) {
7708 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
7710 /* ./../lib/standard//collection//array.nit:654 */
7711 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7712 /* ./../lib/standard//collection//array.nit:246 */
7715 /* ./compiling//compiling_icode.nit:757 */
7716 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7717 if (!once_value_138
) {
7718 fra
.me
.REG
[7] = BOX_NativeString("))");
7720 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7721 once_value_138
= fra
.me
.REG
[7];
7722 register_static_object(&once_value_138
);
7723 } else fra
.me
.REG
[7] = once_value_138
;
7724 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7725 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7726 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7727 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7729 /* ./compiling//compiling_icode.nit:758 */
7730 if (!once_value_139
) {
7731 if (!once_value_140
) {
7732 fra
.me
.REG
[6] = BOX_NativeString("output");
7734 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
7735 once_value_140
= fra
.me
.REG
[6];
7736 register_static_object(&once_value_140
);
7737 } else fra
.me
.REG
[6] = once_value_140
;
7738 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7739 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7740 once_value_139
= fra
.me
.REG
[6];
7741 register_static_object(&once_value_139
);
7742 } else fra
.me
.REG
[6] = once_value_139
;
7743 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7744 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7745 if (UNTAG_Bool(REGB1
)) {
7747 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7750 if (UNTAG_Bool(REGB1
)) {
7751 /* ./compiling//compiling_icode.nit:759 */
7753 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
7754 if (!once_value_141
) {
7755 fra
.me
.REG
[7] = BOX_NativeString("printf(\"%f\\n\", UNBOX_Float(");
7756 REGB1
= TAG_Int(27);
7757 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7758 once_value_141
= fra
.me
.REG
[7];
7759 register_static_object(&once_value_141
);
7760 } else fra
.me
.REG
[7] = once_value_141
;
7761 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7762 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7764 /* ./../lib/standard//collection//array.nit:243 */
7765 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7766 /* ./../lib/standard//collection//array.nit:245 */
7768 /* ./../lib/standard//kernel.nit:213 */
7769 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7770 /* ./../lib/standard//collection//array.nit:245 */
7771 if (UNTAG_Bool(REGB2
)) {
7772 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7773 if (UNTAG_Bool(REGB2
)) {
7775 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
7777 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7778 /* ./../lib/standard//kernel.nit:212 */
7779 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7781 /* ./../lib/standard//collection//array.nit:245 */
7782 REGB0
= TAG_Bool(false);
7785 if (UNTAG_Bool(REGB2
)) {
7787 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
7789 /* ./../lib/standard//collection//array.nit:246 */
7790 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
7791 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7792 if (UNTAG_Bool(REGB2
)) {
7793 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
7795 /* ./../lib/standard//collection//array.nit:654 */
7796 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7797 /* ./../lib/standard//collection//array.nit:246 */
7800 /* ./compiling//compiling_icode.nit:759 */
7801 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7802 if (!once_value_143
) {
7803 fra
.me
.REG
[7] = BOX_NativeString("));");
7805 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7806 once_value_143
= fra
.me
.REG
[7];
7807 register_static_object(&once_value_143
);
7808 } else fra
.me
.REG
[7] = once_value_143
;
7809 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7810 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7811 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7812 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7814 /* ./compiling//compiling_icode.nit:760 */
7815 if (!once_value_144
) {
7816 if (!once_value_145
) {
7817 fra
.me
.REG
[6] = BOX_NativeString("to_i");
7819 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
7820 once_value_145
= fra
.me
.REG
[6];
7821 register_static_object(&once_value_145
);
7822 } else fra
.me
.REG
[6] = once_value_145
;
7823 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7824 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7825 once_value_144
= fra
.me
.REG
[6];
7826 register_static_object(&once_value_144
);
7827 } else fra
.me
.REG
[6] = once_value_144
;
7828 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7829 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7830 if (UNTAG_Bool(REGB1
)) {
7832 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7835 if (UNTAG_Bool(REGB1
)) {
7836 /* ./compiling//compiling_icode.nit:761 */
7838 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
7839 if (!once_value_146
) {
7840 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int((bigint)UNBOX_Float(");
7841 REGB1
= TAG_Int(28);
7842 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7843 once_value_146
= fra
.me
.REG
[7];
7844 register_static_object(&once_value_146
);
7845 } else fra
.me
.REG
[7] = once_value_146
;
7846 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7847 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7849 /* ./../lib/standard//collection//array.nit:243 */
7850 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7851 /* ./../lib/standard//collection//array.nit:245 */
7853 /* ./../lib/standard//kernel.nit:213 */
7854 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7855 /* ./../lib/standard//collection//array.nit:245 */
7856 if (UNTAG_Bool(REGB2
)) {
7857 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7858 if (UNTAG_Bool(REGB2
)) {
7860 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
7862 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7863 /* ./../lib/standard//kernel.nit:212 */
7864 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7866 /* ./../lib/standard//collection//array.nit:245 */
7867 REGB0
= TAG_Bool(false);
7870 if (UNTAG_Bool(REGB2
)) {
7872 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
7874 /* ./../lib/standard//collection//array.nit:246 */
7875 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
7876 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7877 if (UNTAG_Bool(REGB2
)) {
7878 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
7880 /* ./../lib/standard//collection//array.nit:654 */
7881 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7882 /* ./../lib/standard//collection//array.nit:246 */
7885 /* ./compiling//compiling_icode.nit:761 */
7886 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7887 if (!once_value_148
) {
7888 fra
.me
.REG
[7] = BOX_NativeString("))");
7890 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7891 once_value_148
= fra
.me
.REG
[7];
7892 register_static_object(&once_value_148
);
7893 } else fra
.me
.REG
[7] = once_value_148
;
7894 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7895 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7896 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7897 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7899 /* ./compiling//compiling_icode.nit:762 */
7900 if (!once_value_149
) {
7901 if (!once_value_150
) {
7902 fra
.me
.REG
[6] = BOX_NativeString("+");
7904 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
7905 once_value_150
= fra
.me
.REG
[6];
7906 register_static_object(&once_value_150
);
7907 } else fra
.me
.REG
[6] = once_value_150
;
7908 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7909 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7910 once_value_149
= fra
.me
.REG
[6];
7911 register_static_object(&once_value_149
);
7912 } else fra
.me
.REG
[6] = once_value_149
;
7913 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7914 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7915 if (UNTAG_Bool(REGB1
)) {
7917 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7920 if (UNTAG_Bool(REGB1
)) {
7921 /* ./compiling//compiling_icode.nit:763 */
7923 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
7924 if (!once_value_151
) {
7925 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(UNBOX_Float(");
7926 REGB1
= TAG_Int(22);
7927 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7928 once_value_151
= fra
.me
.REG
[7];
7929 register_static_object(&once_value_151
);
7930 } else fra
.me
.REG
[7] = once_value_151
;
7931 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7932 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7934 /* ./../lib/standard//collection//array.nit:243 */
7935 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7936 /* ./../lib/standard//collection//array.nit:245 */
7938 /* ./../lib/standard//kernel.nit:213 */
7939 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7940 /* ./../lib/standard//collection//array.nit:245 */
7941 if (UNTAG_Bool(REGB2
)) {
7942 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7943 if (UNTAG_Bool(REGB2
)) {
7945 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
7947 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7948 /* ./../lib/standard//kernel.nit:212 */
7949 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7951 /* ./../lib/standard//collection//array.nit:245 */
7952 REGB0
= TAG_Bool(false);
7955 if (UNTAG_Bool(REGB2
)) {
7957 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
7959 /* ./../lib/standard//collection//array.nit:246 */
7960 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
7961 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7962 if (UNTAG_Bool(REGB2
)) {
7963 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
7965 /* ./../lib/standard//collection//array.nit:654 */
7966 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7967 /* ./../lib/standard//collection//array.nit:246 */
7970 /* ./compiling//compiling_icode.nit:763 */
7971 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7972 if (!once_value_153
) {
7973 fra
.me
.REG
[7] = BOX_NativeString(")+UNBOX_Float(");
7974 REGB1
= TAG_Int(14);
7975 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
7976 once_value_153
= fra
.me
.REG
[7];
7977 register_static_object(&once_value_153
);
7978 } else fra
.me
.REG
[7] = once_value_153
;
7979 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7980 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7982 /* ./../lib/standard//collection//array.nit:243 */
7983 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7984 /* ./../lib/standard//collection//array.nit:245 */
7986 /* ./../lib/standard//kernel.nit:213 */
7987 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7988 /* ./../lib/standard//collection//array.nit:245 */
7989 if (UNTAG_Bool(REGB2
)) {
7990 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7991 if (UNTAG_Bool(REGB2
)) {
7993 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
7995 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7996 /* ./../lib/standard//kernel.nit:212 */
7997 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7999 /* ./../lib/standard//collection//array.nit:245 */
8000 REGB0
= TAG_Bool(false);
8003 if (UNTAG_Bool(REGB2
)) {
8005 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
8007 /* ./../lib/standard//collection//array.nit:246 */
8008 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
8009 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8010 if (UNTAG_Bool(REGB2
)) {
8011 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
8013 /* ./../lib/standard//collection//array.nit:654 */
8014 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8015 /* ./../lib/standard//collection//array.nit:246 */
8018 /* ./compiling//compiling_icode.nit:763 */
8019 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8020 if (!once_value_155
) {
8021 fra
.me
.REG
[7] = BOX_NativeString("))");
8023 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8024 once_value_155
= fra
.me
.REG
[7];
8025 register_static_object(&once_value_155
);
8026 } else fra
.me
.REG
[7] = once_value_155
;
8027 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8028 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8029 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8030 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8032 /* ./compiling//compiling_icode.nit:764 */
8033 if (!once_value_156
) {
8034 if (!once_value_157
) {
8035 fra
.me
.REG
[6] = BOX_NativeString("-");
8037 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
8038 once_value_157
= fra
.me
.REG
[6];
8039 register_static_object(&once_value_157
);
8040 } else fra
.me
.REG
[6] = once_value_157
;
8041 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8042 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8043 once_value_156
= fra
.me
.REG
[6];
8044 register_static_object(&once_value_156
);
8045 } else fra
.me
.REG
[6] = once_value_156
;
8046 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8047 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8048 if (UNTAG_Bool(REGB1
)) {
8050 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8053 if (UNTAG_Bool(REGB1
)) {
8054 /* ./compiling//compiling_icode.nit:765 */
8056 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
8057 if (!once_value_158
) {
8058 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(UNBOX_Float(");
8059 REGB1
= TAG_Int(22);
8060 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8061 once_value_158
= fra
.me
.REG
[7];
8062 register_static_object(&once_value_158
);
8063 } else fra
.me
.REG
[7] = once_value_158
;
8064 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8065 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8067 /* ./../lib/standard//collection//array.nit:243 */
8068 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8069 /* ./../lib/standard//collection//array.nit:245 */
8071 /* ./../lib/standard//kernel.nit:213 */
8072 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8073 /* ./../lib/standard//collection//array.nit:245 */
8074 if (UNTAG_Bool(REGB2
)) {
8075 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8076 if (UNTAG_Bool(REGB2
)) {
8078 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
8080 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8081 /* ./../lib/standard//kernel.nit:212 */
8082 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8084 /* ./../lib/standard//collection//array.nit:245 */
8085 REGB0
= TAG_Bool(false);
8088 if (UNTAG_Bool(REGB2
)) {
8090 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
8092 /* ./../lib/standard//collection//array.nit:246 */
8093 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
8094 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8095 if (UNTAG_Bool(REGB2
)) {
8096 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
8098 /* ./../lib/standard//collection//array.nit:654 */
8099 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8100 /* ./../lib/standard//collection//array.nit:246 */
8103 /* ./compiling//compiling_icode.nit:765 */
8104 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8105 if (!once_value_160
) {
8106 fra
.me
.REG
[7] = BOX_NativeString(")-UNBOX_Float(");
8107 REGB1
= TAG_Int(14);
8108 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8109 once_value_160
= fra
.me
.REG
[7];
8110 register_static_object(&once_value_160
);
8111 } else fra
.me
.REG
[7] = once_value_160
;
8112 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8113 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8115 /* ./../lib/standard//collection//array.nit:243 */
8116 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8117 /* ./../lib/standard//collection//array.nit:245 */
8119 /* ./../lib/standard//kernel.nit:213 */
8120 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8121 /* ./../lib/standard//collection//array.nit:245 */
8122 if (UNTAG_Bool(REGB2
)) {
8123 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8124 if (UNTAG_Bool(REGB2
)) {
8126 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
8128 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8129 /* ./../lib/standard//kernel.nit:212 */
8130 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8132 /* ./../lib/standard//collection//array.nit:245 */
8133 REGB0
= TAG_Bool(false);
8136 if (UNTAG_Bool(REGB2
)) {
8138 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
8140 /* ./../lib/standard//collection//array.nit:246 */
8141 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
8142 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8143 if (UNTAG_Bool(REGB2
)) {
8144 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
8146 /* ./../lib/standard//collection//array.nit:654 */
8147 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8148 /* ./../lib/standard//collection//array.nit:246 */
8151 /* ./compiling//compiling_icode.nit:765 */
8152 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8153 if (!once_value_162
) {
8154 fra
.me
.REG
[7] = BOX_NativeString("))");
8156 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8157 once_value_162
= fra
.me
.REG
[7];
8158 register_static_object(&once_value_162
);
8159 } else fra
.me
.REG
[7] = once_value_162
;
8160 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8161 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8162 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8163 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8165 /* ./compiling//compiling_icode.nit:766 */
8166 if (!once_value_163
) {
8167 if (!once_value_164
) {
8168 fra
.me
.REG
[6] = BOX_NativeString("*");
8170 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
8171 once_value_164
= fra
.me
.REG
[6];
8172 register_static_object(&once_value_164
);
8173 } else fra
.me
.REG
[6] = once_value_164
;
8174 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8175 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8176 once_value_163
= fra
.me
.REG
[6];
8177 register_static_object(&once_value_163
);
8178 } else fra
.me
.REG
[6] = once_value_163
;
8179 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8180 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8181 if (UNTAG_Bool(REGB1
)) {
8183 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8186 if (UNTAG_Bool(REGB1
)) {
8187 /* ./compiling//compiling_icode.nit:767 */
8189 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
8190 if (!once_value_165
) {
8191 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(UNBOX_Float(");
8192 REGB1
= TAG_Int(22);
8193 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8194 once_value_165
= fra
.me
.REG
[7];
8195 register_static_object(&once_value_165
);
8196 } else fra
.me
.REG
[7] = once_value_165
;
8197 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8198 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8200 /* ./../lib/standard//collection//array.nit:243 */
8201 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8202 /* ./../lib/standard//collection//array.nit:245 */
8204 /* ./../lib/standard//kernel.nit:213 */
8205 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8206 /* ./../lib/standard//collection//array.nit:245 */
8207 if (UNTAG_Bool(REGB2
)) {
8208 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8209 if (UNTAG_Bool(REGB2
)) {
8211 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
8213 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8214 /* ./../lib/standard//kernel.nit:212 */
8215 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8217 /* ./../lib/standard//collection//array.nit:245 */
8218 REGB0
= TAG_Bool(false);
8221 if (UNTAG_Bool(REGB2
)) {
8223 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
8225 /* ./../lib/standard//collection//array.nit:246 */
8226 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
8227 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8228 if (UNTAG_Bool(REGB2
)) {
8229 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
8231 /* ./../lib/standard//collection//array.nit:654 */
8232 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8233 /* ./../lib/standard//collection//array.nit:246 */
8236 /* ./compiling//compiling_icode.nit:767 */
8237 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8238 if (!once_value_167
) {
8239 fra
.me
.REG
[7] = BOX_NativeString(")*UNBOX_Float(");
8240 REGB1
= TAG_Int(14);
8241 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8242 once_value_167
= fra
.me
.REG
[7];
8243 register_static_object(&once_value_167
);
8244 } else fra
.me
.REG
[7] = once_value_167
;
8245 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8246 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8248 /* ./../lib/standard//collection//array.nit:243 */
8249 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8250 /* ./../lib/standard//collection//array.nit:245 */
8252 /* ./../lib/standard//kernel.nit:213 */
8253 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8254 /* ./../lib/standard//collection//array.nit:245 */
8255 if (UNTAG_Bool(REGB2
)) {
8256 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8257 if (UNTAG_Bool(REGB2
)) {
8259 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
8261 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8262 /* ./../lib/standard//kernel.nit:212 */
8263 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8265 /* ./../lib/standard//collection//array.nit:245 */
8266 REGB0
= TAG_Bool(false);
8269 if (UNTAG_Bool(REGB2
)) {
8271 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
8273 /* ./../lib/standard//collection//array.nit:246 */
8274 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
8275 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8276 if (UNTAG_Bool(REGB2
)) {
8277 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
8279 /* ./../lib/standard//collection//array.nit:654 */
8280 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8281 /* ./../lib/standard//collection//array.nit:246 */
8284 /* ./compiling//compiling_icode.nit:767 */
8285 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8286 if (!once_value_169
) {
8287 fra
.me
.REG
[7] = BOX_NativeString("))");
8289 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8290 once_value_169
= fra
.me
.REG
[7];
8291 register_static_object(&once_value_169
);
8292 } else fra
.me
.REG
[7] = once_value_169
;
8293 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8294 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8295 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8296 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8298 /* ./compiling//compiling_icode.nit:768 */
8299 if (!once_value_170
) {
8300 if (!once_value_171
) {
8301 fra
.me
.REG
[6] = BOX_NativeString("/");
8303 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
8304 once_value_171
= fra
.me
.REG
[6];
8305 register_static_object(&once_value_171
);
8306 } else fra
.me
.REG
[6] = once_value_171
;
8307 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8308 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8309 once_value_170
= fra
.me
.REG
[6];
8310 register_static_object(&once_value_170
);
8311 } else fra
.me
.REG
[6] = once_value_170
;
8312 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8313 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8314 if (UNTAG_Bool(REGB1
)) {
8316 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8319 if (UNTAG_Bool(REGB1
)) {
8320 /* ./compiling//compiling_icode.nit:769 */
8322 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
8323 if (!once_value_172
) {
8324 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(UNBOX_Float(");
8325 REGB1
= TAG_Int(22);
8326 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8327 once_value_172
= fra
.me
.REG
[7];
8328 register_static_object(&once_value_172
);
8329 } else fra
.me
.REG
[7] = once_value_172
;
8330 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8331 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8333 /* ./../lib/standard//collection//array.nit:243 */
8334 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8335 /* ./../lib/standard//collection//array.nit:245 */
8337 /* ./../lib/standard//kernel.nit:213 */
8338 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8339 /* ./../lib/standard//collection//array.nit:245 */
8340 if (UNTAG_Bool(REGB2
)) {
8341 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8342 if (UNTAG_Bool(REGB2
)) {
8344 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
8346 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8347 /* ./../lib/standard//kernel.nit:212 */
8348 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8350 /* ./../lib/standard//collection//array.nit:245 */
8351 REGB0
= TAG_Bool(false);
8354 if (UNTAG_Bool(REGB2
)) {
8356 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
8358 /* ./../lib/standard//collection//array.nit:246 */
8359 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
8360 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8361 if (UNTAG_Bool(REGB2
)) {
8362 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
8364 /* ./../lib/standard//collection//array.nit:654 */
8365 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8366 /* ./../lib/standard//collection//array.nit:246 */
8369 /* ./compiling//compiling_icode.nit:769 */
8370 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8371 if (!once_value_174
) {
8372 fra
.me
.REG
[7] = BOX_NativeString(")/UNBOX_Float(");
8373 REGB1
= TAG_Int(14);
8374 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8375 once_value_174
= fra
.me
.REG
[7];
8376 register_static_object(&once_value_174
);
8377 } else fra
.me
.REG
[7] = once_value_174
;
8378 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8379 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8381 /* ./../lib/standard//collection//array.nit:243 */
8382 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8383 /* ./../lib/standard//collection//array.nit:245 */
8385 /* ./../lib/standard//kernel.nit:213 */
8386 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8387 /* ./../lib/standard//collection//array.nit:245 */
8388 if (UNTAG_Bool(REGB2
)) {
8389 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8390 if (UNTAG_Bool(REGB2
)) {
8392 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
8394 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8395 /* ./../lib/standard//kernel.nit:212 */
8396 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8398 /* ./../lib/standard//collection//array.nit:245 */
8399 REGB0
= TAG_Bool(false);
8402 if (UNTAG_Bool(REGB2
)) {
8404 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
8406 /* ./../lib/standard//collection//array.nit:246 */
8407 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
8408 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8409 if (UNTAG_Bool(REGB2
)) {
8410 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
8412 /* ./../lib/standard//collection//array.nit:654 */
8413 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8414 /* ./../lib/standard//collection//array.nit:246 */
8417 /* ./compiling//compiling_icode.nit:769 */
8418 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8419 if (!once_value_176
) {
8420 fra
.me
.REG
[7] = BOX_NativeString("))");
8422 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8423 once_value_176
= fra
.me
.REG
[7];
8424 register_static_object(&once_value_176
);
8425 } else fra
.me
.REG
[7] = once_value_176
;
8426 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8427 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8428 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8429 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8431 /* ./compiling//compiling_icode.nit:770 */
8432 if (!once_value_177
) {
8433 if (!once_value_178
) {
8434 fra
.me
.REG
[6] = BOX_NativeString("<");
8436 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
8437 once_value_178
= fra
.me
.REG
[6];
8438 register_static_object(&once_value_178
);
8439 } else fra
.me
.REG
[6] = once_value_178
;
8440 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8441 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8442 once_value_177
= fra
.me
.REG
[6];
8443 register_static_object(&once_value_177
);
8444 } else fra
.me
.REG
[6] = once_value_177
;
8445 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8446 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8447 if (UNTAG_Bool(REGB1
)) {
8449 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8452 if (UNTAG_Bool(REGB1
)) {
8453 /* ./compiling//compiling_icode.nit:771 */
8455 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
8456 if (!once_value_179
) {
8457 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNBOX_Float(");
8458 REGB1
= TAG_Int(21);
8459 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8460 once_value_179
= fra
.me
.REG
[7];
8461 register_static_object(&once_value_179
);
8462 } else fra
.me
.REG
[7] = once_value_179
;
8463 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8464 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8466 /* ./../lib/standard//collection//array.nit:243 */
8467 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8468 /* ./../lib/standard//collection//array.nit:245 */
8470 /* ./../lib/standard//kernel.nit:213 */
8471 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8472 /* ./../lib/standard//collection//array.nit:245 */
8473 if (UNTAG_Bool(REGB2
)) {
8474 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8475 if (UNTAG_Bool(REGB2
)) {
8477 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
8479 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8480 /* ./../lib/standard//kernel.nit:212 */
8481 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8483 /* ./../lib/standard//collection//array.nit:245 */
8484 REGB0
= TAG_Bool(false);
8487 if (UNTAG_Bool(REGB2
)) {
8489 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
8491 /* ./../lib/standard//collection//array.nit:246 */
8492 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
8493 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8494 if (UNTAG_Bool(REGB2
)) {
8495 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
8497 /* ./../lib/standard//collection//array.nit:654 */
8498 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8499 /* ./../lib/standard//collection//array.nit:246 */
8502 /* ./compiling//compiling_icode.nit:771 */
8503 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8504 if (!once_value_181
) {
8505 fra
.me
.REG
[7] = BOX_NativeString(")<UNBOX_Float(");
8506 REGB1
= TAG_Int(14);
8507 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8508 once_value_181
= fra
.me
.REG
[7];
8509 register_static_object(&once_value_181
);
8510 } else fra
.me
.REG
[7] = once_value_181
;
8511 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8512 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8514 /* ./../lib/standard//collection//array.nit:243 */
8515 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8516 /* ./../lib/standard//collection//array.nit:245 */
8518 /* ./../lib/standard//kernel.nit:213 */
8519 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8520 /* ./../lib/standard//collection//array.nit:245 */
8521 if (UNTAG_Bool(REGB2
)) {
8522 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8523 if (UNTAG_Bool(REGB2
)) {
8525 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
8527 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8528 /* ./../lib/standard//kernel.nit:212 */
8529 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8531 /* ./../lib/standard//collection//array.nit:245 */
8532 REGB0
= TAG_Bool(false);
8535 if (UNTAG_Bool(REGB2
)) {
8537 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
8539 /* ./../lib/standard//collection//array.nit:246 */
8540 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
8541 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8542 if (UNTAG_Bool(REGB2
)) {
8543 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
8545 /* ./../lib/standard//collection//array.nit:654 */
8546 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8547 /* ./../lib/standard//collection//array.nit:246 */
8550 /* ./compiling//compiling_icode.nit:771 */
8551 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8552 if (!once_value_183
) {
8553 fra
.me
.REG
[7] = BOX_NativeString("))");
8555 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8556 once_value_183
= fra
.me
.REG
[7];
8557 register_static_object(&once_value_183
);
8558 } else fra
.me
.REG
[7] = once_value_183
;
8559 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8560 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8561 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8562 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8564 /* ./compiling//compiling_icode.nit:772 */
8565 if (!once_value_184
) {
8566 if (!once_value_185
) {
8567 fra
.me
.REG
[6] = BOX_NativeString(">");
8569 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
8570 once_value_185
= fra
.me
.REG
[6];
8571 register_static_object(&once_value_185
);
8572 } else fra
.me
.REG
[6] = once_value_185
;
8573 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8574 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8575 once_value_184
= fra
.me
.REG
[6];
8576 register_static_object(&once_value_184
);
8577 } else fra
.me
.REG
[6] = once_value_184
;
8578 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8579 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8580 if (UNTAG_Bool(REGB1
)) {
8582 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8585 if (UNTAG_Bool(REGB1
)) {
8586 /* ./compiling//compiling_icode.nit:773 */
8588 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
8589 if (!once_value_186
) {
8590 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNBOX_Float(");
8591 REGB1
= TAG_Int(21);
8592 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8593 once_value_186
= fra
.me
.REG
[7];
8594 register_static_object(&once_value_186
);
8595 } else fra
.me
.REG
[7] = once_value_186
;
8596 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8597 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8599 /* ./../lib/standard//collection//array.nit:243 */
8600 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8601 /* ./../lib/standard//collection//array.nit:245 */
8603 /* ./../lib/standard//kernel.nit:213 */
8604 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8605 /* ./../lib/standard//collection//array.nit:245 */
8606 if (UNTAG_Bool(REGB2
)) {
8607 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8608 if (UNTAG_Bool(REGB2
)) {
8610 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
8612 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8613 /* ./../lib/standard//kernel.nit:212 */
8614 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8616 /* ./../lib/standard//collection//array.nit:245 */
8617 REGB0
= TAG_Bool(false);
8620 if (UNTAG_Bool(REGB2
)) {
8622 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
8624 /* ./../lib/standard//collection//array.nit:246 */
8625 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
8626 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8627 if (UNTAG_Bool(REGB2
)) {
8628 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
8630 /* ./../lib/standard//collection//array.nit:654 */
8631 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8632 /* ./../lib/standard//collection//array.nit:246 */
8635 /* ./compiling//compiling_icode.nit:773 */
8636 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8637 if (!once_value_188
) {
8638 fra
.me
.REG
[7] = BOX_NativeString(")>UNBOX_Float(");
8639 REGB1
= TAG_Int(14);
8640 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8641 once_value_188
= fra
.me
.REG
[7];
8642 register_static_object(&once_value_188
);
8643 } else fra
.me
.REG
[7] = once_value_188
;
8644 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8645 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8647 /* ./../lib/standard//collection//array.nit:243 */
8648 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8649 /* ./../lib/standard//collection//array.nit:245 */
8651 /* ./../lib/standard//kernel.nit:213 */
8652 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8653 /* ./../lib/standard//collection//array.nit:245 */
8654 if (UNTAG_Bool(REGB2
)) {
8655 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8656 if (UNTAG_Bool(REGB2
)) {
8658 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
8660 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8661 /* ./../lib/standard//kernel.nit:212 */
8662 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8664 /* ./../lib/standard//collection//array.nit:245 */
8665 REGB0
= TAG_Bool(false);
8668 if (UNTAG_Bool(REGB2
)) {
8670 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
8672 /* ./../lib/standard//collection//array.nit:246 */
8673 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
8674 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8675 if (UNTAG_Bool(REGB2
)) {
8676 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
8678 /* ./../lib/standard//collection//array.nit:654 */
8679 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8680 /* ./../lib/standard//collection//array.nit:246 */
8683 /* ./compiling//compiling_icode.nit:773 */
8684 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8685 if (!once_value_190
) {
8686 fra
.me
.REG
[7] = BOX_NativeString("))");
8688 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8689 once_value_190
= fra
.me
.REG
[7];
8690 register_static_object(&once_value_190
);
8691 } else fra
.me
.REG
[7] = once_value_190
;
8692 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8693 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8694 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8695 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8697 /* ./compiling//compiling_icode.nit:774 */
8698 if (!once_value_191
) {
8699 if (!once_value_192
) {
8700 fra
.me
.REG
[6] = BOX_NativeString("<=");
8702 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
8703 once_value_192
= fra
.me
.REG
[6];
8704 register_static_object(&once_value_192
);
8705 } else fra
.me
.REG
[6] = once_value_192
;
8706 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8707 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8708 once_value_191
= fra
.me
.REG
[6];
8709 register_static_object(&once_value_191
);
8710 } else fra
.me
.REG
[6] = once_value_191
;
8711 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8712 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8713 if (UNTAG_Bool(REGB1
)) {
8715 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8718 if (UNTAG_Bool(REGB1
)) {
8719 /* ./compiling//compiling_icode.nit:775 */
8721 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
8722 if (!once_value_193
) {
8723 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNBOX_Float(");
8724 REGB1
= TAG_Int(21);
8725 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8726 once_value_193
= fra
.me
.REG
[7];
8727 register_static_object(&once_value_193
);
8728 } else fra
.me
.REG
[7] = once_value_193
;
8729 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8730 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8732 /* ./../lib/standard//collection//array.nit:243 */
8733 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8734 /* ./../lib/standard//collection//array.nit:245 */
8736 /* ./../lib/standard//kernel.nit:213 */
8737 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8738 /* ./../lib/standard//collection//array.nit:245 */
8739 if (UNTAG_Bool(REGB2
)) {
8740 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8741 if (UNTAG_Bool(REGB2
)) {
8743 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
8745 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8746 /* ./../lib/standard//kernel.nit:212 */
8747 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8749 /* ./../lib/standard//collection//array.nit:245 */
8750 REGB0
= TAG_Bool(false);
8753 if (UNTAG_Bool(REGB2
)) {
8755 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
8757 /* ./../lib/standard//collection//array.nit:246 */
8758 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
8759 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8760 if (UNTAG_Bool(REGB2
)) {
8761 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
8763 /* ./../lib/standard//collection//array.nit:654 */
8764 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8765 /* ./../lib/standard//collection//array.nit:246 */
8768 /* ./compiling//compiling_icode.nit:775 */
8769 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8770 if (!once_value_195
) {
8771 fra
.me
.REG
[7] = BOX_NativeString(")<=UNBOX_Float(");
8772 REGB1
= TAG_Int(15);
8773 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8774 once_value_195
= fra
.me
.REG
[7];
8775 register_static_object(&once_value_195
);
8776 } else fra
.me
.REG
[7] = once_value_195
;
8777 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8778 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8780 /* ./../lib/standard//collection//array.nit:243 */
8781 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8782 /* ./../lib/standard//collection//array.nit:245 */
8784 /* ./../lib/standard//kernel.nit:213 */
8785 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8786 /* ./../lib/standard//collection//array.nit:245 */
8787 if (UNTAG_Bool(REGB2
)) {
8788 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8789 if (UNTAG_Bool(REGB2
)) {
8791 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
8793 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8794 /* ./../lib/standard//kernel.nit:212 */
8795 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8797 /* ./../lib/standard//collection//array.nit:245 */
8798 REGB0
= TAG_Bool(false);
8801 if (UNTAG_Bool(REGB2
)) {
8803 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
8805 /* ./../lib/standard//collection//array.nit:246 */
8806 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
8807 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8808 if (UNTAG_Bool(REGB2
)) {
8809 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
8811 /* ./../lib/standard//collection//array.nit:654 */
8812 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8813 /* ./../lib/standard//collection//array.nit:246 */
8816 /* ./compiling//compiling_icode.nit:775 */
8817 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8818 if (!once_value_197
) {
8819 fra
.me
.REG
[7] = BOX_NativeString("))");
8821 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8822 once_value_197
= fra
.me
.REG
[7];
8823 register_static_object(&once_value_197
);
8824 } else fra
.me
.REG
[7] = once_value_197
;
8825 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8826 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8827 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8828 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8830 /* ./compiling//compiling_icode.nit:776 */
8831 if (!once_value_198
) {
8832 if (!once_value_199
) {
8833 fra
.me
.REG
[6] = BOX_NativeString(">=");
8835 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
8836 once_value_199
= fra
.me
.REG
[6];
8837 register_static_object(&once_value_199
);
8838 } else fra
.me
.REG
[6] = once_value_199
;
8839 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8840 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8841 once_value_198
= fra
.me
.REG
[6];
8842 register_static_object(&once_value_198
);
8843 } else fra
.me
.REG
[6] = once_value_198
;
8844 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8845 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8846 if (UNTAG_Bool(REGB1
)) {
8848 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8851 if (UNTAG_Bool(REGB1
)) {
8852 /* ./compiling//compiling_icode.nit:777 */
8854 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
8855 if (!once_value_200
) {
8856 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNBOX_Float(");
8857 REGB1
= TAG_Int(21);
8858 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8859 once_value_200
= fra
.me
.REG
[7];
8860 register_static_object(&once_value_200
);
8861 } else fra
.me
.REG
[7] = once_value_200
;
8862 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8863 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8865 /* ./../lib/standard//collection//array.nit:243 */
8866 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8867 /* ./../lib/standard//collection//array.nit:245 */
8869 /* ./../lib/standard//kernel.nit:213 */
8870 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8871 /* ./../lib/standard//collection//array.nit:245 */
8872 if (UNTAG_Bool(REGB2
)) {
8873 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8874 if (UNTAG_Bool(REGB2
)) {
8876 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
8878 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8879 /* ./../lib/standard//kernel.nit:212 */
8880 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8882 /* ./../lib/standard//collection//array.nit:245 */
8883 REGB0
= TAG_Bool(false);
8886 if (UNTAG_Bool(REGB2
)) {
8888 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
8890 /* ./../lib/standard//collection//array.nit:246 */
8891 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
8892 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8893 if (UNTAG_Bool(REGB2
)) {
8894 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
8896 /* ./../lib/standard//collection//array.nit:654 */
8897 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8898 /* ./../lib/standard//collection//array.nit:246 */
8901 /* ./compiling//compiling_icode.nit:777 */
8902 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8903 if (!once_value_202
) {
8904 fra
.me
.REG
[7] = BOX_NativeString(")>=UNBOX_Float(");
8905 REGB1
= TAG_Int(15);
8906 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8907 once_value_202
= fra
.me
.REG
[7];
8908 register_static_object(&once_value_202
);
8909 } else fra
.me
.REG
[7] = once_value_202
;
8910 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8911 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8913 /* ./../lib/standard//collection//array.nit:243 */
8914 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8915 /* ./../lib/standard//collection//array.nit:245 */
8917 /* ./../lib/standard//kernel.nit:213 */
8918 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8919 /* ./../lib/standard//collection//array.nit:245 */
8920 if (UNTAG_Bool(REGB2
)) {
8921 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8922 if (UNTAG_Bool(REGB2
)) {
8924 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
8926 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8927 /* ./../lib/standard//kernel.nit:212 */
8928 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8930 /* ./../lib/standard//collection//array.nit:245 */
8931 REGB0
= TAG_Bool(false);
8934 if (UNTAG_Bool(REGB2
)) {
8936 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
8938 /* ./../lib/standard//collection//array.nit:246 */
8939 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
8940 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8941 if (UNTAG_Bool(REGB2
)) {
8942 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
8944 /* ./../lib/standard//collection//array.nit:654 */
8945 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8946 /* ./../lib/standard//collection//array.nit:246 */
8949 /* ./compiling//compiling_icode.nit:777 */
8950 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8951 if (!once_value_204
) {
8952 fra
.me
.REG
[7] = BOX_NativeString("))");
8954 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
8955 once_value_204
= fra
.me
.REG
[7];
8956 register_static_object(&once_value_204
);
8957 } else fra
.me
.REG
[7] = once_value_204
;
8958 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8959 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8960 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8961 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8975 /* ./compiling//compiling_icode.nit:779 */
8976 if (!once_value_205
) {
8977 if (!once_value_206
) {
8978 fra
.me
.REG
[6] = BOX_NativeString("Char");
8980 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
8981 once_value_206
= fra
.me
.REG
[6];
8982 register_static_object(&once_value_206
);
8983 } else fra
.me
.REG
[6] = once_value_206
;
8984 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8985 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8986 once_value_205
= fra
.me
.REG
[6];
8987 register_static_object(&once_value_205
);
8988 } else fra
.me
.REG
[6] = once_value_205
;
8989 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8990 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
8991 if (UNTAG_Bool(REGB1
)) {
8993 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
8996 if (UNTAG_Bool(REGB1
)) {
8997 /* ./compiling//compiling_icode.nit:780 */
8998 if (!once_value_207
) {
8999 if (!once_value_208
) {
9000 fra
.me
.REG
[6] = BOX_NativeString("object_id");
9002 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
9003 once_value_208
= fra
.me
.REG
[6];
9004 register_static_object(&once_value_208
);
9005 } else fra
.me
.REG
[6] = once_value_208
;
9006 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9007 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9008 once_value_207
= fra
.me
.REG
[6];
9009 register_static_object(&once_value_207
);
9010 } else fra
.me
.REG
[6] = once_value_207
;
9011 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9012 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9013 if (UNTAG_Bool(REGB1
)) {
9015 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9018 if (UNTAG_Bool(REGB1
)) {
9019 /* ./compiling//compiling_icode.nit:781 */
9021 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
9022 if (!once_value_209
) {
9023 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Char(");
9024 REGB1
= TAG_Int(19);
9025 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9026 once_value_209
= fra
.me
.REG
[7];
9027 register_static_object(&once_value_209
);
9028 } else fra
.me
.REG
[7] = once_value_209
;
9029 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9030 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9032 /* ./../lib/standard//collection//array.nit:243 */
9033 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9034 /* ./../lib/standard//collection//array.nit:245 */
9036 /* ./../lib/standard//kernel.nit:213 */
9037 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9038 /* ./../lib/standard//collection//array.nit:245 */
9039 if (UNTAG_Bool(REGB2
)) {
9040 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9041 if (UNTAG_Bool(REGB2
)) {
9043 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
9045 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9046 /* ./../lib/standard//kernel.nit:212 */
9047 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9049 /* ./../lib/standard//collection//array.nit:245 */
9050 REGB0
= TAG_Bool(false);
9053 if (UNTAG_Bool(REGB2
)) {
9055 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
9057 /* ./../lib/standard//collection//array.nit:246 */
9058 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
9059 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9060 if (UNTAG_Bool(REGB2
)) {
9061 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
9063 /* ./../lib/standard//collection//array.nit:654 */
9064 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9065 /* ./../lib/standard//collection//array.nit:246 */
9068 /* ./compiling//compiling_icode.nit:781 */
9069 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9070 if (!once_value_211
) {
9071 fra
.me
.REG
[7] = BOX_NativeString("))");
9073 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9074 once_value_211
= fra
.me
.REG
[7];
9075 register_static_object(&once_value_211
);
9076 } else fra
.me
.REG
[7] = once_value_211
;
9077 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9078 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9079 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9080 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9082 /* ./compiling//compiling_icode.nit:782 */
9083 if (!once_value_212
) {
9084 if (!once_value_213
) {
9085 fra
.me
.REG
[6] = BOX_NativeString("unary -");
9087 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
9088 once_value_213
= fra
.me
.REG
[6];
9089 register_static_object(&once_value_213
);
9090 } else fra
.me
.REG
[6] = once_value_213
;
9091 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9092 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9093 once_value_212
= fra
.me
.REG
[6];
9094 register_static_object(&once_value_212
);
9095 } else fra
.me
.REG
[6] = once_value_212
;
9096 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9097 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9098 if (UNTAG_Bool(REGB1
)) {
9100 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9103 if (UNTAG_Bool(REGB1
)) {
9104 /* ./compiling//compiling_icode.nit:783 */
9106 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
9107 if (!once_value_214
) {
9108 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(-UNTAG_Char(");
9109 REGB1
= TAG_Int(21);
9110 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9111 once_value_214
= fra
.me
.REG
[7];
9112 register_static_object(&once_value_214
);
9113 } else fra
.me
.REG
[7] = once_value_214
;
9114 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9115 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9117 /* ./../lib/standard//collection//array.nit:243 */
9118 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9119 /* ./../lib/standard//collection//array.nit:245 */
9121 /* ./../lib/standard//kernel.nit:213 */
9122 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9123 /* ./../lib/standard//collection//array.nit:245 */
9124 if (UNTAG_Bool(REGB2
)) {
9125 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9126 if (UNTAG_Bool(REGB2
)) {
9128 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
9130 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9131 /* ./../lib/standard//kernel.nit:212 */
9132 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9134 /* ./../lib/standard//collection//array.nit:245 */
9135 REGB0
= TAG_Bool(false);
9138 if (UNTAG_Bool(REGB2
)) {
9140 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
9142 /* ./../lib/standard//collection//array.nit:246 */
9143 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
9144 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9145 if (UNTAG_Bool(REGB2
)) {
9146 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
9148 /* ./../lib/standard//collection//array.nit:654 */
9149 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9150 /* ./../lib/standard//collection//array.nit:246 */
9153 /* ./compiling//compiling_icode.nit:783 */
9154 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9155 if (!once_value_216
) {
9156 fra
.me
.REG
[7] = BOX_NativeString("))");
9158 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9159 once_value_216
= fra
.me
.REG
[7];
9160 register_static_object(&once_value_216
);
9161 } else fra
.me
.REG
[7] = once_value_216
;
9162 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9163 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9164 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9165 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9167 /* ./compiling//compiling_icode.nit:784 */
9168 if (!once_value_217
) {
9169 if (!once_value_218
) {
9170 fra
.me
.REG
[6] = BOX_NativeString("output");
9172 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
9173 once_value_218
= fra
.me
.REG
[6];
9174 register_static_object(&once_value_218
);
9175 } else fra
.me
.REG
[6] = once_value_218
;
9176 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9177 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9178 once_value_217
= fra
.me
.REG
[6];
9179 register_static_object(&once_value_217
);
9180 } else fra
.me
.REG
[6] = once_value_217
;
9181 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9182 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9183 if (UNTAG_Bool(REGB1
)) {
9185 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9188 if (UNTAG_Bool(REGB1
)) {
9189 /* ./compiling//compiling_icode.nit:785 */
9191 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
9192 if (!once_value_219
) {
9193 fra
.me
.REG
[7] = BOX_NativeString("printf(\"%c\", (unsigned char)UNTAG_Char(");
9194 REGB1
= TAG_Int(39);
9195 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9196 once_value_219
= fra
.me
.REG
[7];
9197 register_static_object(&once_value_219
);
9198 } else fra
.me
.REG
[7] = once_value_219
;
9199 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9200 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9202 /* ./../lib/standard//collection//array.nit:243 */
9203 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9204 /* ./../lib/standard//collection//array.nit:245 */
9206 /* ./../lib/standard//kernel.nit:213 */
9207 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9208 /* ./../lib/standard//collection//array.nit:245 */
9209 if (UNTAG_Bool(REGB2
)) {
9210 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9211 if (UNTAG_Bool(REGB2
)) {
9213 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
9215 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9216 /* ./../lib/standard//kernel.nit:212 */
9217 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9219 /* ./../lib/standard//collection//array.nit:245 */
9220 REGB0
= TAG_Bool(false);
9223 if (UNTAG_Bool(REGB2
)) {
9225 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
9227 /* ./../lib/standard//collection//array.nit:246 */
9228 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
9229 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9230 if (UNTAG_Bool(REGB2
)) {
9231 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
9233 /* ./../lib/standard//collection//array.nit:654 */
9234 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9235 /* ./../lib/standard//collection//array.nit:246 */
9238 /* ./compiling//compiling_icode.nit:785 */
9239 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9240 if (!once_value_221
) {
9241 fra
.me
.REG
[7] = BOX_NativeString("));");
9243 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9244 once_value_221
= fra
.me
.REG
[7];
9245 register_static_object(&once_value_221
);
9246 } else fra
.me
.REG
[7] = once_value_221
;
9247 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9248 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9249 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9250 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9252 /* ./compiling//compiling_icode.nit:786 */
9253 if (!once_value_222
) {
9254 if (!once_value_223
) {
9255 fra
.me
.REG
[6] = BOX_NativeString("ascii");
9257 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
9258 once_value_223
= fra
.me
.REG
[6];
9259 register_static_object(&once_value_223
);
9260 } else fra
.me
.REG
[6] = once_value_223
;
9261 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9262 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9263 once_value_222
= fra
.me
.REG
[6];
9264 register_static_object(&once_value_222
);
9265 } else fra
.me
.REG
[6] = once_value_222
;
9266 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9267 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9268 if (UNTAG_Bool(REGB1
)) {
9270 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9273 if (UNTAG_Bool(REGB1
)) {
9274 /* ./compiling//compiling_icode.nit:787 */
9276 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
9277 if (!once_value_224
) {
9278 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int((unsigned char)UNTAG_Char(");
9279 REGB1
= TAG_Int(34);
9280 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9281 once_value_224
= fra
.me
.REG
[7];
9282 register_static_object(&once_value_224
);
9283 } else fra
.me
.REG
[7] = once_value_224
;
9284 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9285 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9287 /* ./../lib/standard//collection//array.nit:243 */
9288 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9289 /* ./../lib/standard//collection//array.nit:245 */
9291 /* ./../lib/standard//kernel.nit:213 */
9292 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9293 /* ./../lib/standard//collection//array.nit:245 */
9294 if (UNTAG_Bool(REGB2
)) {
9295 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9296 if (UNTAG_Bool(REGB2
)) {
9298 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
9300 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9301 /* ./../lib/standard//kernel.nit:212 */
9302 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9304 /* ./../lib/standard//collection//array.nit:245 */
9305 REGB0
= TAG_Bool(false);
9308 if (UNTAG_Bool(REGB2
)) {
9310 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
9312 /* ./../lib/standard//collection//array.nit:246 */
9313 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
9314 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9315 if (UNTAG_Bool(REGB2
)) {
9316 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
9318 /* ./../lib/standard//collection//array.nit:654 */
9319 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9320 /* ./../lib/standard//collection//array.nit:246 */
9323 /* ./compiling//compiling_icode.nit:787 */
9324 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9325 if (!once_value_226
) {
9326 fra
.me
.REG
[7] = BOX_NativeString("))");
9328 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9329 once_value_226
= fra
.me
.REG
[7];
9330 register_static_object(&once_value_226
);
9331 } else fra
.me
.REG
[7] = once_value_226
;
9332 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9333 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9334 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9335 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9337 /* ./compiling//compiling_icode.nit:788 */
9338 if (!once_value_227
) {
9339 if (!once_value_228
) {
9340 fra
.me
.REG
[6] = BOX_NativeString("succ");
9342 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
9343 once_value_228
= fra
.me
.REG
[6];
9344 register_static_object(&once_value_228
);
9345 } else fra
.me
.REG
[6] = once_value_228
;
9346 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9347 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9348 once_value_227
= fra
.me
.REG
[6];
9349 register_static_object(&once_value_227
);
9350 } else fra
.me
.REG
[6] = once_value_227
;
9351 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9352 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9353 if (UNTAG_Bool(REGB1
)) {
9355 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9358 if (UNTAG_Bool(REGB1
)) {
9359 /* ./compiling//compiling_icode.nit:789 */
9361 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
9362 if (!once_value_229
) {
9363 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
9364 REGB1
= TAG_Int(20);
9365 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9366 once_value_229
= fra
.me
.REG
[7];
9367 register_static_object(&once_value_229
);
9368 } else fra
.me
.REG
[7] = once_value_229
;
9369 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9370 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9372 /* ./../lib/standard//collection//array.nit:243 */
9373 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9374 /* ./../lib/standard//collection//array.nit:245 */
9376 /* ./../lib/standard//kernel.nit:213 */
9377 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9378 /* ./../lib/standard//collection//array.nit:245 */
9379 if (UNTAG_Bool(REGB2
)) {
9380 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9381 if (UNTAG_Bool(REGB2
)) {
9383 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
9385 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9386 /* ./../lib/standard//kernel.nit:212 */
9387 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9389 /* ./../lib/standard//collection//array.nit:245 */
9390 REGB0
= TAG_Bool(false);
9393 if (UNTAG_Bool(REGB2
)) {
9395 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
9397 /* ./../lib/standard//collection//array.nit:246 */
9398 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
9399 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9400 if (UNTAG_Bool(REGB2
)) {
9401 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
9403 /* ./../lib/standard//collection//array.nit:654 */
9404 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9405 /* ./../lib/standard//collection//array.nit:246 */
9408 /* ./compiling//compiling_icode.nit:789 */
9409 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9410 if (!once_value_231
) {
9411 fra
.me
.REG
[7] = BOX_NativeString(")+1)");
9413 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9414 once_value_231
= fra
.me
.REG
[7];
9415 register_static_object(&once_value_231
);
9416 } else fra
.me
.REG
[7] = once_value_231
;
9417 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9418 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9419 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9420 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9422 /* ./compiling//compiling_icode.nit:790 */
9423 if (!once_value_232
) {
9424 if (!once_value_233
) {
9425 fra
.me
.REG
[6] = BOX_NativeString("prec");
9427 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
9428 once_value_233
= fra
.me
.REG
[6];
9429 register_static_object(&once_value_233
);
9430 } else fra
.me
.REG
[6] = once_value_233
;
9431 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9432 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9433 once_value_232
= fra
.me
.REG
[6];
9434 register_static_object(&once_value_232
);
9435 } else fra
.me
.REG
[6] = once_value_232
;
9436 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9437 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9438 if (UNTAG_Bool(REGB1
)) {
9440 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9443 if (UNTAG_Bool(REGB1
)) {
9444 /* ./compiling//compiling_icode.nit:791 */
9446 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
9447 if (!once_value_234
) {
9448 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
9449 REGB1
= TAG_Int(20);
9450 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9451 once_value_234
= fra
.me
.REG
[7];
9452 register_static_object(&once_value_234
);
9453 } else fra
.me
.REG
[7] = once_value_234
;
9454 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9455 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9457 /* ./../lib/standard//collection//array.nit:243 */
9458 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9459 /* ./../lib/standard//collection//array.nit:245 */
9461 /* ./../lib/standard//kernel.nit:213 */
9462 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9463 /* ./../lib/standard//collection//array.nit:245 */
9464 if (UNTAG_Bool(REGB2
)) {
9465 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9466 if (UNTAG_Bool(REGB2
)) {
9468 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
9470 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9471 /* ./../lib/standard//kernel.nit:212 */
9472 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9474 /* ./../lib/standard//collection//array.nit:245 */
9475 REGB0
= TAG_Bool(false);
9478 if (UNTAG_Bool(REGB2
)) {
9480 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
9482 /* ./../lib/standard//collection//array.nit:246 */
9483 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
9484 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9485 if (UNTAG_Bool(REGB2
)) {
9486 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
9488 /* ./../lib/standard//collection//array.nit:654 */
9489 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9490 /* ./../lib/standard//collection//array.nit:246 */
9493 /* ./compiling//compiling_icode.nit:791 */
9494 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9495 if (!once_value_236
) {
9496 fra
.me
.REG
[7] = BOX_NativeString(")-1)");
9498 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9499 once_value_236
= fra
.me
.REG
[7];
9500 register_static_object(&once_value_236
);
9501 } else fra
.me
.REG
[7] = once_value_236
;
9502 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9503 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9504 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9505 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9507 /* ./compiling//compiling_icode.nit:792 */
9508 if (!once_value_237
) {
9509 if (!once_value_238
) {
9510 fra
.me
.REG
[6] = BOX_NativeString("to_i");
9512 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
9513 once_value_238
= fra
.me
.REG
[6];
9514 register_static_object(&once_value_238
);
9515 } else fra
.me
.REG
[6] = once_value_238
;
9516 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9517 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9518 once_value_237
= fra
.me
.REG
[6];
9519 register_static_object(&once_value_237
);
9520 } else fra
.me
.REG
[6] = once_value_237
;
9521 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9522 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9523 if (UNTAG_Bool(REGB1
)) {
9525 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9528 if (UNTAG_Bool(REGB1
)) {
9529 /* ./compiling//compiling_icode.nit:793 */
9531 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
9532 if (!once_value_239
) {
9533 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Char(");
9534 REGB1
= TAG_Int(19);
9535 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9536 once_value_239
= fra
.me
.REG
[7];
9537 register_static_object(&once_value_239
);
9538 } else fra
.me
.REG
[7] = once_value_239
;
9539 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9540 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9542 /* ./../lib/standard//collection//array.nit:243 */
9543 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9544 /* ./../lib/standard//collection//array.nit:245 */
9546 /* ./../lib/standard//kernel.nit:213 */
9547 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9548 /* ./../lib/standard//collection//array.nit:245 */
9549 if (UNTAG_Bool(REGB2
)) {
9550 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9551 if (UNTAG_Bool(REGB2
)) {
9553 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
9555 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9556 /* ./../lib/standard//kernel.nit:212 */
9557 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9559 /* ./../lib/standard//collection//array.nit:245 */
9560 REGB0
= TAG_Bool(false);
9563 if (UNTAG_Bool(REGB2
)) {
9565 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
9567 /* ./../lib/standard//collection//array.nit:246 */
9568 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
9569 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9570 if (UNTAG_Bool(REGB2
)) {
9571 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
9573 /* ./../lib/standard//collection//array.nit:654 */
9574 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9575 /* ./../lib/standard//collection//array.nit:246 */
9578 /* ./compiling//compiling_icode.nit:793 */
9579 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9580 if (!once_value_241
) {
9581 fra
.me
.REG
[7] = BOX_NativeString(")-'0')");
9583 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9584 once_value_241
= fra
.me
.REG
[7];
9585 register_static_object(&once_value_241
);
9586 } else fra
.me
.REG
[7] = once_value_241
;
9587 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9588 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9589 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9590 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9592 /* ./compiling//compiling_icode.nit:794 */
9593 if (!once_value_242
) {
9594 if (!once_value_243
) {
9595 fra
.me
.REG
[6] = BOX_NativeString("+");
9597 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
9598 once_value_243
= fra
.me
.REG
[6];
9599 register_static_object(&once_value_243
);
9600 } else fra
.me
.REG
[6] = once_value_243
;
9601 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9602 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9603 once_value_242
= fra
.me
.REG
[6];
9604 register_static_object(&once_value_242
);
9605 } else fra
.me
.REG
[6] = once_value_242
;
9606 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9607 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9608 if (UNTAG_Bool(REGB1
)) {
9610 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9613 if (UNTAG_Bool(REGB1
)) {
9614 /* ./compiling//compiling_icode.nit:795 */
9616 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
9617 if (!once_value_244
) {
9618 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
9619 REGB1
= TAG_Int(20);
9620 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9621 once_value_244
= fra
.me
.REG
[7];
9622 register_static_object(&once_value_244
);
9623 } else fra
.me
.REG
[7] = once_value_244
;
9624 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9625 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9627 /* ./../lib/standard//collection//array.nit:243 */
9628 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9629 /* ./../lib/standard//collection//array.nit:245 */
9631 /* ./../lib/standard//kernel.nit:213 */
9632 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9633 /* ./../lib/standard//collection//array.nit:245 */
9634 if (UNTAG_Bool(REGB2
)) {
9635 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9636 if (UNTAG_Bool(REGB2
)) {
9638 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
9640 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9641 /* ./../lib/standard//kernel.nit:212 */
9642 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9644 /* ./../lib/standard//collection//array.nit:245 */
9645 REGB0
= TAG_Bool(false);
9648 if (UNTAG_Bool(REGB2
)) {
9650 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
9652 /* ./../lib/standard//collection//array.nit:246 */
9653 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
9654 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9655 if (UNTAG_Bool(REGB2
)) {
9656 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
9658 /* ./../lib/standard//collection//array.nit:654 */
9659 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9660 /* ./../lib/standard//collection//array.nit:246 */
9663 /* ./compiling//compiling_icode.nit:795 */
9664 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9665 if (!once_value_246
) {
9666 fra
.me
.REG
[7] = BOX_NativeString(")+UNTAG_Char(");
9667 REGB1
= TAG_Int(13);
9668 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9669 once_value_246
= fra
.me
.REG
[7];
9670 register_static_object(&once_value_246
);
9671 } else fra
.me
.REG
[7] = once_value_246
;
9672 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9673 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9675 /* ./../lib/standard//collection//array.nit:243 */
9676 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9677 /* ./../lib/standard//collection//array.nit:245 */
9679 /* ./../lib/standard//kernel.nit:213 */
9680 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9681 /* ./../lib/standard//collection//array.nit:245 */
9682 if (UNTAG_Bool(REGB2
)) {
9683 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9684 if (UNTAG_Bool(REGB2
)) {
9686 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
9688 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9689 /* ./../lib/standard//kernel.nit:212 */
9690 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9692 /* ./../lib/standard//collection//array.nit:245 */
9693 REGB0
= TAG_Bool(false);
9696 if (UNTAG_Bool(REGB2
)) {
9698 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
9700 /* ./../lib/standard//collection//array.nit:246 */
9701 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
9702 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9703 if (UNTAG_Bool(REGB2
)) {
9704 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
9706 /* ./../lib/standard//collection//array.nit:654 */
9707 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9708 /* ./../lib/standard//collection//array.nit:246 */
9711 /* ./compiling//compiling_icode.nit:795 */
9712 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9713 if (!once_value_248
) {
9714 fra
.me
.REG
[7] = BOX_NativeString("))");
9716 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9717 once_value_248
= fra
.me
.REG
[7];
9718 register_static_object(&once_value_248
);
9719 } else fra
.me
.REG
[7] = once_value_248
;
9720 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9721 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9722 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9723 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9725 /* ./compiling//compiling_icode.nit:796 */
9726 if (!once_value_249
) {
9727 if (!once_value_250
) {
9728 fra
.me
.REG
[6] = BOX_NativeString("-");
9730 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
9731 once_value_250
= fra
.me
.REG
[6];
9732 register_static_object(&once_value_250
);
9733 } else fra
.me
.REG
[6] = once_value_250
;
9734 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9735 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9736 once_value_249
= fra
.me
.REG
[6];
9737 register_static_object(&once_value_249
);
9738 } else fra
.me
.REG
[6] = once_value_249
;
9739 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9740 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9741 if (UNTAG_Bool(REGB1
)) {
9743 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9746 if (UNTAG_Bool(REGB1
)) {
9747 /* ./compiling//compiling_icode.nit:797 */
9749 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
9750 if (!once_value_251
) {
9751 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
9752 REGB1
= TAG_Int(20);
9753 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9754 once_value_251
= fra
.me
.REG
[7];
9755 register_static_object(&once_value_251
);
9756 } else fra
.me
.REG
[7] = once_value_251
;
9757 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9758 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9760 /* ./../lib/standard//collection//array.nit:243 */
9761 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9762 /* ./../lib/standard//collection//array.nit:245 */
9764 /* ./../lib/standard//kernel.nit:213 */
9765 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9766 /* ./../lib/standard//collection//array.nit:245 */
9767 if (UNTAG_Bool(REGB2
)) {
9768 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9769 if (UNTAG_Bool(REGB2
)) {
9771 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
9773 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9774 /* ./../lib/standard//kernel.nit:212 */
9775 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9777 /* ./../lib/standard//collection//array.nit:245 */
9778 REGB0
= TAG_Bool(false);
9781 if (UNTAG_Bool(REGB2
)) {
9783 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
9785 /* ./../lib/standard//collection//array.nit:246 */
9786 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
9787 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9788 if (UNTAG_Bool(REGB2
)) {
9789 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
9791 /* ./../lib/standard//collection//array.nit:654 */
9792 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9793 /* ./../lib/standard//collection//array.nit:246 */
9796 /* ./compiling//compiling_icode.nit:797 */
9797 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9798 if (!once_value_253
) {
9799 fra
.me
.REG
[7] = BOX_NativeString(")-UNTAG_Char(");
9800 REGB1
= TAG_Int(13);
9801 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9802 once_value_253
= fra
.me
.REG
[7];
9803 register_static_object(&once_value_253
);
9804 } else fra
.me
.REG
[7] = once_value_253
;
9805 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9806 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9808 /* ./../lib/standard//collection//array.nit:243 */
9809 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9810 /* ./../lib/standard//collection//array.nit:245 */
9812 /* ./../lib/standard//kernel.nit:213 */
9813 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9814 /* ./../lib/standard//collection//array.nit:245 */
9815 if (UNTAG_Bool(REGB2
)) {
9816 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9817 if (UNTAG_Bool(REGB2
)) {
9819 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
9821 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9822 /* ./../lib/standard//kernel.nit:212 */
9823 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9825 /* ./../lib/standard//collection//array.nit:245 */
9826 REGB0
= TAG_Bool(false);
9829 if (UNTAG_Bool(REGB2
)) {
9831 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
9833 /* ./../lib/standard//collection//array.nit:246 */
9834 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
9835 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9836 if (UNTAG_Bool(REGB2
)) {
9837 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
9839 /* ./../lib/standard//collection//array.nit:654 */
9840 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9841 /* ./../lib/standard//collection//array.nit:246 */
9844 /* ./compiling//compiling_icode.nit:797 */
9845 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9846 if (!once_value_255
) {
9847 fra
.me
.REG
[7] = BOX_NativeString("))");
9849 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9850 once_value_255
= fra
.me
.REG
[7];
9851 register_static_object(&once_value_255
);
9852 } else fra
.me
.REG
[7] = once_value_255
;
9853 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9854 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9855 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9856 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9858 /* ./compiling//compiling_icode.nit:798 */
9859 if (!once_value_256
) {
9860 if (!once_value_257
) {
9861 fra
.me
.REG
[6] = BOX_NativeString("*");
9863 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
9864 once_value_257
= fra
.me
.REG
[6];
9865 register_static_object(&once_value_257
);
9866 } else fra
.me
.REG
[6] = once_value_257
;
9867 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9868 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9869 once_value_256
= fra
.me
.REG
[6];
9870 register_static_object(&once_value_256
);
9871 } else fra
.me
.REG
[6] = once_value_256
;
9872 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9873 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9874 if (UNTAG_Bool(REGB1
)) {
9876 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9879 if (UNTAG_Bool(REGB1
)) {
9880 /* ./compiling//compiling_icode.nit:799 */
9882 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
9883 if (!once_value_258
) {
9884 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
9885 REGB1
= TAG_Int(20);
9886 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9887 once_value_258
= fra
.me
.REG
[7];
9888 register_static_object(&once_value_258
);
9889 } else fra
.me
.REG
[7] = once_value_258
;
9890 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9891 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9893 /* ./../lib/standard//collection//array.nit:243 */
9894 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9895 /* ./../lib/standard//collection//array.nit:245 */
9897 /* ./../lib/standard//kernel.nit:213 */
9898 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9899 /* ./../lib/standard//collection//array.nit:245 */
9900 if (UNTAG_Bool(REGB2
)) {
9901 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9902 if (UNTAG_Bool(REGB2
)) {
9904 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
9906 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9907 /* ./../lib/standard//kernel.nit:212 */
9908 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9910 /* ./../lib/standard//collection//array.nit:245 */
9911 REGB0
= TAG_Bool(false);
9914 if (UNTAG_Bool(REGB2
)) {
9916 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
9918 /* ./../lib/standard//collection//array.nit:246 */
9919 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
9920 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9921 if (UNTAG_Bool(REGB2
)) {
9922 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
9924 /* ./../lib/standard//collection//array.nit:654 */
9925 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9926 /* ./../lib/standard//collection//array.nit:246 */
9929 /* ./compiling//compiling_icode.nit:799 */
9930 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9931 if (!once_value_260
) {
9932 fra
.me
.REG
[7] = BOX_NativeString(")*UNTAG_Char(");
9933 REGB1
= TAG_Int(13);
9934 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9935 once_value_260
= fra
.me
.REG
[7];
9936 register_static_object(&once_value_260
);
9937 } else fra
.me
.REG
[7] = once_value_260
;
9938 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9939 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9941 /* ./../lib/standard//collection//array.nit:243 */
9942 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9943 /* ./../lib/standard//collection//array.nit:245 */
9945 /* ./../lib/standard//kernel.nit:213 */
9946 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9947 /* ./../lib/standard//collection//array.nit:245 */
9948 if (UNTAG_Bool(REGB2
)) {
9949 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9950 if (UNTAG_Bool(REGB2
)) {
9952 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
9954 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9955 /* ./../lib/standard//kernel.nit:212 */
9956 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9958 /* ./../lib/standard//collection//array.nit:245 */
9959 REGB0
= TAG_Bool(false);
9962 if (UNTAG_Bool(REGB2
)) {
9964 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
9966 /* ./../lib/standard//collection//array.nit:246 */
9967 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
9968 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9969 if (UNTAG_Bool(REGB2
)) {
9970 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
9972 /* ./../lib/standard//collection//array.nit:654 */
9973 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9974 /* ./../lib/standard//collection//array.nit:246 */
9977 /* ./compiling//compiling_icode.nit:799 */
9978 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9979 if (!once_value_262
) {
9980 fra
.me
.REG
[7] = BOX_NativeString("))");
9982 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
9983 once_value_262
= fra
.me
.REG
[7];
9984 register_static_object(&once_value_262
);
9985 } else fra
.me
.REG
[7] = once_value_262
;
9986 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9987 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9988 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9989 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9991 /* ./compiling//compiling_icode.nit:800 */
9992 if (!once_value_263
) {
9993 if (!once_value_264
) {
9994 fra
.me
.REG
[6] = BOX_NativeString("/");
9996 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
9997 once_value_264
= fra
.me
.REG
[6];
9998 register_static_object(&once_value_264
);
9999 } else fra
.me
.REG
[6] = once_value_264
;
10000 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10001 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10002 once_value_263
= fra
.me
.REG
[6];
10003 register_static_object(&once_value_263
);
10004 } else fra
.me
.REG
[6] = once_value_263
;
10005 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10006 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10007 if (UNTAG_Bool(REGB1
)) {
10009 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10012 if (UNTAG_Bool(REGB1
)) {
10013 /* ./compiling//compiling_icode.nit:801 */
10014 REGB1
= TAG_Int(5);
10015 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
10016 if (!once_value_265
) {
10017 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10018 REGB1
= TAG_Int(20);
10019 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10020 once_value_265
= fra
.me
.REG
[7];
10021 register_static_object(&once_value_265
);
10022 } else fra
.me
.REG
[7] = once_value_265
;
10023 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10024 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10025 REGB1
= TAG_Int(0);
10026 /* ./../lib/standard//collection//array.nit:243 */
10027 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10028 /* ./../lib/standard//collection//array.nit:245 */
10029 REGB2
= TAG_Int(0);
10030 /* ./../lib/standard//kernel.nit:213 */
10031 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10032 /* ./../lib/standard//collection//array.nit:245 */
10033 if (UNTAG_Bool(REGB2
)) {
10034 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10035 if (UNTAG_Bool(REGB2
)) {
10037 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
10039 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10040 /* ./../lib/standard//kernel.nit:212 */
10041 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10043 /* ./../lib/standard//collection//array.nit:245 */
10044 REGB0
= TAG_Bool(false);
10047 if (UNTAG_Bool(REGB2
)) {
10049 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
10051 /* ./../lib/standard//collection//array.nit:246 */
10052 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
10053 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10054 if (UNTAG_Bool(REGB2
)) {
10055 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
10057 /* ./../lib/standard//collection//array.nit:654 */
10058 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10059 /* ./../lib/standard//collection//array.nit:246 */
10061 label266
: while(0);
10062 /* ./compiling//compiling_icode.nit:801 */
10063 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10064 if (!once_value_267
) {
10065 fra
.me
.REG
[7] = BOX_NativeString(")/UNTAG_Char(");
10066 REGB1
= TAG_Int(13);
10067 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10068 once_value_267
= fra
.me
.REG
[7];
10069 register_static_object(&once_value_267
);
10070 } else fra
.me
.REG
[7] = once_value_267
;
10071 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10072 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10073 REGB1
= TAG_Int(1);
10074 /* ./../lib/standard//collection//array.nit:243 */
10075 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10076 /* ./../lib/standard//collection//array.nit:245 */
10077 REGB2
= TAG_Int(0);
10078 /* ./../lib/standard//kernel.nit:213 */
10079 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10080 /* ./../lib/standard//collection//array.nit:245 */
10081 if (UNTAG_Bool(REGB2
)) {
10082 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10083 if (UNTAG_Bool(REGB2
)) {
10085 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
10087 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10088 /* ./../lib/standard//kernel.nit:212 */
10089 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10091 /* ./../lib/standard//collection//array.nit:245 */
10092 REGB0
= TAG_Bool(false);
10095 if (UNTAG_Bool(REGB2
)) {
10097 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
10099 /* ./../lib/standard//collection//array.nit:246 */
10100 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
10101 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10102 if (UNTAG_Bool(REGB2
)) {
10103 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
10105 /* ./../lib/standard//collection//array.nit:654 */
10106 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10107 /* ./../lib/standard//collection//array.nit:246 */
10109 label268
: while(0);
10110 /* ./compiling//compiling_icode.nit:801 */
10111 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10112 if (!once_value_269
) {
10113 fra
.me
.REG
[7] = BOX_NativeString("))");
10114 REGB1
= TAG_Int(2);
10115 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10116 once_value_269
= fra
.me
.REG
[7];
10117 register_static_object(&once_value_269
);
10118 } else fra
.me
.REG
[7] = once_value_269
;
10119 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10120 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10121 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10122 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10124 /* ./compiling//compiling_icode.nit:802 */
10125 if (!once_value_270
) {
10126 if (!once_value_271
) {
10127 fra
.me
.REG
[6] = BOX_NativeString("%");
10128 REGB1
= TAG_Int(1);
10129 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
10130 once_value_271
= fra
.me
.REG
[6];
10131 register_static_object(&once_value_271
);
10132 } else fra
.me
.REG
[6] = once_value_271
;
10133 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10134 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10135 once_value_270
= fra
.me
.REG
[6];
10136 register_static_object(&once_value_270
);
10137 } else fra
.me
.REG
[6] = once_value_270
;
10138 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10139 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10140 if (UNTAG_Bool(REGB1
)) {
10142 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10145 if (UNTAG_Bool(REGB1
)) {
10146 /* ./compiling//compiling_icode.nit:803 */
10147 REGB1
= TAG_Int(5);
10148 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
10149 if (!once_value_272
) {
10150 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10151 REGB1
= TAG_Int(20);
10152 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10153 once_value_272
= fra
.me
.REG
[7];
10154 register_static_object(&once_value_272
);
10155 } else fra
.me
.REG
[7] = once_value_272
;
10156 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10157 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10158 REGB1
= TAG_Int(0);
10159 /* ./../lib/standard//collection//array.nit:243 */
10160 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10161 /* ./../lib/standard//collection//array.nit:245 */
10162 REGB2
= TAG_Int(0);
10163 /* ./../lib/standard//kernel.nit:213 */
10164 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10165 /* ./../lib/standard//collection//array.nit:245 */
10166 if (UNTAG_Bool(REGB2
)) {
10167 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10168 if (UNTAG_Bool(REGB2
)) {
10170 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
10172 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10173 /* ./../lib/standard//kernel.nit:212 */
10174 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10176 /* ./../lib/standard//collection//array.nit:245 */
10177 REGB0
= TAG_Bool(false);
10180 if (UNTAG_Bool(REGB2
)) {
10182 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
10184 /* ./../lib/standard//collection//array.nit:246 */
10185 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
10186 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10187 if (UNTAG_Bool(REGB2
)) {
10188 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
10190 /* ./../lib/standard//collection//array.nit:654 */
10191 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10192 /* ./../lib/standard//collection//array.nit:246 */
10194 label273
: while(0);
10195 /* ./compiling//compiling_icode.nit:803 */
10196 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10197 if (!once_value_274
) {
10198 fra
.me
.REG
[7] = BOX_NativeString(")%UNTAG_Char(");
10199 REGB1
= TAG_Int(13);
10200 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10201 once_value_274
= fra
.me
.REG
[7];
10202 register_static_object(&once_value_274
);
10203 } else fra
.me
.REG
[7] = once_value_274
;
10204 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10205 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10206 REGB1
= TAG_Int(1);
10207 /* ./../lib/standard//collection//array.nit:243 */
10208 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10209 /* ./../lib/standard//collection//array.nit:245 */
10210 REGB2
= TAG_Int(0);
10211 /* ./../lib/standard//kernel.nit:213 */
10212 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10213 /* ./../lib/standard//collection//array.nit:245 */
10214 if (UNTAG_Bool(REGB2
)) {
10215 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10216 if (UNTAG_Bool(REGB2
)) {
10218 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
10220 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10221 /* ./../lib/standard//kernel.nit:212 */
10222 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10224 /* ./../lib/standard//collection//array.nit:245 */
10225 REGB0
= TAG_Bool(false);
10228 if (UNTAG_Bool(REGB2
)) {
10230 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
10232 /* ./../lib/standard//collection//array.nit:246 */
10233 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
10234 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10235 if (UNTAG_Bool(REGB2
)) {
10236 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
10238 /* ./../lib/standard//collection//array.nit:654 */
10239 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10240 /* ./../lib/standard//collection//array.nit:246 */
10242 label275
: while(0);
10243 /* ./compiling//compiling_icode.nit:803 */
10244 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10245 if (!once_value_276
) {
10246 fra
.me
.REG
[7] = BOX_NativeString("))");
10247 REGB1
= TAG_Int(2);
10248 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10249 once_value_276
= fra
.me
.REG
[7];
10250 register_static_object(&once_value_276
);
10251 } else fra
.me
.REG
[7] = once_value_276
;
10252 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10253 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10254 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10255 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10257 /* ./compiling//compiling_icode.nit:804 */
10258 if (!once_value_277
) {
10259 if (!once_value_278
) {
10260 fra
.me
.REG
[6] = BOX_NativeString("<");
10261 REGB1
= TAG_Int(1);
10262 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
10263 once_value_278
= fra
.me
.REG
[6];
10264 register_static_object(&once_value_278
);
10265 } else fra
.me
.REG
[6] = once_value_278
;
10266 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10267 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10268 once_value_277
= fra
.me
.REG
[6];
10269 register_static_object(&once_value_277
);
10270 } else fra
.me
.REG
[6] = once_value_277
;
10271 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10272 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10273 if (UNTAG_Bool(REGB1
)) {
10275 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10278 if (UNTAG_Bool(REGB1
)) {
10279 /* ./compiling//compiling_icode.nit:805 */
10280 REGB1
= TAG_Int(5);
10281 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
10282 if (!once_value_279
) {
10283 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Char(");
10284 REGB1
= TAG_Int(20);
10285 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10286 once_value_279
= fra
.me
.REG
[7];
10287 register_static_object(&once_value_279
);
10288 } else fra
.me
.REG
[7] = once_value_279
;
10289 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10290 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10291 REGB1
= TAG_Int(0);
10292 /* ./../lib/standard//collection//array.nit:243 */
10293 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10294 /* ./../lib/standard//collection//array.nit:245 */
10295 REGB2
= TAG_Int(0);
10296 /* ./../lib/standard//kernel.nit:213 */
10297 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10298 /* ./../lib/standard//collection//array.nit:245 */
10299 if (UNTAG_Bool(REGB2
)) {
10300 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10301 if (UNTAG_Bool(REGB2
)) {
10303 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
10305 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10306 /* ./../lib/standard//kernel.nit:212 */
10307 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10309 /* ./../lib/standard//collection//array.nit:245 */
10310 REGB0
= TAG_Bool(false);
10313 if (UNTAG_Bool(REGB2
)) {
10315 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
10317 /* ./../lib/standard//collection//array.nit:246 */
10318 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
10319 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10320 if (UNTAG_Bool(REGB2
)) {
10321 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
10323 /* ./../lib/standard//collection//array.nit:654 */
10324 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10325 /* ./../lib/standard//collection//array.nit:246 */
10327 label280
: while(0);
10328 /* ./compiling//compiling_icode.nit:805 */
10329 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10330 if (!once_value_281
) {
10331 fra
.me
.REG
[7] = BOX_NativeString(")<UNTAG_Char(");
10332 REGB1
= TAG_Int(13);
10333 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10334 once_value_281
= fra
.me
.REG
[7];
10335 register_static_object(&once_value_281
);
10336 } else fra
.me
.REG
[7] = once_value_281
;
10337 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10338 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10339 REGB1
= TAG_Int(1);
10340 /* ./../lib/standard//collection//array.nit:243 */
10341 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10342 /* ./../lib/standard//collection//array.nit:245 */
10343 REGB2
= TAG_Int(0);
10344 /* ./../lib/standard//kernel.nit:213 */
10345 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10346 /* ./../lib/standard//collection//array.nit:245 */
10347 if (UNTAG_Bool(REGB2
)) {
10348 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10349 if (UNTAG_Bool(REGB2
)) {
10351 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
10353 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10354 /* ./../lib/standard//kernel.nit:212 */
10355 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10357 /* ./../lib/standard//collection//array.nit:245 */
10358 REGB0
= TAG_Bool(false);
10361 if (UNTAG_Bool(REGB2
)) {
10363 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
10365 /* ./../lib/standard//collection//array.nit:246 */
10366 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
10367 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10368 if (UNTAG_Bool(REGB2
)) {
10369 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
10371 /* ./../lib/standard//collection//array.nit:654 */
10372 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10373 /* ./../lib/standard//collection//array.nit:246 */
10375 label282
: while(0);
10376 /* ./compiling//compiling_icode.nit:805 */
10377 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10378 if (!once_value_283
) {
10379 fra
.me
.REG
[7] = BOX_NativeString("))");
10380 REGB1
= TAG_Int(2);
10381 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10382 once_value_283
= fra
.me
.REG
[7];
10383 register_static_object(&once_value_283
);
10384 } else fra
.me
.REG
[7] = once_value_283
;
10385 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10386 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10387 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10388 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10390 /* ./compiling//compiling_icode.nit:806 */
10391 if (!once_value_284
) {
10392 if (!once_value_285
) {
10393 fra
.me
.REG
[6] = BOX_NativeString(">");
10394 REGB1
= TAG_Int(1);
10395 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
10396 once_value_285
= fra
.me
.REG
[6];
10397 register_static_object(&once_value_285
);
10398 } else fra
.me
.REG
[6] = once_value_285
;
10399 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10400 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10401 once_value_284
= fra
.me
.REG
[6];
10402 register_static_object(&once_value_284
);
10403 } else fra
.me
.REG
[6] = once_value_284
;
10404 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10405 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10406 if (UNTAG_Bool(REGB1
)) {
10408 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10411 if (UNTAG_Bool(REGB1
)) {
10412 /* ./compiling//compiling_icode.nit:807 */
10413 REGB1
= TAG_Int(5);
10414 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
10415 if (!once_value_286
) {
10416 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Char(");
10417 REGB1
= TAG_Int(20);
10418 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10419 once_value_286
= fra
.me
.REG
[7];
10420 register_static_object(&once_value_286
);
10421 } else fra
.me
.REG
[7] = once_value_286
;
10422 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10423 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10424 REGB1
= TAG_Int(0);
10425 /* ./../lib/standard//collection//array.nit:243 */
10426 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10427 /* ./../lib/standard//collection//array.nit:245 */
10428 REGB2
= TAG_Int(0);
10429 /* ./../lib/standard//kernel.nit:213 */
10430 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10431 /* ./../lib/standard//collection//array.nit:245 */
10432 if (UNTAG_Bool(REGB2
)) {
10433 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10434 if (UNTAG_Bool(REGB2
)) {
10436 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
10438 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10439 /* ./../lib/standard//kernel.nit:212 */
10440 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10442 /* ./../lib/standard//collection//array.nit:245 */
10443 REGB0
= TAG_Bool(false);
10446 if (UNTAG_Bool(REGB2
)) {
10448 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
10450 /* ./../lib/standard//collection//array.nit:246 */
10451 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
10452 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10453 if (UNTAG_Bool(REGB2
)) {
10454 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
10456 /* ./../lib/standard//collection//array.nit:654 */
10457 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10458 /* ./../lib/standard//collection//array.nit:246 */
10460 label287
: while(0);
10461 /* ./compiling//compiling_icode.nit:807 */
10462 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10463 if (!once_value_288
) {
10464 fra
.me
.REG
[7] = BOX_NativeString(")>UNTAG_Char(");
10465 REGB1
= TAG_Int(13);
10466 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10467 once_value_288
= fra
.me
.REG
[7];
10468 register_static_object(&once_value_288
);
10469 } else fra
.me
.REG
[7] = once_value_288
;
10470 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10471 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10472 REGB1
= TAG_Int(1);
10473 /* ./../lib/standard//collection//array.nit:243 */
10474 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10475 /* ./../lib/standard//collection//array.nit:245 */
10476 REGB2
= TAG_Int(0);
10477 /* ./../lib/standard//kernel.nit:213 */
10478 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10479 /* ./../lib/standard//collection//array.nit:245 */
10480 if (UNTAG_Bool(REGB2
)) {
10481 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10482 if (UNTAG_Bool(REGB2
)) {
10484 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
10486 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10487 /* ./../lib/standard//kernel.nit:212 */
10488 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10490 /* ./../lib/standard//collection//array.nit:245 */
10491 REGB0
= TAG_Bool(false);
10494 if (UNTAG_Bool(REGB2
)) {
10496 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
10498 /* ./../lib/standard//collection//array.nit:246 */
10499 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
10500 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10501 if (UNTAG_Bool(REGB2
)) {
10502 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
10504 /* ./../lib/standard//collection//array.nit:654 */
10505 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10506 /* ./../lib/standard//collection//array.nit:246 */
10508 label289
: while(0);
10509 /* ./compiling//compiling_icode.nit:807 */
10510 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10511 if (!once_value_290
) {
10512 fra
.me
.REG
[7] = BOX_NativeString("))");
10513 REGB1
= TAG_Int(2);
10514 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10515 once_value_290
= fra
.me
.REG
[7];
10516 register_static_object(&once_value_290
);
10517 } else fra
.me
.REG
[7] = once_value_290
;
10518 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10519 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10520 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10521 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10523 /* ./compiling//compiling_icode.nit:808 */
10524 if (!once_value_291
) {
10525 if (!once_value_292
) {
10526 fra
.me
.REG
[6] = BOX_NativeString("<=");
10527 REGB1
= TAG_Int(2);
10528 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
10529 once_value_292
= fra
.me
.REG
[6];
10530 register_static_object(&once_value_292
);
10531 } else fra
.me
.REG
[6] = once_value_292
;
10532 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10533 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10534 once_value_291
= fra
.me
.REG
[6];
10535 register_static_object(&once_value_291
);
10536 } else fra
.me
.REG
[6] = once_value_291
;
10537 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10538 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10539 if (UNTAG_Bool(REGB1
)) {
10541 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10544 if (UNTAG_Bool(REGB1
)) {
10545 /* ./compiling//compiling_icode.nit:809 */
10546 REGB1
= TAG_Int(5);
10547 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
10548 if (!once_value_293
) {
10549 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Char(");
10550 REGB1
= TAG_Int(20);
10551 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10552 once_value_293
= fra
.me
.REG
[7];
10553 register_static_object(&once_value_293
);
10554 } else fra
.me
.REG
[7] = once_value_293
;
10555 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10556 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10557 REGB1
= TAG_Int(0);
10558 /* ./../lib/standard//collection//array.nit:243 */
10559 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10560 /* ./../lib/standard//collection//array.nit:245 */
10561 REGB2
= TAG_Int(0);
10562 /* ./../lib/standard//kernel.nit:213 */
10563 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10564 /* ./../lib/standard//collection//array.nit:245 */
10565 if (UNTAG_Bool(REGB2
)) {
10566 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10567 if (UNTAG_Bool(REGB2
)) {
10569 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
10571 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10572 /* ./../lib/standard//kernel.nit:212 */
10573 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10575 /* ./../lib/standard//collection//array.nit:245 */
10576 REGB0
= TAG_Bool(false);
10579 if (UNTAG_Bool(REGB2
)) {
10581 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
10583 /* ./../lib/standard//collection//array.nit:246 */
10584 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
10585 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10586 if (UNTAG_Bool(REGB2
)) {
10587 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
10589 /* ./../lib/standard//collection//array.nit:654 */
10590 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10591 /* ./../lib/standard//collection//array.nit:246 */
10593 label294
: while(0);
10594 /* ./compiling//compiling_icode.nit:809 */
10595 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10596 if (!once_value_295
) {
10597 fra
.me
.REG
[7] = BOX_NativeString(")<=UNTAG_Char(");
10598 REGB1
= TAG_Int(14);
10599 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10600 once_value_295
= fra
.me
.REG
[7];
10601 register_static_object(&once_value_295
);
10602 } else fra
.me
.REG
[7] = once_value_295
;
10603 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10604 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10605 REGB1
= TAG_Int(1);
10606 /* ./../lib/standard//collection//array.nit:243 */
10607 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10608 /* ./../lib/standard//collection//array.nit:245 */
10609 REGB2
= TAG_Int(0);
10610 /* ./../lib/standard//kernel.nit:213 */
10611 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10612 /* ./../lib/standard//collection//array.nit:245 */
10613 if (UNTAG_Bool(REGB2
)) {
10614 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10615 if (UNTAG_Bool(REGB2
)) {
10617 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
10619 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10620 /* ./../lib/standard//kernel.nit:212 */
10621 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10623 /* ./../lib/standard//collection//array.nit:245 */
10624 REGB0
= TAG_Bool(false);
10627 if (UNTAG_Bool(REGB2
)) {
10629 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
10631 /* ./../lib/standard//collection//array.nit:246 */
10632 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
10633 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10634 if (UNTAG_Bool(REGB2
)) {
10635 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
10637 /* ./../lib/standard//collection//array.nit:654 */
10638 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10639 /* ./../lib/standard//collection//array.nit:246 */
10641 label296
: while(0);
10642 /* ./compiling//compiling_icode.nit:809 */
10643 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10644 if (!once_value_297
) {
10645 fra
.me
.REG
[7] = BOX_NativeString("))");
10646 REGB1
= TAG_Int(2);
10647 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10648 once_value_297
= fra
.me
.REG
[7];
10649 register_static_object(&once_value_297
);
10650 } else fra
.me
.REG
[7] = once_value_297
;
10651 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10652 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10653 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10654 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10656 /* ./compiling//compiling_icode.nit:810 */
10657 if (!once_value_298
) {
10658 if (!once_value_299
) {
10659 fra
.me
.REG
[6] = BOX_NativeString(">=");
10660 REGB1
= TAG_Int(2);
10661 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
10662 once_value_299
= fra
.me
.REG
[6];
10663 register_static_object(&once_value_299
);
10664 } else fra
.me
.REG
[6] = once_value_299
;
10665 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10666 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10667 once_value_298
= fra
.me
.REG
[6];
10668 register_static_object(&once_value_298
);
10669 } else fra
.me
.REG
[6] = once_value_298
;
10670 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10671 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10672 if (UNTAG_Bool(REGB1
)) {
10674 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10677 if (UNTAG_Bool(REGB1
)) {
10678 /* ./compiling//compiling_icode.nit:811 */
10679 REGB1
= TAG_Int(5);
10680 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
10681 if (!once_value_300
) {
10682 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Char(");
10683 REGB1
= TAG_Int(20);
10684 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10685 once_value_300
= fra
.me
.REG
[7];
10686 register_static_object(&once_value_300
);
10687 } else fra
.me
.REG
[7] = once_value_300
;
10688 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10689 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10690 REGB1
= TAG_Int(0);
10691 /* ./../lib/standard//collection//array.nit:243 */
10692 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10693 /* ./../lib/standard//collection//array.nit:245 */
10694 REGB2
= TAG_Int(0);
10695 /* ./../lib/standard//kernel.nit:213 */
10696 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10697 /* ./../lib/standard//collection//array.nit:245 */
10698 if (UNTAG_Bool(REGB2
)) {
10699 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10700 if (UNTAG_Bool(REGB2
)) {
10702 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
10704 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10705 /* ./../lib/standard//kernel.nit:212 */
10706 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10708 /* ./../lib/standard//collection//array.nit:245 */
10709 REGB0
= TAG_Bool(false);
10712 if (UNTAG_Bool(REGB2
)) {
10714 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
10716 /* ./../lib/standard//collection//array.nit:246 */
10717 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
10718 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10719 if (UNTAG_Bool(REGB2
)) {
10720 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
10722 /* ./../lib/standard//collection//array.nit:654 */
10723 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10724 /* ./../lib/standard//collection//array.nit:246 */
10726 label301
: while(0);
10727 /* ./compiling//compiling_icode.nit:811 */
10728 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10729 if (!once_value_302
) {
10730 fra
.me
.REG
[7] = BOX_NativeString(")>=UNTAG_Char(");
10731 REGB1
= TAG_Int(14);
10732 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10733 once_value_302
= fra
.me
.REG
[7];
10734 register_static_object(&once_value_302
);
10735 } else fra
.me
.REG
[7] = once_value_302
;
10736 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10737 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10738 REGB1
= TAG_Int(1);
10739 /* ./../lib/standard//collection//array.nit:243 */
10740 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10741 /* ./../lib/standard//collection//array.nit:245 */
10742 REGB2
= TAG_Int(0);
10743 /* ./../lib/standard//kernel.nit:213 */
10744 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10745 /* ./../lib/standard//collection//array.nit:245 */
10746 if (UNTAG_Bool(REGB2
)) {
10747 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10748 if (UNTAG_Bool(REGB2
)) {
10750 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
10752 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10753 /* ./../lib/standard//kernel.nit:212 */
10754 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10756 /* ./../lib/standard//collection//array.nit:245 */
10757 REGB0
= TAG_Bool(false);
10760 if (UNTAG_Bool(REGB2
)) {
10762 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
10764 /* ./../lib/standard//collection//array.nit:246 */
10765 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
10766 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10767 if (UNTAG_Bool(REGB2
)) {
10768 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
10770 /* ./../lib/standard//collection//array.nit:654 */
10771 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10772 /* ./../lib/standard//collection//array.nit:246 */
10774 label303
: while(0);
10775 /* ./compiling//compiling_icode.nit:811 */
10776 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10777 if (!once_value_304
) {
10778 fra
.me
.REG
[7] = BOX_NativeString("))");
10779 REGB1
= TAG_Int(2);
10780 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10781 once_value_304
= fra
.me
.REG
[7];
10782 register_static_object(&once_value_304
);
10783 } else fra
.me
.REG
[7] = once_value_304
;
10784 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10785 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10786 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10787 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10789 /* ./compiling//compiling_icode.nit:812 */
10790 if (!once_value_305
) {
10791 if (!once_value_306
) {
10792 fra
.me
.REG
[6] = BOX_NativeString("==");
10793 REGB1
= TAG_Int(2);
10794 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
10795 once_value_306
= fra
.me
.REG
[6];
10796 register_static_object(&once_value_306
);
10797 } else fra
.me
.REG
[6] = once_value_306
;
10798 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10799 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10800 once_value_305
= fra
.me
.REG
[6];
10801 register_static_object(&once_value_305
);
10802 } else fra
.me
.REG
[6] = once_value_305
;
10803 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10804 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10805 if (UNTAG_Bool(REGB1
)) {
10807 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10810 if (UNTAG_Bool(REGB1
)) {
10811 /* ./compiling//compiling_icode.nit:813 */
10812 REGB1
= TAG_Int(5);
10813 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
10814 if (!once_value_307
) {
10815 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
10816 REGB1
= TAG_Int(10);
10817 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10818 once_value_307
= fra
.me
.REG
[7];
10819 register_static_object(&once_value_307
);
10820 } else fra
.me
.REG
[7] = once_value_307
;
10821 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10822 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10823 REGB1
= TAG_Int(0);
10824 /* ./../lib/standard//collection//array.nit:243 */
10825 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10826 /* ./../lib/standard//collection//array.nit:245 */
10827 REGB2
= TAG_Int(0);
10828 /* ./../lib/standard//kernel.nit:213 */
10829 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10830 /* ./../lib/standard//collection//array.nit:245 */
10831 if (UNTAG_Bool(REGB2
)) {
10832 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10833 if (UNTAG_Bool(REGB2
)) {
10835 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
10837 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10838 /* ./../lib/standard//kernel.nit:212 */
10839 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10841 /* ./../lib/standard//collection//array.nit:245 */
10842 REGB0
= TAG_Bool(false);
10845 if (UNTAG_Bool(REGB2
)) {
10847 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
10849 /* ./../lib/standard//collection//array.nit:246 */
10850 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
10851 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10852 if (UNTAG_Bool(REGB2
)) {
10853 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
10855 /* ./../lib/standard//collection//array.nit:654 */
10856 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10857 /* ./../lib/standard//collection//array.nit:246 */
10859 label308
: while(0);
10860 /* ./compiling//compiling_icode.nit:813 */
10861 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10862 if (!once_value_309
) {
10863 fra
.me
.REG
[7] = BOX_NativeString(")==(");
10864 REGB1
= TAG_Int(4);
10865 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10866 once_value_309
= fra
.me
.REG
[7];
10867 register_static_object(&once_value_309
);
10868 } else fra
.me
.REG
[7] = once_value_309
;
10869 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10870 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10871 REGB1
= TAG_Int(1);
10872 /* ./../lib/standard//collection//array.nit:243 */
10873 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10874 /* ./../lib/standard//collection//array.nit:245 */
10875 REGB2
= TAG_Int(0);
10876 /* ./../lib/standard//kernel.nit:213 */
10877 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10878 /* ./../lib/standard//collection//array.nit:245 */
10879 if (UNTAG_Bool(REGB2
)) {
10880 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10881 if (UNTAG_Bool(REGB2
)) {
10883 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
10885 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10886 /* ./../lib/standard//kernel.nit:212 */
10887 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10889 /* ./../lib/standard//collection//array.nit:245 */
10890 REGB0
= TAG_Bool(false);
10893 if (UNTAG_Bool(REGB2
)) {
10895 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
10897 /* ./../lib/standard//collection//array.nit:246 */
10898 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
10899 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10900 if (UNTAG_Bool(REGB2
)) {
10901 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
10903 /* ./../lib/standard//collection//array.nit:654 */
10904 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10905 /* ./../lib/standard//collection//array.nit:246 */
10907 label310
: while(0);
10908 /* ./compiling//compiling_icode.nit:813 */
10909 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10910 if (!once_value_311
) {
10911 fra
.me
.REG
[7] = BOX_NativeString("))");
10912 REGB1
= TAG_Int(2);
10913 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10914 once_value_311
= fra
.me
.REG
[7];
10915 register_static_object(&once_value_311
);
10916 } else fra
.me
.REG
[7] = once_value_311
;
10917 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10918 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10919 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10920 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10922 /* ./compiling//compiling_icode.nit:814 */
10923 if (!once_value_312
) {
10924 if (!once_value_313
) {
10925 fra
.me
.REG
[6] = BOX_NativeString("!=");
10926 REGB1
= TAG_Int(2);
10927 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
10928 once_value_313
= fra
.me
.REG
[6];
10929 register_static_object(&once_value_313
);
10930 } else fra
.me
.REG
[6] = once_value_313
;
10931 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10932 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10933 once_value_312
= fra
.me
.REG
[6];
10934 register_static_object(&once_value_312
);
10935 } else fra
.me
.REG
[6] = once_value_312
;
10936 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10937 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10938 if (UNTAG_Bool(REGB1
)) {
10940 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10943 if (UNTAG_Bool(REGB1
)) {
10944 /* ./compiling//compiling_icode.nit:815 */
10945 REGB1
= TAG_Int(5);
10946 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
10947 if (!once_value_314
) {
10948 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
10949 REGB1
= TAG_Int(10);
10950 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10951 once_value_314
= fra
.me
.REG
[7];
10952 register_static_object(&once_value_314
);
10953 } else fra
.me
.REG
[7] = once_value_314
;
10954 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10955 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10956 REGB1
= TAG_Int(0);
10957 /* ./../lib/standard//collection//array.nit:243 */
10958 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10959 /* ./../lib/standard//collection//array.nit:245 */
10960 REGB2
= TAG_Int(0);
10961 /* ./../lib/standard//kernel.nit:213 */
10962 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10963 /* ./../lib/standard//collection//array.nit:245 */
10964 if (UNTAG_Bool(REGB2
)) {
10965 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10966 if (UNTAG_Bool(REGB2
)) {
10968 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
10970 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10971 /* ./../lib/standard//kernel.nit:212 */
10972 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10974 /* ./../lib/standard//collection//array.nit:245 */
10975 REGB0
= TAG_Bool(false);
10978 if (UNTAG_Bool(REGB2
)) {
10980 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
10982 /* ./../lib/standard//collection//array.nit:246 */
10983 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
10984 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10985 if (UNTAG_Bool(REGB2
)) {
10986 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
10988 /* ./../lib/standard//collection//array.nit:654 */
10989 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10990 /* ./../lib/standard//collection//array.nit:246 */
10992 label315
: while(0);
10993 /* ./compiling//compiling_icode.nit:815 */
10994 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10995 if (!once_value_316
) {
10996 fra
.me
.REG
[7] = BOX_NativeString(")!=(");
10997 REGB1
= TAG_Int(4);
10998 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
10999 once_value_316
= fra
.me
.REG
[7];
11000 register_static_object(&once_value_316
);
11001 } else fra
.me
.REG
[7] = once_value_316
;
11002 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11003 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11004 REGB1
= TAG_Int(1);
11005 /* ./../lib/standard//collection//array.nit:243 */
11006 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11007 /* ./../lib/standard//collection//array.nit:245 */
11008 REGB2
= TAG_Int(0);
11009 /* ./../lib/standard//kernel.nit:213 */
11010 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11011 /* ./../lib/standard//collection//array.nit:245 */
11012 if (UNTAG_Bool(REGB2
)) {
11013 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11014 if (UNTAG_Bool(REGB2
)) {
11016 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
11018 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11019 /* ./../lib/standard//kernel.nit:212 */
11020 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11022 /* ./../lib/standard//collection//array.nit:245 */
11023 REGB0
= TAG_Bool(false);
11026 if (UNTAG_Bool(REGB2
)) {
11028 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
11030 /* ./../lib/standard//collection//array.nit:246 */
11031 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
11032 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11033 if (UNTAG_Bool(REGB2
)) {
11034 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
11036 /* ./../lib/standard//collection//array.nit:654 */
11037 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11038 /* ./../lib/standard//collection//array.nit:246 */
11040 label317
: while(0);
11041 /* ./compiling//compiling_icode.nit:815 */
11042 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11043 if (!once_value_318
) {
11044 fra
.me
.REG
[7] = BOX_NativeString("))");
11045 REGB1
= TAG_Int(2);
11046 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11047 once_value_318
= fra
.me
.REG
[7];
11048 register_static_object(&once_value_318
);
11049 } else fra
.me
.REG
[7] = once_value_318
;
11050 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11051 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11052 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11053 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11073 /* ./compiling//compiling_icode.nit:817 */
11074 if (!once_value_319
) {
11075 if (!once_value_320
) {
11076 fra
.me
.REG
[6] = BOX_NativeString("Bool");
11077 REGB1
= TAG_Int(4);
11078 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
11079 once_value_320
= fra
.me
.REG
[6];
11080 register_static_object(&once_value_320
);
11081 } else fra
.me
.REG
[6] = once_value_320
;
11082 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11083 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11084 once_value_319
= fra
.me
.REG
[6];
11085 register_static_object(&once_value_319
);
11086 } else fra
.me
.REG
[6] = once_value_319
;
11087 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11088 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
11089 if (UNTAG_Bool(REGB1
)) {
11091 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
11094 if (UNTAG_Bool(REGB1
)) {
11095 /* ./compiling//compiling_icode.nit:818 */
11096 if (!once_value_321
) {
11097 if (!once_value_322
) {
11098 fra
.me
.REG
[6] = BOX_NativeString("object_id");
11099 REGB1
= TAG_Int(9);
11100 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
11101 once_value_322
= fra
.me
.REG
[6];
11102 register_static_object(&once_value_322
);
11103 } else fra
.me
.REG
[6] = once_value_322
;
11104 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11105 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11106 once_value_321
= fra
.me
.REG
[6];
11107 register_static_object(&once_value_321
);
11108 } else fra
.me
.REG
[6] = once_value_321
;
11109 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11110 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11111 if (UNTAG_Bool(REGB1
)) {
11113 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11116 if (UNTAG_Bool(REGB1
)) {
11117 /* ./compiling//compiling_icode.nit:819 */
11118 REGB1
= TAG_Int(3);
11119 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
11120 if (!once_value_323
) {
11121 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Bool(");
11122 REGB1
= TAG_Int(19);
11123 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11124 once_value_323
= fra
.me
.REG
[7];
11125 register_static_object(&once_value_323
);
11126 } else fra
.me
.REG
[7] = once_value_323
;
11127 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11128 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11129 REGB1
= TAG_Int(0);
11130 /* ./../lib/standard//collection//array.nit:243 */
11131 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11132 /* ./../lib/standard//collection//array.nit:245 */
11133 REGB2
= TAG_Int(0);
11134 /* ./../lib/standard//kernel.nit:213 */
11135 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11136 /* ./../lib/standard//collection//array.nit:245 */
11137 if (UNTAG_Bool(REGB2
)) {
11138 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11139 if (UNTAG_Bool(REGB2
)) {
11141 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
11143 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11144 /* ./../lib/standard//kernel.nit:212 */
11145 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11147 /* ./../lib/standard//collection//array.nit:245 */
11148 REGB0
= TAG_Bool(false);
11151 if (UNTAG_Bool(REGB2
)) {
11153 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
11155 /* ./../lib/standard//collection//array.nit:246 */
11156 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
11157 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11158 if (UNTAG_Bool(REGB2
)) {
11159 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
11161 /* ./../lib/standard//collection//array.nit:654 */
11162 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11163 /* ./../lib/standard//collection//array.nit:246 */
11165 label324
: while(0);
11166 /* ./compiling//compiling_icode.nit:819 */
11167 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11168 if (!once_value_325
) {
11169 fra
.me
.REG
[7] = BOX_NativeString("))");
11170 REGB1
= TAG_Int(2);
11171 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11172 once_value_325
= fra
.me
.REG
[7];
11173 register_static_object(&once_value_325
);
11174 } else fra
.me
.REG
[7] = once_value_325
;
11175 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11176 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11177 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11178 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11180 /* ./compiling//compiling_icode.nit:820 */
11181 if (!once_value_326
) {
11182 if (!once_value_327
) {
11183 fra
.me
.REG
[6] = BOX_NativeString("unary -");
11184 REGB1
= TAG_Int(7);
11185 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
11186 once_value_327
= fra
.me
.REG
[6];
11187 register_static_object(&once_value_327
);
11188 } else fra
.me
.REG
[6] = once_value_327
;
11189 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11190 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11191 once_value_326
= fra
.me
.REG
[6];
11192 register_static_object(&once_value_326
);
11193 } else fra
.me
.REG
[6] = once_value_326
;
11194 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11195 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11196 if (UNTAG_Bool(REGB1
)) {
11198 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11201 if (UNTAG_Bool(REGB1
)) {
11202 /* ./compiling//compiling_icode.nit:821 */
11203 REGB1
= TAG_Int(3);
11204 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
11205 if (!once_value_328
) {
11206 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(-UNTAG_Bool(");
11207 REGB1
= TAG_Int(21);
11208 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11209 once_value_328
= fra
.me
.REG
[7];
11210 register_static_object(&once_value_328
);
11211 } else fra
.me
.REG
[7] = once_value_328
;
11212 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11213 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11214 REGB1
= TAG_Int(0);
11215 /* ./../lib/standard//collection//array.nit:243 */
11216 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11217 /* ./../lib/standard//collection//array.nit:245 */
11218 REGB2
= TAG_Int(0);
11219 /* ./../lib/standard//kernel.nit:213 */
11220 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11221 /* ./../lib/standard//collection//array.nit:245 */
11222 if (UNTAG_Bool(REGB2
)) {
11223 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11224 if (UNTAG_Bool(REGB2
)) {
11226 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
11228 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11229 /* ./../lib/standard//kernel.nit:212 */
11230 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11232 /* ./../lib/standard//collection//array.nit:245 */
11233 REGB0
= TAG_Bool(false);
11236 if (UNTAG_Bool(REGB2
)) {
11238 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
11240 /* ./../lib/standard//collection//array.nit:246 */
11241 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
11242 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11243 if (UNTAG_Bool(REGB2
)) {
11244 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
11246 /* ./../lib/standard//collection//array.nit:654 */
11247 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11248 /* ./../lib/standard//collection//array.nit:246 */
11250 label329
: while(0);
11251 /* ./compiling//compiling_icode.nit:821 */
11252 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11253 if (!once_value_330
) {
11254 fra
.me
.REG
[7] = BOX_NativeString("))");
11255 REGB1
= TAG_Int(2);
11256 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11257 once_value_330
= fra
.me
.REG
[7];
11258 register_static_object(&once_value_330
);
11259 } else fra
.me
.REG
[7] = once_value_330
;
11260 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11261 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11262 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11263 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11265 /* ./compiling//compiling_icode.nit:822 */
11266 if (!once_value_331
) {
11267 if (!once_value_332
) {
11268 fra
.me
.REG
[6] = BOX_NativeString("output");
11269 REGB1
= TAG_Int(6);
11270 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
11271 once_value_332
= fra
.me
.REG
[6];
11272 register_static_object(&once_value_332
);
11273 } else fra
.me
.REG
[6] = once_value_332
;
11274 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11275 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11276 once_value_331
= fra
.me
.REG
[6];
11277 register_static_object(&once_value_331
);
11278 } else fra
.me
.REG
[6] = once_value_331
;
11279 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11280 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11281 if (UNTAG_Bool(REGB1
)) {
11283 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11286 if (UNTAG_Bool(REGB1
)) {
11287 /* ./compiling//compiling_icode.nit:823 */
11288 REGB1
= TAG_Int(3);
11289 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
11290 if (!once_value_333
) {
11291 fra
.me
.REG
[7] = BOX_NativeString("(void)printf(UNTAG_Bool(");
11292 REGB1
= TAG_Int(24);
11293 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11294 once_value_333
= fra
.me
.REG
[7];
11295 register_static_object(&once_value_333
);
11296 } else fra
.me
.REG
[7] = once_value_333
;
11297 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11298 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11299 REGB1
= TAG_Int(0);
11300 /* ./../lib/standard//collection//array.nit:243 */
11301 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11302 /* ./../lib/standard//collection//array.nit:245 */
11303 REGB2
= TAG_Int(0);
11304 /* ./../lib/standard//kernel.nit:213 */
11305 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11306 /* ./../lib/standard//collection//array.nit:245 */
11307 if (UNTAG_Bool(REGB2
)) {
11308 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11309 if (UNTAG_Bool(REGB2
)) {
11311 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
11313 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11314 /* ./../lib/standard//kernel.nit:212 */
11315 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11317 /* ./../lib/standard//collection//array.nit:245 */
11318 REGB0
= TAG_Bool(false);
11321 if (UNTAG_Bool(REGB2
)) {
11323 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
11325 /* ./../lib/standard//collection//array.nit:246 */
11326 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
11327 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11328 if (UNTAG_Bool(REGB2
)) {
11329 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
11331 /* ./../lib/standard//collection//array.nit:654 */
11332 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11333 /* ./../lib/standard//collection//array.nit:246 */
11335 label334
: while(0);
11336 /* ./compiling//compiling_icode.nit:823 */
11337 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11338 if (!once_value_335
) {
11339 fra
.me
.REG
[7] = BOX_NativeString(")?\"true\\n\":\"false\\n\");");
11340 REGB1
= TAG_Int(22);
11341 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11342 once_value_335
= fra
.me
.REG
[7];
11343 register_static_object(&once_value_335
);
11344 } else fra
.me
.REG
[7] = once_value_335
;
11345 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11346 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11347 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11348 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11350 /* ./compiling//compiling_icode.nit:824 */
11351 if (!once_value_336
) {
11352 if (!once_value_337
) {
11353 fra
.me
.REG
[6] = BOX_NativeString("ascii");
11354 REGB1
= TAG_Int(5);
11355 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
11356 once_value_337
= fra
.me
.REG
[6];
11357 register_static_object(&once_value_337
);
11358 } else fra
.me
.REG
[6] = once_value_337
;
11359 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11360 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11361 once_value_336
= fra
.me
.REG
[6];
11362 register_static_object(&once_value_336
);
11363 } else fra
.me
.REG
[6] = once_value_336
;
11364 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11365 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11366 if (UNTAG_Bool(REGB1
)) {
11368 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11371 if (UNTAG_Bool(REGB1
)) {
11372 /* ./compiling//compiling_icode.nit:825 */
11373 REGB1
= TAG_Int(3);
11374 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
11375 if (!once_value_338
) {
11376 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Bool(");
11377 REGB1
= TAG_Int(20);
11378 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11379 once_value_338
= fra
.me
.REG
[7];
11380 register_static_object(&once_value_338
);
11381 } else fra
.me
.REG
[7] = once_value_338
;
11382 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11383 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11384 REGB1
= TAG_Int(0);
11385 /* ./../lib/standard//collection//array.nit:243 */
11386 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11387 /* ./../lib/standard//collection//array.nit:245 */
11388 REGB2
= TAG_Int(0);
11389 /* ./../lib/standard//kernel.nit:213 */
11390 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11391 /* ./../lib/standard//collection//array.nit:245 */
11392 if (UNTAG_Bool(REGB2
)) {
11393 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11394 if (UNTAG_Bool(REGB2
)) {
11396 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
11398 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11399 /* ./../lib/standard//kernel.nit:212 */
11400 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11402 /* ./../lib/standard//collection//array.nit:245 */
11403 REGB0
= TAG_Bool(false);
11406 if (UNTAG_Bool(REGB2
)) {
11408 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
11410 /* ./../lib/standard//collection//array.nit:246 */
11411 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
11412 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11413 if (UNTAG_Bool(REGB2
)) {
11414 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
11416 /* ./../lib/standard//collection//array.nit:654 */
11417 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11418 /* ./../lib/standard//collection//array.nit:246 */
11420 label339
: while(0);
11421 /* ./compiling//compiling_icode.nit:825 */
11422 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11423 if (!once_value_340
) {
11424 fra
.me
.REG
[7] = BOX_NativeString("))");
11425 REGB1
= TAG_Int(2);
11426 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11427 once_value_340
= fra
.me
.REG
[7];
11428 register_static_object(&once_value_340
);
11429 } else fra
.me
.REG
[7] = once_value_340
;
11430 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11431 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11432 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11433 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11435 /* ./compiling//compiling_icode.nit:826 */
11436 if (!once_value_341
) {
11437 if (!once_value_342
) {
11438 fra
.me
.REG
[6] = BOX_NativeString("to_i");
11439 REGB1
= TAG_Int(4);
11440 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
11441 once_value_342
= fra
.me
.REG
[6];
11442 register_static_object(&once_value_342
);
11443 } else fra
.me
.REG
[6] = once_value_342
;
11444 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11445 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11446 once_value_341
= fra
.me
.REG
[6];
11447 register_static_object(&once_value_341
);
11448 } else fra
.me
.REG
[6] = once_value_341
;
11449 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11450 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11451 if (UNTAG_Bool(REGB1
)) {
11453 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11456 if (UNTAG_Bool(REGB1
)) {
11457 /* ./compiling//compiling_icode.nit:827 */
11458 REGB1
= TAG_Int(3);
11459 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
11460 if (!once_value_343
) {
11461 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Bool(");
11462 REGB1
= TAG_Int(19);
11463 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11464 once_value_343
= fra
.me
.REG
[7];
11465 register_static_object(&once_value_343
);
11466 } else fra
.me
.REG
[7] = once_value_343
;
11467 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11468 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11469 REGB1
= TAG_Int(0);
11470 /* ./../lib/standard//collection//array.nit:243 */
11471 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11472 /* ./../lib/standard//collection//array.nit:245 */
11473 REGB2
= TAG_Int(0);
11474 /* ./../lib/standard//kernel.nit:213 */
11475 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11476 /* ./../lib/standard//collection//array.nit:245 */
11477 if (UNTAG_Bool(REGB2
)) {
11478 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11479 if (UNTAG_Bool(REGB2
)) {
11481 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
11483 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11484 /* ./../lib/standard//kernel.nit:212 */
11485 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11487 /* ./../lib/standard//collection//array.nit:245 */
11488 REGB0
= TAG_Bool(false);
11491 if (UNTAG_Bool(REGB2
)) {
11493 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
11495 /* ./../lib/standard//collection//array.nit:246 */
11496 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
11497 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11498 if (UNTAG_Bool(REGB2
)) {
11499 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
11501 /* ./../lib/standard//collection//array.nit:654 */
11502 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11503 /* ./../lib/standard//collection//array.nit:246 */
11505 label344
: while(0);
11506 /* ./compiling//compiling_icode.nit:827 */
11507 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11508 if (!once_value_345
) {
11509 fra
.me
.REG
[7] = BOX_NativeString("))");
11510 REGB1
= TAG_Int(2);
11511 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11512 once_value_345
= fra
.me
.REG
[7];
11513 register_static_object(&once_value_345
);
11514 } else fra
.me
.REG
[7] = once_value_345
;
11515 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11516 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11517 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11518 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11520 /* ./compiling//compiling_icode.nit:828 */
11521 if (!once_value_346
) {
11522 if (!once_value_347
) {
11523 fra
.me
.REG
[6] = BOX_NativeString("==");
11524 REGB1
= TAG_Int(2);
11525 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
11526 once_value_347
= fra
.me
.REG
[6];
11527 register_static_object(&once_value_347
);
11528 } else fra
.me
.REG
[6] = once_value_347
;
11529 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11530 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11531 once_value_346
= fra
.me
.REG
[6];
11532 register_static_object(&once_value_346
);
11533 } else fra
.me
.REG
[6] = once_value_346
;
11534 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11535 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11536 if (UNTAG_Bool(REGB1
)) {
11538 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11541 if (UNTAG_Bool(REGB1
)) {
11542 /* ./compiling//compiling_icode.nit:829 */
11543 REGB1
= TAG_Int(5);
11544 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
11545 if (!once_value_348
) {
11546 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
11547 REGB1
= TAG_Int(10);
11548 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11549 once_value_348
= fra
.me
.REG
[7];
11550 register_static_object(&once_value_348
);
11551 } else fra
.me
.REG
[7] = once_value_348
;
11552 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11553 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11554 REGB1
= TAG_Int(0);
11555 /* ./../lib/standard//collection//array.nit:243 */
11556 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11557 /* ./../lib/standard//collection//array.nit:245 */
11558 REGB2
= TAG_Int(0);
11559 /* ./../lib/standard//kernel.nit:213 */
11560 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11561 /* ./../lib/standard//collection//array.nit:245 */
11562 if (UNTAG_Bool(REGB2
)) {
11563 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11564 if (UNTAG_Bool(REGB2
)) {
11566 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
11568 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11569 /* ./../lib/standard//kernel.nit:212 */
11570 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11572 /* ./../lib/standard//collection//array.nit:245 */
11573 REGB0
= TAG_Bool(false);
11576 if (UNTAG_Bool(REGB2
)) {
11578 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
11580 /* ./../lib/standard//collection//array.nit:246 */
11581 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
11582 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11583 if (UNTAG_Bool(REGB2
)) {
11584 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
11586 /* ./../lib/standard//collection//array.nit:654 */
11587 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11588 /* ./../lib/standard//collection//array.nit:246 */
11590 label349
: while(0);
11591 /* ./compiling//compiling_icode.nit:829 */
11592 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11593 if (!once_value_350
) {
11594 fra
.me
.REG
[7] = BOX_NativeString(")==(");
11595 REGB1
= TAG_Int(4);
11596 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11597 once_value_350
= fra
.me
.REG
[7];
11598 register_static_object(&once_value_350
);
11599 } else fra
.me
.REG
[7] = once_value_350
;
11600 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11601 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11602 REGB1
= TAG_Int(1);
11603 /* ./../lib/standard//collection//array.nit:243 */
11604 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11605 /* ./../lib/standard//collection//array.nit:245 */
11606 REGB2
= TAG_Int(0);
11607 /* ./../lib/standard//kernel.nit:213 */
11608 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11609 /* ./../lib/standard//collection//array.nit:245 */
11610 if (UNTAG_Bool(REGB2
)) {
11611 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11612 if (UNTAG_Bool(REGB2
)) {
11614 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
11616 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11617 /* ./../lib/standard//kernel.nit:212 */
11618 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11620 /* ./../lib/standard//collection//array.nit:245 */
11621 REGB0
= TAG_Bool(false);
11624 if (UNTAG_Bool(REGB2
)) {
11626 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
11628 /* ./../lib/standard//collection//array.nit:246 */
11629 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
11630 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11631 if (UNTAG_Bool(REGB2
)) {
11632 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
11634 /* ./../lib/standard//collection//array.nit:654 */
11635 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11636 /* ./../lib/standard//collection//array.nit:246 */
11638 label351
: while(0);
11639 /* ./compiling//compiling_icode.nit:829 */
11640 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11641 if (!once_value_352
) {
11642 fra
.me
.REG
[7] = BOX_NativeString("))");
11643 REGB1
= TAG_Int(2);
11644 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11645 once_value_352
= fra
.me
.REG
[7];
11646 register_static_object(&once_value_352
);
11647 } else fra
.me
.REG
[7] = once_value_352
;
11648 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11649 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11650 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11651 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11653 /* ./compiling//compiling_icode.nit:830 */
11654 if (!once_value_353
) {
11655 if (!once_value_354
) {
11656 fra
.me
.REG
[6] = BOX_NativeString("!=");
11657 REGB1
= TAG_Int(2);
11658 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
11659 once_value_354
= fra
.me
.REG
[6];
11660 register_static_object(&once_value_354
);
11661 } else fra
.me
.REG
[6] = once_value_354
;
11662 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11663 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11664 once_value_353
= fra
.me
.REG
[6];
11665 register_static_object(&once_value_353
);
11666 } else fra
.me
.REG
[6] = once_value_353
;
11667 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11668 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11669 if (UNTAG_Bool(REGB1
)) {
11671 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11674 if (UNTAG_Bool(REGB1
)) {
11675 /* ./compiling//compiling_icode.nit:831 */
11676 REGB1
= TAG_Int(5);
11677 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
11678 if (!once_value_355
) {
11679 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
11680 REGB1
= TAG_Int(10);
11681 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11682 once_value_355
= fra
.me
.REG
[7];
11683 register_static_object(&once_value_355
);
11684 } else fra
.me
.REG
[7] = once_value_355
;
11685 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11686 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11687 REGB1
= TAG_Int(0);
11688 /* ./../lib/standard//collection//array.nit:243 */
11689 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11690 /* ./../lib/standard//collection//array.nit:245 */
11691 REGB2
= TAG_Int(0);
11692 /* ./../lib/standard//kernel.nit:213 */
11693 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11694 /* ./../lib/standard//collection//array.nit:245 */
11695 if (UNTAG_Bool(REGB2
)) {
11696 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11697 if (UNTAG_Bool(REGB2
)) {
11699 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
11701 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11702 /* ./../lib/standard//kernel.nit:212 */
11703 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11705 /* ./../lib/standard//collection//array.nit:245 */
11706 REGB0
= TAG_Bool(false);
11709 if (UNTAG_Bool(REGB2
)) {
11711 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
11713 /* ./../lib/standard//collection//array.nit:246 */
11714 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
11715 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11716 if (UNTAG_Bool(REGB2
)) {
11717 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
11719 /* ./../lib/standard//collection//array.nit:654 */
11720 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11721 /* ./../lib/standard//collection//array.nit:246 */
11723 label356
: while(0);
11724 /* ./compiling//compiling_icode.nit:831 */
11725 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11726 if (!once_value_357
) {
11727 fra
.me
.REG
[7] = BOX_NativeString(")!=(");
11728 REGB1
= TAG_Int(4);
11729 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11730 once_value_357
= fra
.me
.REG
[7];
11731 register_static_object(&once_value_357
);
11732 } else fra
.me
.REG
[7] = once_value_357
;
11733 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11734 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11735 REGB1
= TAG_Int(1);
11736 /* ./../lib/standard//collection//array.nit:243 */
11737 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11738 /* ./../lib/standard//collection//array.nit:245 */
11739 REGB2
= TAG_Int(0);
11740 /* ./../lib/standard//kernel.nit:213 */
11741 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11742 /* ./../lib/standard//collection//array.nit:245 */
11743 if (UNTAG_Bool(REGB2
)) {
11744 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11745 if (UNTAG_Bool(REGB2
)) {
11747 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
11749 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11750 /* ./../lib/standard//kernel.nit:212 */
11751 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11753 /* ./../lib/standard//collection//array.nit:245 */
11754 REGB0
= TAG_Bool(false);
11757 if (UNTAG_Bool(REGB2
)) {
11759 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
11761 /* ./../lib/standard//collection//array.nit:246 */
11762 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
11763 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11764 if (UNTAG_Bool(REGB2
)) {
11765 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
11767 /* ./../lib/standard//collection//array.nit:654 */
11768 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11769 /* ./../lib/standard//collection//array.nit:246 */
11771 label358
: while(0);
11772 /* ./compiling//compiling_icode.nit:831 */
11773 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11774 if (!once_value_359
) {
11775 fra
.me
.REG
[7] = BOX_NativeString("))");
11776 REGB1
= TAG_Int(2);
11777 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11778 once_value_359
= fra
.me
.REG
[7];
11779 register_static_object(&once_value_359
);
11780 } else fra
.me
.REG
[7] = once_value_359
;
11781 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11782 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11783 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11784 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11793 /* ./compiling//compiling_icode.nit:833 */
11794 if (!once_value_360
) {
11795 if (!once_value_361
) {
11796 fra
.me
.REG
[6] = BOX_NativeString("NativeArray");
11797 REGB1
= TAG_Int(11);
11798 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
11799 once_value_361
= fra
.me
.REG
[6];
11800 register_static_object(&once_value_361
);
11801 } else fra
.me
.REG
[6] = once_value_361
;
11802 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11803 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11804 once_value_360
= fra
.me
.REG
[6];
11805 register_static_object(&once_value_360
);
11806 } else fra
.me
.REG
[6] = once_value_360
;
11807 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11808 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
11809 if (UNTAG_Bool(REGB1
)) {
11811 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
11814 if (UNTAG_Bool(REGB1
)) {
11815 /* ./compiling//compiling_icode.nit:834 */
11816 if (!once_value_362
) {
11817 if (!once_value_363
) {
11818 fra
.me
.REG
[6] = BOX_NativeString("object_id");
11819 REGB1
= TAG_Int(9);
11820 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
11821 once_value_363
= fra
.me
.REG
[6];
11822 register_static_object(&once_value_363
);
11823 } else fra
.me
.REG
[6] = once_value_363
;
11824 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11825 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11826 once_value_362
= fra
.me
.REG
[6];
11827 register_static_object(&once_value_362
);
11828 } else fra
.me
.REG
[6] = once_value_362
;
11829 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11830 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11831 if (UNTAG_Bool(REGB1
)) {
11833 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11836 if (UNTAG_Bool(REGB1
)) {
11837 /* ./compiling//compiling_icode.nit:835 */
11838 REGB1
= TAG_Int(3);
11839 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
11840 if (!once_value_364
) {
11841 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(((Nit_NativeArray)");
11842 REGB1
= TAG_Int(26);
11843 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11844 once_value_364
= fra
.me
.REG
[7];
11845 register_static_object(&once_value_364
);
11846 } else fra
.me
.REG
[7] = once_value_364
;
11847 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11848 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11849 REGB1
= TAG_Int(0);
11850 /* ./../lib/standard//collection//array.nit:243 */
11851 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11852 /* ./../lib/standard//collection//array.nit:245 */
11853 REGB2
= TAG_Int(0);
11854 /* ./../lib/standard//kernel.nit:213 */
11855 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11856 /* ./../lib/standard//collection//array.nit:245 */
11857 if (UNTAG_Bool(REGB2
)) {
11858 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11859 if (UNTAG_Bool(REGB2
)) {
11861 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
11863 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11864 /* ./../lib/standard//kernel.nit:212 */
11865 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11867 /* ./../lib/standard//collection//array.nit:245 */
11868 REGB0
= TAG_Bool(false);
11871 if (UNTAG_Bool(REGB2
)) {
11873 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
11875 /* ./../lib/standard//collection//array.nit:246 */
11876 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
11877 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11878 if (UNTAG_Bool(REGB2
)) {
11879 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
11881 /* ./../lib/standard//collection//array.nit:654 */
11882 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11883 /* ./../lib/standard//collection//array.nit:246 */
11885 label365
: while(0);
11886 /* ./compiling//compiling_icode.nit:835 */
11887 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11888 if (!once_value_366
) {
11889 fra
.me
.REG
[7] = BOX_NativeString(")->object_id)");
11890 REGB1
= TAG_Int(13);
11891 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11892 once_value_366
= fra
.me
.REG
[7];
11893 register_static_object(&once_value_366
);
11894 } else fra
.me
.REG
[7] = once_value_366
;
11895 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11896 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11897 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11898 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11900 /* ./compiling//compiling_icode.nit:836 */
11901 if (!once_value_367
) {
11902 if (!once_value_368
) {
11903 fra
.me
.REG
[6] = BOX_NativeString("[]");
11904 REGB1
= TAG_Int(2);
11905 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
11906 once_value_368
= fra
.me
.REG
[6];
11907 register_static_object(&once_value_368
);
11908 } else fra
.me
.REG
[6] = once_value_368
;
11909 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11910 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11911 once_value_367
= fra
.me
.REG
[6];
11912 register_static_object(&once_value_367
);
11913 } else fra
.me
.REG
[6] = once_value_367
;
11914 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11915 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11916 if (UNTAG_Bool(REGB1
)) {
11918 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11921 if (UNTAG_Bool(REGB1
)) {
11922 /* ./compiling//compiling_icode.nit:837 */
11923 REGB1
= TAG_Int(5);
11924 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
11925 if (!once_value_369
) {
11926 fra
.me
.REG
[7] = BOX_NativeString("((Nit_NativeArray)");
11927 REGB1
= TAG_Int(18);
11928 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11929 once_value_369
= fra
.me
.REG
[7];
11930 register_static_object(&once_value_369
);
11931 } else fra
.me
.REG
[7] = once_value_369
;
11932 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11933 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11934 REGB1
= TAG_Int(0);
11935 /* ./../lib/standard//collection//array.nit:243 */
11936 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11937 /* ./../lib/standard//collection//array.nit:245 */
11938 REGB2
= TAG_Int(0);
11939 /* ./../lib/standard//kernel.nit:213 */
11940 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11941 /* ./../lib/standard//collection//array.nit:245 */
11942 if (UNTAG_Bool(REGB2
)) {
11943 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11944 if (UNTAG_Bool(REGB2
)) {
11946 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
11948 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11949 /* ./../lib/standard//kernel.nit:212 */
11950 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11952 /* ./../lib/standard//collection//array.nit:245 */
11953 REGB0
= TAG_Bool(false);
11956 if (UNTAG_Bool(REGB2
)) {
11958 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
11960 /* ./../lib/standard//collection//array.nit:246 */
11961 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
11962 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11963 if (UNTAG_Bool(REGB2
)) {
11964 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
11966 /* ./../lib/standard//collection//array.nit:654 */
11967 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11968 /* ./../lib/standard//collection//array.nit:246 */
11970 label370
: while(0);
11971 /* ./compiling//compiling_icode.nit:837 */
11972 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11973 if (!once_value_371
) {
11974 fra
.me
.REG
[7] = BOX_NativeString(")->val[UNTAG_Int(");
11975 REGB1
= TAG_Int(17);
11976 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
11977 once_value_371
= fra
.me
.REG
[7];
11978 register_static_object(&once_value_371
);
11979 } else fra
.me
.REG
[7] = once_value_371
;
11980 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11981 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11982 REGB1
= TAG_Int(1);
11983 /* ./../lib/standard//collection//array.nit:243 */
11984 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11985 /* ./../lib/standard//collection//array.nit:245 */
11986 REGB2
= TAG_Int(0);
11987 /* ./../lib/standard//kernel.nit:213 */
11988 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11989 /* ./../lib/standard//collection//array.nit:245 */
11990 if (UNTAG_Bool(REGB2
)) {
11991 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11992 if (UNTAG_Bool(REGB2
)) {
11994 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
11996 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11997 /* ./../lib/standard//kernel.nit:212 */
11998 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12000 /* ./../lib/standard//collection//array.nit:245 */
12001 REGB0
= TAG_Bool(false);
12004 if (UNTAG_Bool(REGB2
)) {
12006 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
12008 /* ./../lib/standard//collection//array.nit:246 */
12009 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
12010 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12011 if (UNTAG_Bool(REGB2
)) {
12012 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
12014 /* ./../lib/standard//collection//array.nit:654 */
12015 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12016 /* ./../lib/standard//collection//array.nit:246 */
12018 label372
: while(0);
12019 /* ./compiling//compiling_icode.nit:837 */
12020 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12021 if (!once_value_373
) {
12022 fra
.me
.REG
[7] = BOX_NativeString(")]");
12023 REGB1
= TAG_Int(2);
12024 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
12025 once_value_373
= fra
.me
.REG
[7];
12026 register_static_object(&once_value_373
);
12027 } else fra
.me
.REG
[7] = once_value_373
;
12028 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12029 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12030 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12031 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12033 /* ./compiling//compiling_icode.nit:838 */
12034 if (!once_value_374
) {
12035 if (!once_value_375
) {
12036 fra
.me
.REG
[6] = BOX_NativeString("[]=");
12037 REGB1
= TAG_Int(3);
12038 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
12039 once_value_375
= fra
.me
.REG
[6];
12040 register_static_object(&once_value_375
);
12041 } else fra
.me
.REG
[6] = once_value_375
;
12042 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12043 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12044 once_value_374
= fra
.me
.REG
[6];
12045 register_static_object(&once_value_374
);
12046 } else fra
.me
.REG
[6] = once_value_374
;
12047 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12048 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12049 if (UNTAG_Bool(REGB1
)) {
12051 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12054 if (UNTAG_Bool(REGB1
)) {
12055 /* ./compiling//compiling_icode.nit:839 */
12056 REGB1
= TAG_Int(7);
12057 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
12058 if (!once_value_376
) {
12059 fra
.me
.REG
[7] = BOX_NativeString("((Nit_NativeArray)");
12060 REGB1
= TAG_Int(18);
12061 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
12062 once_value_376
= fra
.me
.REG
[7];
12063 register_static_object(&once_value_376
);
12064 } else fra
.me
.REG
[7] = once_value_376
;
12065 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12066 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12067 REGB1
= TAG_Int(0);
12068 /* ./../lib/standard//collection//array.nit:243 */
12069 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12070 /* ./../lib/standard//collection//array.nit:245 */
12071 REGB2
= TAG_Int(0);
12072 /* ./../lib/standard//kernel.nit:213 */
12073 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12074 /* ./../lib/standard//collection//array.nit:245 */
12075 if (UNTAG_Bool(REGB2
)) {
12076 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12077 if (UNTAG_Bool(REGB2
)) {
12079 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
12081 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12082 /* ./../lib/standard//kernel.nit:212 */
12083 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12085 /* ./../lib/standard//collection//array.nit:245 */
12086 REGB0
= TAG_Bool(false);
12089 if (UNTAG_Bool(REGB2
)) {
12091 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
12093 /* ./../lib/standard//collection//array.nit:246 */
12094 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
12095 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12096 if (UNTAG_Bool(REGB2
)) {
12097 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
12099 /* ./../lib/standard//collection//array.nit:654 */
12100 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12101 /* ./../lib/standard//collection//array.nit:246 */
12103 label377
: while(0);
12104 /* ./compiling//compiling_icode.nit:839 */
12105 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12106 if (!once_value_378
) {
12107 fra
.me
.REG
[7] = BOX_NativeString(")->val[UNTAG_Int(");
12108 REGB1
= TAG_Int(17);
12109 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
12110 once_value_378
= fra
.me
.REG
[7];
12111 register_static_object(&once_value_378
);
12112 } else fra
.me
.REG
[7] = once_value_378
;
12113 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12114 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12115 REGB1
= TAG_Int(1);
12116 /* ./../lib/standard//collection//array.nit:243 */
12117 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12118 /* ./../lib/standard//collection//array.nit:245 */
12119 REGB2
= TAG_Int(0);
12120 /* ./../lib/standard//kernel.nit:213 */
12121 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12122 /* ./../lib/standard//collection//array.nit:245 */
12123 if (UNTAG_Bool(REGB2
)) {
12124 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12125 if (UNTAG_Bool(REGB2
)) {
12127 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
12129 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12130 /* ./../lib/standard//kernel.nit:212 */
12131 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12133 /* ./../lib/standard//collection//array.nit:245 */
12134 REGB0
= TAG_Bool(false);
12137 if (UNTAG_Bool(REGB2
)) {
12139 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
12141 /* ./../lib/standard//collection//array.nit:246 */
12142 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
12143 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12144 if (UNTAG_Bool(REGB2
)) {
12145 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
12147 /* ./../lib/standard//collection//array.nit:654 */
12148 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12149 /* ./../lib/standard//collection//array.nit:246 */
12151 label379
: while(0);
12152 /* ./compiling//compiling_icode.nit:839 */
12153 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12154 if (!once_value_380
) {
12155 fra
.me
.REG
[7] = BOX_NativeString(")]=");
12156 REGB1
= TAG_Int(3);
12157 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
12158 once_value_380
= fra
.me
.REG
[7];
12159 register_static_object(&once_value_380
);
12160 } else fra
.me
.REG
[7] = once_value_380
;
12161 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12162 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12163 REGB1
= TAG_Int(2);
12164 /* ./../lib/standard//collection//array.nit:243 */
12165 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12166 /* ./../lib/standard//collection//array.nit:245 */
12167 REGB2
= TAG_Int(0);
12168 /* ./../lib/standard//kernel.nit:213 */
12169 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12170 /* ./../lib/standard//collection//array.nit:245 */
12171 if (UNTAG_Bool(REGB2
)) {
12172 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12173 if (UNTAG_Bool(REGB2
)) {
12175 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
12177 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12178 /* ./../lib/standard//kernel.nit:212 */
12179 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12181 /* ./../lib/standard//collection//array.nit:245 */
12182 REGB0
= TAG_Bool(false);
12185 if (UNTAG_Bool(REGB2
)) {
12187 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
12189 /* ./../lib/standard//collection//array.nit:246 */
12190 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
12191 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12192 if (UNTAG_Bool(REGB2
)) {
12193 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
12195 /* ./../lib/standard//collection//array.nit:654 */
12196 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12197 /* ./../lib/standard//collection//array.nit:246 */
12199 label381
: while(0);
12200 /* ./compiling//compiling_icode.nit:839 */
12201 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12202 if (!once_value_382
) {
12203 fra
.me
.REG
[7] = BOX_NativeString("");
12204 REGB1
= TAG_Int(0);
12205 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
12206 once_value_382
= fra
.me
.REG
[7];
12207 register_static_object(&once_value_382
);
12208 } else fra
.me
.REG
[7] = once_value_382
;
12209 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12210 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12211 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12212 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12214 /* ./compiling//compiling_icode.nit:840 */
12215 if (!once_value_383
) {
12216 if (!once_value_384
) {
12217 fra
.me
.REG
[6] = BOX_NativeString("copy_to");
12218 REGB1
= TAG_Int(7);
12219 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
12220 once_value_384
= fra
.me
.REG
[6];
12221 register_static_object(&once_value_384
);
12222 } else fra
.me
.REG
[6] = once_value_384
;
12223 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12224 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12225 once_value_383
= fra
.me
.REG
[6];
12226 register_static_object(&once_value_383
);
12227 } else fra
.me
.REG
[6] = once_value_383
;
12228 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12229 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12230 if (UNTAG_Bool(REGB1
)) {
12232 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12235 if (UNTAG_Bool(REGB1
)) {
12236 /* ./compiling//compiling_icode.nit:841 */
12237 REGB1
= TAG_Int(7);
12238 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
12239 if (!once_value_385
) {
12240 fra
.me
.REG
[7] = BOX_NativeString("(void)memcpy(((Nit_NativeArray )");
12241 REGB1
= TAG_Int(32);
12242 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
12243 once_value_385
= fra
.me
.REG
[7];
12244 register_static_object(&once_value_385
);
12245 } else fra
.me
.REG
[7] = once_value_385
;
12246 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12247 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12248 REGB1
= TAG_Int(1);
12249 /* ./../lib/standard//collection//array.nit:243 */
12250 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12251 /* ./../lib/standard//collection//array.nit:245 */
12252 REGB2
= TAG_Int(0);
12253 /* ./../lib/standard//kernel.nit:213 */
12254 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12255 /* ./../lib/standard//collection//array.nit:245 */
12256 if (UNTAG_Bool(REGB2
)) {
12257 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12258 if (UNTAG_Bool(REGB2
)) {
12260 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
12262 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12263 /* ./../lib/standard//kernel.nit:212 */
12264 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12266 /* ./../lib/standard//collection//array.nit:245 */
12267 REGB0
= TAG_Bool(false);
12270 if (UNTAG_Bool(REGB2
)) {
12272 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
12274 /* ./../lib/standard//collection//array.nit:246 */
12275 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
12276 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12277 if (UNTAG_Bool(REGB2
)) {
12278 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
12280 /* ./../lib/standard//collection//array.nit:654 */
12281 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12282 /* ./../lib/standard//collection//array.nit:246 */
12284 label386
: while(0);
12285 /* ./compiling//compiling_icode.nit:841 */
12286 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12287 if (!once_value_387
) {
12288 fra
.me
.REG
[7] = BOX_NativeString(")->val, ((Nit_NativeArray)");
12289 REGB1
= TAG_Int(26);
12290 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
12291 once_value_387
= fra
.me
.REG
[7];
12292 register_static_object(&once_value_387
);
12293 } else fra
.me
.REG
[7] = once_value_387
;
12294 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12295 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12296 REGB1
= TAG_Int(0);
12297 /* ./../lib/standard//collection//array.nit:243 */
12298 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12299 /* ./../lib/standard//collection//array.nit:245 */
12300 REGB2
= TAG_Int(0);
12301 /* ./../lib/standard//kernel.nit:213 */
12302 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12303 /* ./../lib/standard//collection//array.nit:245 */
12304 if (UNTAG_Bool(REGB2
)) {
12305 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12306 if (UNTAG_Bool(REGB2
)) {
12308 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
12310 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12311 /* ./../lib/standard//kernel.nit:212 */
12312 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12314 /* ./../lib/standard//collection//array.nit:245 */
12315 REGB0
= TAG_Bool(false);
12318 if (UNTAG_Bool(REGB2
)) {
12320 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
12322 /* ./../lib/standard//collection//array.nit:246 */
12323 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
12324 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12325 if (UNTAG_Bool(REGB2
)) {
12326 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
12328 /* ./../lib/standard//collection//array.nit:654 */
12329 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12330 /* ./../lib/standard//collection//array.nit:246 */
12332 label388
: while(0);
12333 /* ./compiling//compiling_icode.nit:841 */
12334 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12335 if (!once_value_389
) {
12336 fra
.me
.REG
[7] = BOX_NativeString(")->val, UNTAG_Int(");
12337 REGB1
= TAG_Int(18);
12338 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
12339 once_value_389
= fra
.me
.REG
[7];
12340 register_static_object(&once_value_389
);
12341 } else fra
.me
.REG
[7] = once_value_389
;
12342 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12343 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12344 REGB1
= TAG_Int(2);
12345 /* ./../lib/standard//collection//array.nit:243 */
12346 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12347 /* ./../lib/standard//collection//array.nit:245 */
12348 REGB2
= TAG_Int(0);
12349 /* ./../lib/standard//kernel.nit:213 */
12350 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12351 /* ./../lib/standard//collection//array.nit:245 */
12352 if (UNTAG_Bool(REGB2
)) {
12353 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12354 if (UNTAG_Bool(REGB2
)) {
12356 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
12358 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12359 /* ./../lib/standard//kernel.nit:212 */
12360 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12362 /* ./../lib/standard//collection//array.nit:245 */
12363 REGB0
= TAG_Bool(false);
12366 if (UNTAG_Bool(REGB2
)) {
12368 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
12370 /* ./../lib/standard//collection//array.nit:246 */
12371 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[7]);
12372 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12373 if (UNTAG_Bool(REGB2
)) {
12374 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
12376 /* ./../lib/standard//collection//array.nit:654 */
12377 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12378 /* ./../lib/standard//collection//array.nit:246 */
12380 label390
: while(0);
12381 /* ./compiling//compiling_icode.nit:841 */
12382 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12383 if (!once_value_391
) {
12384 fra
.me
.REG
[7] = BOX_NativeString(")*sizeof(val_t))");
12385 REGB1
= TAG_Int(16);
12386 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
12387 once_value_391
= fra
.me
.REG
[7];
12388 register_static_object(&once_value_391
);
12389 } else fra
.me
.REG
[7] = once_value_391
;
12390 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12391 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12392 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12393 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12399 /* ./compiling//compiling_icode.nit:843 */
12400 if (!once_value_392
) {
12401 if (!once_value_393
) {
12402 fra
.me
.REG
[6] = BOX_NativeString("NativeString");
12403 REGB1
= TAG_Int(12);
12404 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
12405 once_value_393
= fra
.me
.REG
[6];
12406 register_static_object(&once_value_393
);
12407 } else fra
.me
.REG
[6] = once_value_393
;
12408 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12409 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12410 once_value_392
= fra
.me
.REG
[6];
12411 register_static_object(&once_value_392
);
12412 } else fra
.me
.REG
[6] = once_value_392
;
12413 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12414 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
12415 if (UNTAG_Bool(REGB1
)) {
12417 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
12420 if (UNTAG_Bool(REGB1
)) {
12421 /* ./compiling//compiling_icode.nit:844 */
12422 if (!once_value_394
) {
12423 if (!once_value_395
) {
12424 fra
.me
.REG
[6] = BOX_NativeString("object_id");
12425 REGB1
= TAG_Int(9);
12426 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
12427 once_value_395
= fra
.me
.REG
[6];
12428 register_static_object(&once_value_395
);
12429 } else fra
.me
.REG
[6] = once_value_395
;
12430 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12431 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12432 once_value_394
= fra
.me
.REG
[6];
12433 register_static_object(&once_value_394
);
12434 } else fra
.me
.REG
[6] = once_value_394
;
12435 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12436 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12437 if (UNTAG_Bool(REGB1
)) {
12439 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12442 if (UNTAG_Bool(REGB1
)) {
12443 /* ./compiling//compiling_icode.nit:845 */
12444 REGB1
= TAG_Int(3);
12445 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
12446 if (!once_value_396
) {
12447 fra
.me
.REG
[2] = BOX_NativeString("TAG_Int(UNBOX_NativeString(");
12448 REGB1
= TAG_Int(27);
12449 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
12450 once_value_396
= fra
.me
.REG
[2];
12451 register_static_object(&once_value_396
);
12452 } else fra
.me
.REG
[2] = once_value_396
;
12453 fra
.me
.REG
[2] = fra
.me
.REG
[2];
12454 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12455 REGB1
= TAG_Int(0);
12456 /* ./../lib/standard//collection//array.nit:243 */
12457 fra
.me
.REG
[2] = fra
.me
.REG
[4];
12458 /* ./../lib/standard//collection//array.nit:245 */
12459 REGB2
= TAG_Int(0);
12460 /* ./../lib/standard//kernel.nit:213 */
12461 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12462 /* ./../lib/standard//collection//array.nit:245 */
12463 if (UNTAG_Bool(REGB2
)) {
12464 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
12465 if (UNTAG_Bool(REGB2
)) {
12467 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
12469 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
12470 /* ./../lib/standard//kernel.nit:212 */
12471 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12473 /* ./../lib/standard//collection//array.nit:245 */
12474 REGB0
= TAG_Bool(false);
12477 if (UNTAG_Bool(REGB2
)) {
12479 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
12481 /* ./../lib/standard//collection//array.nit:246 */
12482 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
12483 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
12484 if (UNTAG_Bool(REGB2
)) {
12485 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
12487 /* ./../lib/standard//collection//array.nit:654 */
12488 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
12489 /* ./../lib/standard//collection//array.nit:246 */
12491 label397
: while(0);
12492 /* ./compiling//compiling_icode.nit:845 */
12493 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12494 if (!once_value_398
) {
12495 fra
.me
.REG
[2] = BOX_NativeString("))");
12496 REGB1
= TAG_Int(2);
12497 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
12498 once_value_398
= fra
.me
.REG
[2];
12499 register_static_object(&once_value_398
);
12500 } else fra
.me
.REG
[2] = once_value_398
;
12501 fra
.me
.REG
[2] = fra
.me
.REG
[2];
12502 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12503 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12504 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12506 /* ./compiling//compiling_icode.nit:846 */
12507 if (!once_value_399
) {
12508 if (!once_value_400
) {
12509 fra
.me
.REG
[6] = BOX_NativeString("atoi");
12510 REGB1
= TAG_Int(4);
12511 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
12512 once_value_400
= fra
.me
.REG
[6];
12513 register_static_object(&once_value_400
);
12514 } else fra
.me
.REG
[6] = once_value_400
;
12515 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12516 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12517 once_value_399
= fra
.me
.REG
[6];
12518 register_static_object(&once_value_399
);
12519 } else fra
.me
.REG
[6] = once_value_399
;
12520 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12521 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12522 if (UNTAG_Bool(REGB1
)) {
12524 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12527 if (UNTAG_Bool(REGB1
)) {
12528 /* ./compiling//compiling_icode.nit:847 */
12529 REGB1
= TAG_Int(3);
12530 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
12531 if (!once_value_401
) {
12532 fra
.me
.REG
[2] = BOX_NativeString("TAG_Int(atoi(UNBOX_NativeString(");
12533 REGB1
= TAG_Int(32);
12534 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
12535 once_value_401
= fra
.me
.REG
[2];
12536 register_static_object(&once_value_401
);
12537 } else fra
.me
.REG
[2] = once_value_401
;
12538 fra
.me
.REG
[2] = fra
.me
.REG
[2];
12539 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12540 REGB1
= TAG_Int(0);
12541 /* ./../lib/standard//collection//array.nit:243 */
12542 fra
.me
.REG
[2] = fra
.me
.REG
[4];
12543 /* ./../lib/standard//collection//array.nit:245 */
12544 REGB2
= TAG_Int(0);
12545 /* ./../lib/standard//kernel.nit:213 */
12546 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12547 /* ./../lib/standard//collection//array.nit:245 */
12548 if (UNTAG_Bool(REGB2
)) {
12549 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
12550 if (UNTAG_Bool(REGB2
)) {
12552 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
12554 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
12555 /* ./../lib/standard//kernel.nit:212 */
12556 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12558 /* ./../lib/standard//collection//array.nit:245 */
12559 REGB0
= TAG_Bool(false);
12562 if (UNTAG_Bool(REGB2
)) {
12564 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
12566 /* ./../lib/standard//collection//array.nit:246 */
12567 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
12568 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
12569 if (UNTAG_Bool(REGB2
)) {
12570 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
12572 /* ./../lib/standard//collection//array.nit:654 */
12573 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
12574 /* ./../lib/standard//collection//array.nit:246 */
12576 label402
: while(0);
12577 /* ./compiling//compiling_icode.nit:847 */
12578 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12579 if (!once_value_403
) {
12580 fra
.me
.REG
[2] = BOX_NativeString(")))");
12581 REGB1
= TAG_Int(3);
12582 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
12583 once_value_403
= fra
.me
.REG
[2];
12584 register_static_object(&once_value_403
);
12585 } else fra
.me
.REG
[2] = once_value_403
;
12586 fra
.me
.REG
[2] = fra
.me
.REG
[2];
12587 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12588 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12589 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12591 /* ./compiling//compiling_icode.nit:848 */
12592 if (!once_value_404
) {
12593 if (!once_value_405
) {
12594 fra
.me
.REG
[6] = BOX_NativeString("[]");
12595 REGB1
= TAG_Int(2);
12596 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
12597 once_value_405
= fra
.me
.REG
[6];
12598 register_static_object(&once_value_405
);
12599 } else fra
.me
.REG
[6] = once_value_405
;
12600 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12601 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12602 once_value_404
= fra
.me
.REG
[6];
12603 register_static_object(&once_value_404
);
12604 } else fra
.me
.REG
[6] = once_value_404
;
12605 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12606 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12607 if (UNTAG_Bool(REGB1
)) {
12609 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12612 if (UNTAG_Bool(REGB1
)) {
12613 /* ./compiling//compiling_icode.nit:849 */
12614 REGB1
= TAG_Int(5);
12615 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
12616 if (!once_value_406
) {
12617 fra
.me
.REG
[2] = BOX_NativeString("TAG_Char(UNBOX_NativeString(");
12618 REGB1
= TAG_Int(28);
12619 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
12620 once_value_406
= fra
.me
.REG
[2];
12621 register_static_object(&once_value_406
);
12622 } else fra
.me
.REG
[2] = once_value_406
;
12623 fra
.me
.REG
[2] = fra
.me
.REG
[2];
12624 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12625 REGB1
= TAG_Int(0);
12626 /* ./../lib/standard//collection//array.nit:243 */
12627 fra
.me
.REG
[2] = fra
.me
.REG
[4];
12628 /* ./../lib/standard//collection//array.nit:245 */
12629 REGB2
= TAG_Int(0);
12630 /* ./../lib/standard//kernel.nit:213 */
12631 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12632 /* ./../lib/standard//collection//array.nit:245 */
12633 if (UNTAG_Bool(REGB2
)) {
12634 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
12635 if (UNTAG_Bool(REGB2
)) {
12637 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
12639 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
12640 /* ./../lib/standard//kernel.nit:212 */
12641 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12643 /* ./../lib/standard//collection//array.nit:245 */
12644 REGB0
= TAG_Bool(false);
12647 if (UNTAG_Bool(REGB2
)) {
12649 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
12651 /* ./../lib/standard//collection//array.nit:246 */
12652 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
12653 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
12654 if (UNTAG_Bool(REGB2
)) {
12655 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
12657 /* ./../lib/standard//collection//array.nit:654 */
12658 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
12659 /* ./../lib/standard//collection//array.nit:246 */
12661 label407
: while(0);
12662 /* ./compiling//compiling_icode.nit:849 */
12663 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12664 if (!once_value_408
) {
12665 fra
.me
.REG
[2] = BOX_NativeString(")[UNTAG_Int(");
12666 REGB1
= TAG_Int(12);
12667 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
12668 once_value_408
= fra
.me
.REG
[2];
12669 register_static_object(&once_value_408
);
12670 } else fra
.me
.REG
[2] = once_value_408
;
12671 fra
.me
.REG
[2] = fra
.me
.REG
[2];
12672 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12673 REGB1
= TAG_Int(1);
12674 /* ./../lib/standard//collection//array.nit:243 */
12675 fra
.me
.REG
[2] = fra
.me
.REG
[4];
12676 /* ./../lib/standard//collection//array.nit:245 */
12677 REGB2
= TAG_Int(0);
12678 /* ./../lib/standard//kernel.nit:213 */
12679 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12680 /* ./../lib/standard//collection//array.nit:245 */
12681 if (UNTAG_Bool(REGB2
)) {
12682 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
12683 if (UNTAG_Bool(REGB2
)) {
12685 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
12687 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
12688 /* ./../lib/standard//kernel.nit:212 */
12689 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12691 /* ./../lib/standard//collection//array.nit:245 */
12692 REGB0
= TAG_Bool(false);
12695 if (UNTAG_Bool(REGB2
)) {
12697 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
12699 /* ./../lib/standard//collection//array.nit:246 */
12700 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
12701 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
12702 if (UNTAG_Bool(REGB2
)) {
12703 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
12705 /* ./../lib/standard//collection//array.nit:654 */
12706 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
12707 /* ./../lib/standard//collection//array.nit:246 */
12709 label409
: while(0);
12710 /* ./compiling//compiling_icode.nit:849 */
12711 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12712 if (!once_value_410
) {
12713 fra
.me
.REG
[2] = BOX_NativeString(")])");
12714 REGB1
= TAG_Int(3);
12715 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
12716 once_value_410
= fra
.me
.REG
[2];
12717 register_static_object(&once_value_410
);
12718 } else fra
.me
.REG
[2] = once_value_410
;
12719 fra
.me
.REG
[2] = fra
.me
.REG
[2];
12720 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12721 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12722 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12724 /* ./compiling//compiling_icode.nit:850 */
12725 if (!once_value_411
) {
12726 if (!once_value_412
) {
12727 fra
.me
.REG
[6] = BOX_NativeString("[]=");
12728 REGB1
= TAG_Int(3);
12729 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
12730 once_value_412
= fra
.me
.REG
[6];
12731 register_static_object(&once_value_412
);
12732 } else fra
.me
.REG
[6] = once_value_412
;
12733 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12734 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12735 once_value_411
= fra
.me
.REG
[6];
12736 register_static_object(&once_value_411
);
12737 } else fra
.me
.REG
[6] = once_value_411
;
12738 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12739 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12740 if (UNTAG_Bool(REGB1
)) {
12742 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12745 if (UNTAG_Bool(REGB1
)) {
12746 /* ./compiling//compiling_icode.nit:851 */
12747 REGB1
= TAG_Int(7);
12748 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
12749 if (!once_value_413
) {
12750 fra
.me
.REG
[2] = BOX_NativeString("UNBOX_NativeString(");
12751 REGB1
= TAG_Int(19);
12752 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
12753 once_value_413
= fra
.me
.REG
[2];
12754 register_static_object(&once_value_413
);
12755 } else fra
.me
.REG
[2] = once_value_413
;
12756 fra
.me
.REG
[2] = fra
.me
.REG
[2];
12757 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12758 REGB1
= TAG_Int(0);
12759 /* ./../lib/standard//collection//array.nit:243 */
12760 fra
.me
.REG
[2] = fra
.me
.REG
[4];
12761 /* ./../lib/standard//collection//array.nit:245 */
12762 REGB2
= TAG_Int(0);
12763 /* ./../lib/standard//kernel.nit:213 */
12764 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12765 /* ./../lib/standard//collection//array.nit:245 */
12766 if (UNTAG_Bool(REGB2
)) {
12767 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
12768 if (UNTAG_Bool(REGB2
)) {
12770 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
12772 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
12773 /* ./../lib/standard//kernel.nit:212 */
12774 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12776 /* ./../lib/standard//collection//array.nit:245 */
12777 REGB0
= TAG_Bool(false);
12780 if (UNTAG_Bool(REGB2
)) {
12782 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
12784 /* ./../lib/standard//collection//array.nit:246 */
12785 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
12786 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
12787 if (UNTAG_Bool(REGB2
)) {
12788 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
12790 /* ./../lib/standard//collection//array.nit:654 */
12791 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
12792 /* ./../lib/standard//collection//array.nit:246 */
12794 label414
: while(0);
12795 /* ./compiling//compiling_icode.nit:851 */
12796 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12797 if (!once_value_415
) {
12798 fra
.me
.REG
[2] = BOX_NativeString(")[UNTAG_Int(");
12799 REGB1
= TAG_Int(12);
12800 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
12801 once_value_415
= fra
.me
.REG
[2];
12802 register_static_object(&once_value_415
);
12803 } else fra
.me
.REG
[2] = once_value_415
;
12804 fra
.me
.REG
[2] = fra
.me
.REG
[2];
12805 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12806 REGB1
= TAG_Int(1);
12807 /* ./../lib/standard//collection//array.nit:243 */
12808 fra
.me
.REG
[2] = fra
.me
.REG
[4];
12809 /* ./../lib/standard//collection//array.nit:245 */
12810 REGB2
= TAG_Int(0);
12811 /* ./../lib/standard//kernel.nit:213 */
12812 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12813 /* ./../lib/standard//collection//array.nit:245 */
12814 if (UNTAG_Bool(REGB2
)) {
12815 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
12816 if (UNTAG_Bool(REGB2
)) {
12818 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
12820 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
12821 /* ./../lib/standard//kernel.nit:212 */
12822 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12824 /* ./../lib/standard//collection//array.nit:245 */
12825 REGB0
= TAG_Bool(false);
12828 if (UNTAG_Bool(REGB2
)) {
12830 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
12832 /* ./../lib/standard//collection//array.nit:246 */
12833 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
12834 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
12835 if (UNTAG_Bool(REGB2
)) {
12836 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
12838 /* ./../lib/standard//collection//array.nit:654 */
12839 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
12840 /* ./../lib/standard//collection//array.nit:246 */
12842 label416
: while(0);
12843 /* ./compiling//compiling_icode.nit:851 */
12844 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12845 if (!once_value_417
) {
12846 fra
.me
.REG
[2] = BOX_NativeString(")]=UNTAG_Char(");
12847 REGB1
= TAG_Int(14);
12848 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
12849 once_value_417
= fra
.me
.REG
[2];
12850 register_static_object(&once_value_417
);
12851 } else fra
.me
.REG
[2] = once_value_417
;
12852 fra
.me
.REG
[2] = fra
.me
.REG
[2];
12853 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12854 REGB1
= TAG_Int(2);
12855 /* ./../lib/standard//collection//array.nit:243 */
12856 fra
.me
.REG
[2] = fra
.me
.REG
[4];
12857 /* ./../lib/standard//collection//array.nit:245 */
12858 REGB2
= TAG_Int(0);
12859 /* ./../lib/standard//kernel.nit:213 */
12860 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12861 /* ./../lib/standard//collection//array.nit:245 */
12862 if (UNTAG_Bool(REGB2
)) {
12863 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
12864 if (UNTAG_Bool(REGB2
)) {
12866 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
12868 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
12869 /* ./../lib/standard//kernel.nit:212 */
12870 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12872 /* ./../lib/standard//collection//array.nit:245 */
12873 REGB0
= TAG_Bool(false);
12876 if (UNTAG_Bool(REGB2
)) {
12878 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
12880 /* ./../lib/standard//collection//array.nit:246 */
12881 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
12882 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
12883 if (UNTAG_Bool(REGB2
)) {
12884 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
12886 /* ./../lib/standard//collection//array.nit:654 */
12887 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
12888 /* ./../lib/standard//collection//array.nit:246 */
12890 label418
: while(0);
12891 /* ./compiling//compiling_icode.nit:851 */
12892 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12893 if (!once_value_419
) {
12894 fra
.me
.REG
[2] = BOX_NativeString(");");
12895 REGB1
= TAG_Int(2);
12896 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
12897 once_value_419
= fra
.me
.REG
[2];
12898 register_static_object(&once_value_419
);
12899 } else fra
.me
.REG
[2] = once_value_419
;
12900 fra
.me
.REG
[2] = fra
.me
.REG
[2];
12901 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12902 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12903 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12905 /* ./compiling//compiling_icode.nit:852 */
12906 if (!once_value_420
) {
12907 if (!once_value_421
) {
12908 fra
.me
.REG
[6] = BOX_NativeString("copy_to");
12909 REGB1
= TAG_Int(7);
12910 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
12911 once_value_421
= fra
.me
.REG
[6];
12912 register_static_object(&once_value_421
);
12913 } else fra
.me
.REG
[6] = once_value_421
;
12914 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12915 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12916 once_value_420
= fra
.me
.REG
[6];
12917 register_static_object(&once_value_420
);
12918 } else fra
.me
.REG
[6] = once_value_420
;
12919 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12920 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12921 if (UNTAG_Bool(REGB1
)) {
12923 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12926 if (UNTAG_Bool(REGB1
)) {
12927 /* ./compiling//compiling_icode.nit:853 */
12928 REGB1
= TAG_Int(11);
12929 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
12930 if (!once_value_422
) {
12931 fra
.me
.REG
[2] = BOX_NativeString("(void)memcpy(UNBOX_NativeString(");
12932 REGB1
= TAG_Int(32);
12933 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
12934 once_value_422
= fra
.me
.REG
[2];
12935 register_static_object(&once_value_422
);
12936 } else fra
.me
.REG
[2] = once_value_422
;
12937 fra
.me
.REG
[2] = fra
.me
.REG
[2];
12938 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12939 REGB1
= TAG_Int(1);
12940 /* ./../lib/standard//collection//array.nit:243 */
12941 fra
.me
.REG
[2] = fra
.me
.REG
[4];
12942 /* ./../lib/standard//collection//array.nit:245 */
12943 REGB2
= TAG_Int(0);
12944 /* ./../lib/standard//kernel.nit:213 */
12945 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12946 /* ./../lib/standard//collection//array.nit:245 */
12947 if (UNTAG_Bool(REGB2
)) {
12948 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
12949 if (UNTAG_Bool(REGB2
)) {
12951 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
12953 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
12954 /* ./../lib/standard//kernel.nit:212 */
12955 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12957 /* ./../lib/standard//collection//array.nit:245 */
12958 REGB0
= TAG_Bool(false);
12961 if (UNTAG_Bool(REGB2
)) {
12963 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
12965 /* ./../lib/standard//collection//array.nit:246 */
12966 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
12967 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
12968 if (UNTAG_Bool(REGB2
)) {
12969 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
12971 /* ./../lib/standard//collection//array.nit:654 */
12972 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
12973 /* ./../lib/standard//collection//array.nit:246 */
12975 label423
: while(0);
12976 /* ./compiling//compiling_icode.nit:853 */
12977 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12978 if (!once_value_424
) {
12979 fra
.me
.REG
[2] = BOX_NativeString(")+UNTAG_Int(");
12980 REGB1
= TAG_Int(12);
12981 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
12982 once_value_424
= fra
.me
.REG
[2];
12983 register_static_object(&once_value_424
);
12984 } else fra
.me
.REG
[2] = once_value_424
;
12985 fra
.me
.REG
[2] = fra
.me
.REG
[2];
12986 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
12987 REGB1
= TAG_Int(4);
12988 /* ./../lib/standard//collection//array.nit:243 */
12989 fra
.me
.REG
[2] = fra
.me
.REG
[4];
12990 /* ./../lib/standard//collection//array.nit:245 */
12991 REGB2
= TAG_Int(0);
12992 /* ./../lib/standard//kernel.nit:213 */
12993 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12994 /* ./../lib/standard//collection//array.nit:245 */
12995 if (UNTAG_Bool(REGB2
)) {
12996 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
12997 if (UNTAG_Bool(REGB2
)) {
12999 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
13001 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
13002 /* ./../lib/standard//kernel.nit:212 */
13003 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13005 /* ./../lib/standard//collection//array.nit:245 */
13006 REGB0
= TAG_Bool(false);
13009 if (UNTAG_Bool(REGB2
)) {
13011 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
13013 /* ./../lib/standard//collection//array.nit:246 */
13014 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
13015 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
13016 if (UNTAG_Bool(REGB2
)) {
13017 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
13019 /* ./../lib/standard//collection//array.nit:654 */
13020 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
13021 /* ./../lib/standard//collection//array.nit:246 */
13023 label425
: while(0);
13024 /* ./compiling//compiling_icode.nit:853 */
13025 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13026 if (!once_value_426
) {
13027 fra
.me
.REG
[2] = BOX_NativeString("), UNBOX_NativeString(");
13028 REGB1
= TAG_Int(22);
13029 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
13030 once_value_426
= fra
.me
.REG
[2];
13031 register_static_object(&once_value_426
);
13032 } else fra
.me
.REG
[2] = once_value_426
;
13033 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13034 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13035 REGB1
= TAG_Int(0);
13036 /* ./../lib/standard//collection//array.nit:243 */
13037 fra
.me
.REG
[2] = fra
.me
.REG
[4];
13038 /* ./../lib/standard//collection//array.nit:245 */
13039 REGB2
= TAG_Int(0);
13040 /* ./../lib/standard//kernel.nit:213 */
13041 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13042 /* ./../lib/standard//collection//array.nit:245 */
13043 if (UNTAG_Bool(REGB2
)) {
13044 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
13045 if (UNTAG_Bool(REGB2
)) {
13047 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
13049 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
13050 /* ./../lib/standard//kernel.nit:212 */
13051 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13053 /* ./../lib/standard//collection//array.nit:245 */
13054 REGB0
= TAG_Bool(false);
13057 if (UNTAG_Bool(REGB2
)) {
13059 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
13061 /* ./../lib/standard//collection//array.nit:246 */
13062 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
13063 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
13064 if (UNTAG_Bool(REGB2
)) {
13065 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
13067 /* ./../lib/standard//collection//array.nit:654 */
13068 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
13069 /* ./../lib/standard//collection//array.nit:246 */
13071 label427
: while(0);
13072 /* ./compiling//compiling_icode.nit:853 */
13073 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13074 if (!once_value_428
) {
13075 fra
.me
.REG
[2] = BOX_NativeString(")+UNTAG_Int(");
13076 REGB1
= TAG_Int(12);
13077 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
13078 once_value_428
= fra
.me
.REG
[2];
13079 register_static_object(&once_value_428
);
13080 } else fra
.me
.REG
[2] = once_value_428
;
13081 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13082 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13083 REGB1
= TAG_Int(3);
13084 /* ./../lib/standard//collection//array.nit:243 */
13085 fra
.me
.REG
[2] = fra
.me
.REG
[4];
13086 /* ./../lib/standard//collection//array.nit:245 */
13087 REGB2
= TAG_Int(0);
13088 /* ./../lib/standard//kernel.nit:213 */
13089 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13090 /* ./../lib/standard//collection//array.nit:245 */
13091 if (UNTAG_Bool(REGB2
)) {
13092 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
13093 if (UNTAG_Bool(REGB2
)) {
13095 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
13097 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
13098 /* ./../lib/standard//kernel.nit:212 */
13099 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13101 /* ./../lib/standard//collection//array.nit:245 */
13102 REGB0
= TAG_Bool(false);
13105 if (UNTAG_Bool(REGB2
)) {
13107 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
13109 /* ./../lib/standard//collection//array.nit:246 */
13110 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
13111 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
13112 if (UNTAG_Bool(REGB2
)) {
13113 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
13115 /* ./../lib/standard//collection//array.nit:654 */
13116 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
13117 /* ./../lib/standard//collection//array.nit:246 */
13119 label429
: while(0);
13120 /* ./compiling//compiling_icode.nit:853 */
13121 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13122 if (!once_value_430
) {
13123 fra
.me
.REG
[2] = BOX_NativeString("), UNTAG_Int(");
13124 REGB1
= TAG_Int(13);
13125 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
13126 once_value_430
= fra
.me
.REG
[2];
13127 register_static_object(&once_value_430
);
13128 } else fra
.me
.REG
[2] = once_value_430
;
13129 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13130 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13131 REGB1
= TAG_Int(2);
13132 /* ./../lib/standard//collection//array.nit:243 */
13133 fra
.me
.REG
[2] = fra
.me
.REG
[4];
13134 /* ./../lib/standard//collection//array.nit:245 */
13135 REGB2
= TAG_Int(0);
13136 /* ./../lib/standard//kernel.nit:213 */
13137 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13138 /* ./../lib/standard//collection//array.nit:245 */
13139 if (UNTAG_Bool(REGB2
)) {
13140 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
13141 if (UNTAG_Bool(REGB2
)) {
13143 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
13145 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
13146 /* ./../lib/standard//kernel.nit:212 */
13147 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13149 /* ./../lib/standard//collection//array.nit:245 */
13150 REGB0
= TAG_Bool(false);
13153 if (UNTAG_Bool(REGB2
)) {
13155 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
13157 /* ./../lib/standard//collection//array.nit:246 */
13158 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
13159 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
13160 if (UNTAG_Bool(REGB2
)) {
13161 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
13163 /* ./../lib/standard//collection//array.nit:654 */
13164 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
13165 /* ./../lib/standard//collection//array.nit:246 */
13167 label431
: while(0);
13168 /* ./compiling//compiling_icode.nit:853 */
13169 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13170 if (!once_value_432
) {
13171 fra
.me
.REG
[2] = BOX_NativeString("));");
13172 REGB1
= TAG_Int(3);
13173 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
13174 once_value_432
= fra
.me
.REG
[2];
13175 register_static_object(&once_value_432
);
13176 } else fra
.me
.REG
[2] = once_value_432
;
13177 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13178 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13179 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13180 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13187 /* ./compiling//compiling_icode.nit:855 */
13188 if (!once_value_433
) {
13189 if (!once_value_434
) {
13190 fra
.me
.REG
[6] = BOX_NativeString("object_id");
13191 REGB1
= TAG_Int(9);
13192 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
13193 once_value_434
= fra
.me
.REG
[6];
13194 register_static_object(&once_value_434
);
13195 } else fra
.me
.REG
[6] = once_value_434
;
13196 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13197 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13198 once_value_433
= fra
.me
.REG
[6];
13199 register_static_object(&once_value_433
);
13200 } else fra
.me
.REG
[6] = once_value_433
;
13201 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13202 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13203 if (UNTAG_Bool(REGB1
)) {
13205 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13208 if (UNTAG_Bool(REGB1
)) {
13209 /* ./compiling//compiling_icode.nit:856 */
13210 REGB1
= TAG_Int(3);
13211 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
13212 if (!once_value_435
) {
13213 fra
.me
.REG
[2] = BOX_NativeString("TAG_Int((bigint)((obj_t)");
13214 REGB1
= TAG_Int(24);
13215 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
13216 once_value_435
= fra
.me
.REG
[2];
13217 register_static_object(&once_value_435
);
13218 } else fra
.me
.REG
[2] = once_value_435
;
13219 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13220 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13221 REGB1
= TAG_Int(0);
13222 /* ./../lib/standard//collection//array.nit:243 */
13223 fra
.me
.REG
[2] = fra
.me
.REG
[4];
13224 /* ./../lib/standard//collection//array.nit:245 */
13225 REGB2
= TAG_Int(0);
13226 /* ./../lib/standard//kernel.nit:213 */
13227 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13228 /* ./../lib/standard//collection//array.nit:245 */
13229 if (UNTAG_Bool(REGB2
)) {
13230 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
13231 if (UNTAG_Bool(REGB2
)) {
13233 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
13235 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
13236 /* ./../lib/standard//kernel.nit:212 */
13237 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13239 /* ./../lib/standard//collection//array.nit:245 */
13240 REGB0
= TAG_Bool(false);
13243 if (UNTAG_Bool(REGB2
)) {
13245 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
13247 /* ./../lib/standard//collection//array.nit:246 */
13248 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
13249 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
13250 if (UNTAG_Bool(REGB2
)) {
13251 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
13253 /* ./../lib/standard//collection//array.nit:654 */
13254 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
13255 /* ./../lib/standard//collection//array.nit:246 */
13257 label436
: while(0);
13258 /* ./compiling//compiling_icode.nit:856 */
13259 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13260 if (!once_value_437
) {
13261 fra
.me
.REG
[2] = BOX_NativeString(")[1].object_id)");
13262 REGB1
= TAG_Int(15);
13263 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
13264 once_value_437
= fra
.me
.REG
[2];
13265 register_static_object(&once_value_437
);
13266 } else fra
.me
.REG
[2] = once_value_437
;
13267 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13268 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13269 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13270 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13272 /* ./compiling//compiling_icode.nit:857 */
13273 if (!once_value_438
) {
13274 if (!once_value_439
) {
13275 fra
.me
.REG
[6] = BOX_NativeString("sys");
13276 REGB1
= TAG_Int(3);
13277 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
13278 once_value_439
= fra
.me
.REG
[6];
13279 register_static_object(&once_value_439
);
13280 } else fra
.me
.REG
[6] = once_value_439
;
13281 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13282 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13283 once_value_438
= fra
.me
.REG
[6];
13284 register_static_object(&once_value_438
);
13285 } else fra
.me
.REG
[6] = once_value_438
;
13286 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13287 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13288 if (UNTAG_Bool(REGB1
)) {
13290 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13293 if (UNTAG_Bool(REGB1
)) {
13294 /* ./compiling//compiling_icode.nit:858 */
13295 if (!once_value_440
) {
13296 fra
.me
.REG
[6] = BOX_NativeString("(G_sys)");
13297 REGB1
= TAG_Int(7);
13298 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
13299 once_value_440
= fra
.me
.REG
[6];
13300 register_static_object(&once_value_440
);
13301 } else fra
.me
.REG
[6] = once_value_440
;
13302 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13303 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13305 /* ./compiling//compiling_icode.nit:859 */
13306 if (!once_value_441
) {
13307 if (!once_value_442
) {
13308 fra
.me
.REG
[6] = BOX_NativeString("is_same_type");
13309 REGB1
= TAG_Int(12);
13310 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
13311 once_value_442
= fra
.me
.REG
[6];
13312 register_static_object(&once_value_442
);
13313 } else fra
.me
.REG
[6] = once_value_442
;
13314 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13315 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13316 once_value_441
= fra
.me
.REG
[6];
13317 register_static_object(&once_value_441
);
13318 } else fra
.me
.REG
[6] = once_value_441
;
13319 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13320 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13321 if (UNTAG_Bool(REGB1
)) {
13323 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13326 if (UNTAG_Bool(REGB1
)) {
13327 /* ./compiling//compiling_icode.nit:860 */
13328 REGB1
= TAG_Int(5);
13329 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
13330 if (!once_value_443
) {
13331 fra
.me
.REG
[2] = BOX_NativeString("TAG_Bool((VAL2VFT(");
13332 REGB1
= TAG_Int(18);
13333 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
13334 once_value_443
= fra
.me
.REG
[2];
13335 register_static_object(&once_value_443
);
13336 } else fra
.me
.REG
[2] = once_value_443
;
13337 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13338 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13339 REGB1
= TAG_Int(0);
13340 /* ./../lib/standard//collection//array.nit:243 */
13341 fra
.me
.REG
[2] = fra
.me
.REG
[4];
13342 /* ./../lib/standard//collection//array.nit:245 */
13343 REGB2
= TAG_Int(0);
13344 /* ./../lib/standard//kernel.nit:213 */
13345 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13346 /* ./../lib/standard//collection//array.nit:245 */
13347 if (UNTAG_Bool(REGB2
)) {
13348 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
13349 if (UNTAG_Bool(REGB2
)) {
13351 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
13353 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
13354 /* ./../lib/standard//kernel.nit:212 */
13355 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13357 /* ./../lib/standard//collection//array.nit:245 */
13358 REGB0
= TAG_Bool(false);
13361 if (UNTAG_Bool(REGB2
)) {
13363 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
13365 /* ./../lib/standard//collection//array.nit:246 */
13366 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
13367 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
13368 if (UNTAG_Bool(REGB2
)) {
13369 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
13371 /* ./../lib/standard//collection//array.nit:654 */
13372 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
13373 /* ./../lib/standard//collection//array.nit:246 */
13375 label444
: while(0);
13376 /* ./compiling//compiling_icode.nit:860 */
13377 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13378 if (!once_value_445
) {
13379 fra
.me
.REG
[2] = BOX_NativeString(")==VAL2VFT(");
13380 REGB1
= TAG_Int(11);
13381 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
13382 once_value_445
= fra
.me
.REG
[2];
13383 register_static_object(&once_value_445
);
13384 } else fra
.me
.REG
[2] = once_value_445
;
13385 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13386 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13387 REGB1
= TAG_Int(1);
13388 /* ./../lib/standard//collection//array.nit:243 */
13389 fra
.me
.REG
[2] = fra
.me
.REG
[4];
13390 /* ./../lib/standard//collection//array.nit:245 */
13391 REGB2
= TAG_Int(0);
13392 /* ./../lib/standard//kernel.nit:213 */
13393 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13394 /* ./../lib/standard//collection//array.nit:245 */
13395 if (UNTAG_Bool(REGB2
)) {
13396 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
13397 if (UNTAG_Bool(REGB2
)) {
13399 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
13401 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
13402 /* ./../lib/standard//kernel.nit:212 */
13403 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13405 /* ./../lib/standard//collection//array.nit:245 */
13406 REGB0
= TAG_Bool(false);
13409 if (UNTAG_Bool(REGB2
)) {
13411 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
13413 /* ./../lib/standard//collection//array.nit:246 */
13414 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
13415 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
13416 if (UNTAG_Bool(REGB2
)) {
13417 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
13419 /* ./../lib/standard//collection//array.nit:654 */
13420 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
13421 /* ./../lib/standard//collection//array.nit:246 */
13423 label446
: while(0);
13424 /* ./compiling//compiling_icode.nit:860 */
13425 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13426 if (!once_value_447
) {
13427 fra
.me
.REG
[2] = BOX_NativeString(")))");
13428 REGB1
= TAG_Int(3);
13429 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
13430 once_value_447
= fra
.me
.REG
[2];
13431 register_static_object(&once_value_447
);
13432 } else fra
.me
.REG
[2] = once_value_447
;
13433 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13434 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13435 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13436 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13438 /* ./compiling//compiling_icode.nit:861 */
13439 if (!once_value_448
) {
13440 if (!once_value_449
) {
13441 fra
.me
.REG
[6] = BOX_NativeString("exit");
13442 REGB1
= TAG_Int(4);
13443 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
13444 once_value_449
= fra
.me
.REG
[6];
13445 register_static_object(&once_value_449
);
13446 } else fra
.me
.REG
[6] = once_value_449
;
13447 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13448 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13449 once_value_448
= fra
.me
.REG
[6];
13450 register_static_object(&once_value_448
);
13451 } else fra
.me
.REG
[6] = once_value_448
;
13452 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13453 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13454 if (UNTAG_Bool(REGB1
)) {
13456 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13459 if (UNTAG_Bool(REGB1
)) {
13460 /* ./compiling//compiling_icode.nit:862 */
13461 REGB1
= TAG_Int(3);
13462 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
13463 if (!once_value_450
) {
13464 fra
.me
.REG
[2] = BOX_NativeString("exit(UNTAG_Int(");
13465 REGB1
= TAG_Int(15);
13466 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
13467 once_value_450
= fra
.me
.REG
[2];
13468 register_static_object(&once_value_450
);
13469 } else fra
.me
.REG
[2] = once_value_450
;
13470 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13471 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13472 REGB1
= TAG_Int(1);
13473 /* ./../lib/standard//collection//array.nit:243 */
13474 fra
.me
.REG
[2] = fra
.me
.REG
[4];
13475 /* ./../lib/standard//collection//array.nit:245 */
13476 REGB2
= TAG_Int(0);
13477 /* ./../lib/standard//kernel.nit:213 */
13478 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13479 /* ./../lib/standard//collection//array.nit:245 */
13480 if (UNTAG_Bool(REGB2
)) {
13481 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
13482 if (UNTAG_Bool(REGB2
)) {
13484 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
13486 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
13487 /* ./../lib/standard//kernel.nit:212 */
13488 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13490 /* ./../lib/standard//collection//array.nit:245 */
13491 REGB0
= TAG_Bool(false);
13494 if (UNTAG_Bool(REGB2
)) {
13496 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
13498 /* ./../lib/standard//collection//array.nit:246 */
13499 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
13500 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
13501 if (UNTAG_Bool(REGB2
)) {
13502 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
13504 /* ./../lib/standard//collection//array.nit:654 */
13505 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
13506 /* ./../lib/standard//collection//array.nit:246 */
13508 label451
: while(0);
13509 /* ./compiling//compiling_icode.nit:862 */
13510 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13511 if (!once_value_452
) {
13512 fra
.me
.REG
[2] = BOX_NativeString("));");
13513 REGB1
= TAG_Int(3);
13514 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
13515 once_value_452
= fra
.me
.REG
[2];
13516 register_static_object(&once_value_452
);
13517 } else fra
.me
.REG
[2] = once_value_452
;
13518 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13519 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13520 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13521 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13523 /* ./compiling//compiling_icode.nit:863 */
13524 if (!once_value_453
) {
13525 if (!once_value_454
) {
13526 fra
.me
.REG
[6] = BOX_NativeString("calloc_array");
13527 REGB1
= TAG_Int(12);
13528 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
13529 once_value_454
= fra
.me
.REG
[6];
13530 register_static_object(&once_value_454
);
13531 } else fra
.me
.REG
[6] = once_value_454
;
13532 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13533 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13534 once_value_453
= fra
.me
.REG
[6];
13535 register_static_object(&once_value_453
);
13536 } else fra
.me
.REG
[6] = once_value_453
;
13537 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13538 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13539 if (UNTAG_Bool(REGB1
)) {
13541 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13544 if (UNTAG_Bool(REGB1
)) {
13545 /* ./compiling//compiling_icode.nit:864 */
13546 REGB1
= TAG_Int(3);
13547 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
13548 if (!once_value_455
) {
13549 fra
.me
.REG
[2] = BOX_NativeString("NEW_NativeArray(UNTAG_Int(");
13550 REGB1
= TAG_Int(26);
13551 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
13552 once_value_455
= fra
.me
.REG
[2];
13553 register_static_object(&once_value_455
);
13554 } else fra
.me
.REG
[2] = once_value_455
;
13555 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13556 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13557 REGB1
= TAG_Int(1);
13558 /* ./../lib/standard//collection//array.nit:243 */
13559 fra
.me
.REG
[2] = fra
.me
.REG
[4];
13560 /* ./../lib/standard//collection//array.nit:245 */
13561 REGB2
= TAG_Int(0);
13562 /* ./../lib/standard//kernel.nit:213 */
13563 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13564 /* ./../lib/standard//collection//array.nit:245 */
13565 if (UNTAG_Bool(REGB2
)) {
13566 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
13567 if (UNTAG_Bool(REGB2
)) {
13569 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
13571 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
13572 /* ./../lib/standard//kernel.nit:212 */
13573 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13575 /* ./../lib/standard//collection//array.nit:245 */
13576 REGB0
= TAG_Bool(false);
13579 if (UNTAG_Bool(REGB2
)) {
13581 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
13583 /* ./../lib/standard//collection//array.nit:246 */
13584 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
13585 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
13586 if (UNTAG_Bool(REGB2
)) {
13587 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
13589 /* ./../lib/standard//collection//array.nit:654 */
13590 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
13591 /* ./../lib/standard//collection//array.nit:246 */
13593 label456
: while(0);
13594 /* ./compiling//compiling_icode.nit:864 */
13595 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13596 if (!once_value_457
) {
13597 fra
.me
.REG
[2] = BOX_NativeString("), sizeof(val_t))");
13598 REGB1
= TAG_Int(17);
13599 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
13600 once_value_457
= fra
.me
.REG
[2];
13601 register_static_object(&once_value_457
);
13602 } else fra
.me
.REG
[2] = once_value_457
;
13603 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13604 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
13605 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13606 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13608 /* ./compiling//compiling_icode.nit:865 */
13609 if (!once_value_458
) {
13610 if (!once_value_459
) {
13611 fra
.me
.REG
[6] = BOX_NativeString("calloc_string");
13612 REGB1
= TAG_Int(13);
13613 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
13614 once_value_459
= fra
.me
.REG
[6];
13615 register_static_object(&once_value_459
);
13616 } else fra
.me
.REG
[6] = once_value_459
;
13617 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13618 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13619 once_value_458
= fra
.me
.REG
[6];
13620 register_static_object(&once_value_458
);
13621 } else fra
.me
.REG
[6] = once_value_458
;
13622 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13623 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13624 if (UNTAG_Bool(REGB1
)) {
13626 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13629 if (UNTAG_Bool(REGB1
)) {
13630 /* ./compiling//compiling_icode.nit:866 */
13631 REGB1
= TAG_Int(3);
13632 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
13633 if (!once_value_460
) {
13634 fra
.me
.REG
[3] = BOX_NativeString("BOX_NativeString((char*)raw_alloc((UNTAG_Int(");
13635 REGB1
= TAG_Int(45);
13636 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB1
);
13637 once_value_460
= fra
.me
.REG
[3];
13638 register_static_object(&once_value_460
);
13639 } else fra
.me
.REG
[3] = once_value_460
;
13640 fra
.me
.REG
[3] = fra
.me
.REG
[3];
13641 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
13642 REGB1
= TAG_Int(1);
13643 /* ./../lib/standard//collection//array.nit:245 */
13644 REGB2
= TAG_Int(0);
13645 /* ./../lib/standard//kernel.nit:213 */
13646 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13647 /* ./../lib/standard//collection//array.nit:245 */
13648 if (UNTAG_Bool(REGB2
)) {
13649 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
13650 if (UNTAG_Bool(REGB2
)) {
13652 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
13654 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
13655 /* ./../lib/standard//kernel.nit:212 */
13656 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13658 /* ./../lib/standard//collection//array.nit:245 */
13659 REGB0
= TAG_Bool(false);
13662 if (UNTAG_Bool(REGB2
)) {
13664 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
13666 /* ./../lib/standard//collection//array.nit:246 */
13667 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[4]);
13668 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
13669 if (UNTAG_Bool(REGB2
)) {
13670 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
13672 /* ./../lib/standard//collection//array.nit:654 */
13673 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB1
)];
13674 /* ./../lib/standard//collection//array.nit:246 */
13676 label461
: while(0);
13677 /* ./compiling//compiling_icode.nit:866 */
13678 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
13679 if (!once_value_462
) {
13680 fra
.me
.REG
[4] = BOX_NativeString(") * sizeof(char))))");
13681 REGB1
= TAG_Int(19);
13682 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
13683 once_value_462
= fra
.me
.REG
[4];
13684 register_static_object(&once_value_462
);
13685 } else fra
.me
.REG
[4] = once_value_462
;
13686 fra
.me
.REG
[4] = fra
.me
.REG
[4];
13687 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
13688 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13689 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13702 /* ./compiling//compiling_icode.nit:868 */
13703 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
13704 if (UNTAG_Bool(REGB1
)) {
13706 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
13707 if (UNTAG_Bool(REGB2
)) {
13708 REGB2
= TAG_Bool(false);
13711 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
13715 if (UNTAG_Bool(REGB1
)) {
13716 /* ./compiling//compiling_icode.nit:869 */
13717 fra
.me
.REG
[6] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
13718 /* ./compiling//compiling_icode.nit:870 */
13719 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
13720 if (UNTAG_Bool(REGB1
)) {
13722 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
13723 if (UNTAG_Bool(REGB2
)) {
13724 REGB2
= TAG_Bool(false);
13727 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
13731 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
13732 if (UNTAG_Bool(REGB1
)) {
13733 REGB1
= TAG_Int(3);
13734 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB1
);
13735 if (!once_value_463
) {
13736 fra
.me
.REG
[3] = BOX_NativeString("fprintf(stderr, \"");
13737 REGB1
= TAG_Int(17);
13738 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB1
);
13739 once_value_463
= fra
.me
.REG
[3];
13740 register_static_object(&once_value_463
);
13741 } else fra
.me
.REG
[3] = once_value_463
;
13742 fra
.me
.REG
[3] = fra
.me
.REG
[3];
13743 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
13744 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
13745 if (UNTAG_Bool(REGB1
)) {
13746 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 870);
13748 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13749 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
13750 if (!once_value_464
) {
13751 fra
.me
.REG
[6] = BOX_NativeString(": \");");
13752 REGB1
= TAG_Int(5);
13753 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
13754 once_value_464
= fra
.me
.REG
[6];
13755 register_static_object(&once_value_464
);
13756 } else fra
.me
.REG
[6] = once_value_464
;
13757 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13758 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
13759 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
13760 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
13762 /* ./compiling//compiling_icode.nit:871 */
13763 REGB1
= TAG_Int(3);
13764 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB1
);
13765 if (!once_value_465
) {
13766 fra
.me
.REG
[6] = BOX_NativeString("fprintf(stderr, \"Fatal error: unknown intern method ");
13767 REGB1
= TAG_Int(52);
13768 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
13769 once_value_465
= fra
.me
.REG
[6];
13770 register_static_object(&once_value_465
);
13771 } else fra
.me
.REG
[6] = once_value_465
;
13772 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13773 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
13774 fra
.me
.REG
[6] = CALL_icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
13775 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13776 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
13777 if (!once_value_466
) {
13778 fra
.me
.REG
[6] = BOX_NativeString(".\\n\");");
13779 REGB1
= TAG_Int(6);
13780 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
13781 once_value_466
= fra
.me
.REG
[6];
13782 register_static_object(&once_value_466
);
13783 } else fra
.me
.REG
[6] = once_value_466
;
13784 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13785 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
13786 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
13787 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
13788 /* ./compiling//compiling_icode.nit:872 */
13789 if (!once_value_467
) {
13790 fra
.me
.REG
[4] = BOX_NativeString("nit_exit(1);");
13791 REGB1
= TAG_Int(12);
13792 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
13793 once_value_467
= fra
.me
.REG
[4];
13794 register_static_object(&once_value_467
);
13795 } else fra
.me
.REG
[4] = once_value_467
;
13796 fra
.me
.REG
[4] = fra
.me
.REG
[4];
13797 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
13798 /* ./compiling//compiling_icode.nit:873 */
13799 if (!once_value_468
) {
13800 fra
.me
.REG
[4] = BOX_NativeString("NIT_NULL");
13801 REGB1
= TAG_Int(8);
13802 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
13803 once_value_468
= fra
.me
.REG
[4];
13804 register_static_object(&once_value_468
);
13805 } else fra
.me
.REG
[4] = once_value_468
;
13806 fra
.me
.REG
[4] = fra
.me
.REG
[4];
13807 fra
.me
.REG
[5] = fra
.me
.REG
[4];
13809 /* ./compiling//compiling_icode.nit:875 */
13810 fra
.me
.REG
[4] = CALL_icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
13811 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
13812 if (UNTAG_Bool(REGB1
)) {
13814 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
13815 if (UNTAG_Bool(REGB2
)) {
13816 REGB2
= TAG_Bool(false);
13819 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
13823 if (UNTAG_Bool(REGB1
)) {
13824 /* ./compiling//compiling_icode.nit:876 */
13825 fra
.me
.REG
[4] = CALL_compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
13826 fra
.me
.REG
[4] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
13827 if (!once_value_469
) {
13828 fra
.me
.REG
[6] = BOX_NativeString(";\n");
13829 REGB1
= TAG_Int(2);
13830 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
13831 once_value_469
= fra
.me
.REG
[6];
13832 register_static_object(&once_value_469
);
13833 } else fra
.me
.REG
[6] = once_value_469
;
13834 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13835 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
13837 /* ./compiling//compiling_icode.nit:877 */
13838 REGB1
= CALL_compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
13839 if (UNTAG_Bool(REGB1
)) {
13840 /* ./compiling//compiling_icode.nit:878 */
13841 fra
.me
.REG
[1] = CALL_compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
13842 /* ./compiling//compiling_icode.nit:879 */
13843 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
13846 stack_frame_head
= fra
.me
.prev
;
13849 void compiling_icode___IIntValue___compile_to_c(val_t p0
, val_t p1
){
13850 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
13853 static val_t once_value_1
; /* Once value */
13854 static val_t once_value_2
; /* Once value */
13855 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
13856 fra
.me
.file
= LOCATE_compiling_icode
;
13858 fra
.me
.meth
= LOCATE_compiling_icode___IIntValue___compile_to_c
;
13859 fra
.me
.has_broke
= 0;
13860 fra
.me
.REG_size
= 3;
13861 fra
.me
.REG
[0] = NIT_NULL
;
13862 fra
.me
.REG
[1] = NIT_NULL
;
13863 fra
.me
.REG
[2] = NIT_NULL
;
13864 fra
.me
.REG
[0] = p0
;
13865 fra
.me
.REG
[1] = p1
;
13866 /* ./compiling//compiling_icode.nit:887 */
13867 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
13868 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
13869 /* ./compiling//compiling_icode.nit:888 */
13870 fra
.me
.REG
[1] = CALL_compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
13871 /* ./compiling//compiling_icode.nit:889 */
13872 if (!once_value_1
) {
13873 fra
.me
.REG
[2] = BOX_NativeString("TAG_Int(");
13874 REGB0
= TAG_Int(8);
13875 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
13876 once_value_1
= fra
.me
.REG
[2];
13877 register_static_object(&once_value_1
);
13878 } else fra
.me
.REG
[2] = once_value_1
;
13879 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13880 fra
.me
.REG
[2] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
13881 fra
.me
.REG
[0] = CALL_icode_base___IIntValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
13882 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
13883 fra
.me
.REG
[0] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
13884 if (!once_value_2
) {
13885 fra
.me
.REG
[2] = BOX_NativeString(")");
13886 REGB0
= TAG_Int(1);
13887 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
13888 once_value_2
= fra
.me
.REG
[2];
13889 register_static_object(&once_value_2
);
13890 } else fra
.me
.REG
[2] = once_value_2
;
13891 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13892 CALL_compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
13893 stack_frame_head
= fra
.me
.prev
;
13896 void compiling_icode___IBoolValue___compile_to_c(val_t p0
, val_t p1
){
13897 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
13900 static val_t once_value_1
; /* Once value */
13901 static val_t once_value_2
; /* Once value */
13902 static val_t once_value_3
; /* Once value */
13903 static val_t once_value_4
; /* Once value */
13904 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
13905 fra
.me
.file
= LOCATE_compiling_icode
;
13907 fra
.me
.meth
= LOCATE_compiling_icode___IBoolValue___compile_to_c
;
13908 fra
.me
.has_broke
= 0;
13909 fra
.me
.REG_size
= 3;
13910 fra
.me
.REG
[0] = NIT_NULL
;
13911 fra
.me
.REG
[1] = NIT_NULL
;
13912 fra
.me
.REG
[2] = NIT_NULL
;
13913 fra
.me
.REG
[0] = p0
;
13914 fra
.me
.REG
[1] = p1
;
13915 /* ./compiling//compiling_icode.nit:896 */
13916 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
13917 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
13918 /* ./compiling//compiling_icode.nit:897 */
13919 fra
.me
.REG
[1] = CALL_compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
13920 /* ./compiling//compiling_icode.nit:898 */
13921 if (!once_value_1
) {
13922 fra
.me
.REG
[2] = BOX_NativeString("TAG_Bool(");
13923 REGB0
= TAG_Int(9);
13924 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
13925 once_value_1
= fra
.me
.REG
[2];
13926 register_static_object(&once_value_1
);
13927 } else fra
.me
.REG
[2] = once_value_1
;
13928 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13929 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
13930 /* ./compiling//compiling_icode.nit:899 */
13931 REGB0
= CALL_icode_base___IBoolValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
13932 if (UNTAG_Bool(REGB0
)) {
13933 if (!once_value_2
) {
13934 fra
.me
.REG
[0] = BOX_NativeString("true");
13935 REGB0
= TAG_Int(4);
13936 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
13937 once_value_2
= fra
.me
.REG
[0];
13938 register_static_object(&once_value_2
);
13939 } else fra
.me
.REG
[0] = once_value_2
;
13940 fra
.me
.REG
[0] = fra
.me
.REG
[0];
13941 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
13943 if (!once_value_3
) {
13944 fra
.me
.REG
[0] = BOX_NativeString("false");
13945 REGB0
= TAG_Int(5);
13946 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
13947 once_value_3
= fra
.me
.REG
[0];
13948 register_static_object(&once_value_3
);
13949 } else fra
.me
.REG
[0] = once_value_3
;
13950 fra
.me
.REG
[0] = fra
.me
.REG
[0];
13951 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
13953 /* ./compiling//compiling_icode.nit:900 */
13954 if (!once_value_4
) {
13955 fra
.me
.REG
[0] = BOX_NativeString(")");
13956 REGB0
= TAG_Int(1);
13957 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
13958 once_value_4
= fra
.me
.REG
[0];
13959 register_static_object(&once_value_4
);
13960 } else fra
.me
.REG
[0] = once_value_4
;
13961 fra
.me
.REG
[0] = fra
.me
.REG
[0];
13962 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
13963 stack_frame_head
= fra
.me
.prev
;
13966 void compiling_icode___ICharValue___compile_to_c(val_t p0
, val_t p1
){
13967 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
13970 static val_t once_value_1
; /* Once value */
13971 static val_t once_value_2
; /* Once value */
13972 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
13973 fra
.me
.file
= LOCATE_compiling_icode
;
13975 fra
.me
.meth
= LOCATE_compiling_icode___ICharValue___compile_to_c
;
13976 fra
.me
.has_broke
= 0;
13977 fra
.me
.REG_size
= 3;
13978 fra
.me
.REG
[0] = NIT_NULL
;
13979 fra
.me
.REG
[1] = NIT_NULL
;
13980 fra
.me
.REG
[2] = NIT_NULL
;
13981 fra
.me
.REG
[0] = p0
;
13982 fra
.me
.REG
[1] = p1
;
13983 /* ./compiling//compiling_icode.nit:907 */
13984 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
13985 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
13986 /* ./compiling//compiling_icode.nit:908 */
13987 fra
.me
.REG
[1] = CALL_compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
13988 /* ./compiling//compiling_icode.nit:909 */
13989 if (!once_value_1
) {
13990 fra
.me
.REG
[2] = BOX_NativeString("TAG_Char(");
13991 REGB0
= TAG_Int(9);
13992 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
13993 once_value_1
= fra
.me
.REG
[2];
13994 register_static_object(&once_value_1
);
13995 } else fra
.me
.REG
[2] = once_value_1
;
13996 fra
.me
.REG
[2] = fra
.me
.REG
[2];
13997 fra
.me
.REG
[2] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
13998 fra
.me
.REG
[0] = CALL_icode_base___ICharValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
13999 fra
.me
.REG
[0] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
14000 if (!once_value_2
) {
14001 fra
.me
.REG
[2] = BOX_NativeString(")");
14002 REGB0
= TAG_Int(1);
14003 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
14004 once_value_2
= fra
.me
.REG
[2];
14005 register_static_object(&once_value_2
);
14006 } else fra
.me
.REG
[2] = once_value_2
;
14007 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14008 CALL_compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
14009 stack_frame_head
= fra
.me
.prev
;
14012 void compiling_icode___IFloatValue___compile_to_c(val_t p0
, val_t p1
){
14013 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
14016 static val_t once_value_1
; /* Once value */
14017 static val_t once_value_2
; /* Once value */
14018 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
14019 fra
.me
.file
= LOCATE_compiling_icode
;
14021 fra
.me
.meth
= LOCATE_compiling_icode___IFloatValue___compile_to_c
;
14022 fra
.me
.has_broke
= 0;
14023 fra
.me
.REG_size
= 3;
14024 fra
.me
.REG
[0] = NIT_NULL
;
14025 fra
.me
.REG
[1] = NIT_NULL
;
14026 fra
.me
.REG
[2] = NIT_NULL
;
14027 fra
.me
.REG
[0] = p0
;
14028 fra
.me
.REG
[1] = p1
;
14029 /* ./compiling//compiling_icode.nit:916 */
14030 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14031 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14032 /* ./compiling//compiling_icode.nit:917 */
14033 fra
.me
.REG
[1] = CALL_compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
14034 /* ./compiling//compiling_icode.nit:918 */
14035 if (!once_value_1
) {
14036 fra
.me
.REG
[2] = BOX_NativeString("BOX_Float(");
14037 REGB0
= TAG_Int(10);
14038 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
14039 once_value_1
= fra
.me
.REG
[2];
14040 register_static_object(&once_value_1
);
14041 } else fra
.me
.REG
[2] = once_value_1
;
14042 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14043 fra
.me
.REG
[2] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14044 fra
.me
.REG
[0] = CALL_icode_base___IFloatValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14045 fra
.me
.REG
[0] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
14046 if (!once_value_2
) {
14047 fra
.me
.REG
[2] = BOX_NativeString(")");
14048 REGB0
= TAG_Int(1);
14049 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
14050 once_value_2
= fra
.me
.REG
[2];
14051 register_static_object(&once_value_2
);
14052 } else fra
.me
.REG
[2] = once_value_2
;
14053 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14054 CALL_compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
14055 stack_frame_head
= fra
.me
.prev
;
14058 void compiling_icode___IStringValue___compile_to_c(val_t p0
, val_t p1
){
14059 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
14062 static val_t once_value_1
; /* Once value */
14063 static val_t once_value_2
; /* Once value */
14064 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
14065 fra
.me
.file
= LOCATE_compiling_icode
;
14067 fra
.me
.meth
= LOCATE_compiling_icode___IStringValue___compile_to_c
;
14068 fra
.me
.has_broke
= 0;
14069 fra
.me
.REG_size
= 3;
14070 fra
.me
.REG
[0] = NIT_NULL
;
14071 fra
.me
.REG
[1] = NIT_NULL
;
14072 fra
.me
.REG
[2] = NIT_NULL
;
14073 fra
.me
.REG
[0] = p0
;
14074 fra
.me
.REG
[1] = p1
;
14075 /* ./compiling//compiling_icode.nit:925 */
14076 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14077 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14078 /* ./compiling//compiling_icode.nit:926 */
14079 fra
.me
.REG
[1] = CALL_compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
14080 /* ./compiling//compiling_icode.nit:927 */
14081 if (!once_value_1
) {
14082 fra
.me
.REG
[2] = BOX_NativeString("BOX_NativeString(\"");
14083 REGB0
= TAG_Int(18);
14084 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
14085 once_value_1
= fra
.me
.REG
[2];
14086 register_static_object(&once_value_1
);
14087 } else fra
.me
.REG
[2] = once_value_1
;
14088 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14089 fra
.me
.REG
[2] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14090 fra
.me
.REG
[0] = CALL_icode_base___IStringValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14091 fra
.me
.REG
[0] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
14092 if (!once_value_2
) {
14093 fra
.me
.REG
[2] = BOX_NativeString("\")");
14094 REGB0
= TAG_Int(2);
14095 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
14096 once_value_2
= fra
.me
.REG
[2];
14097 register_static_object(&once_value_2
);
14098 } else fra
.me
.REG
[2] = once_value_2
;
14099 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14100 CALL_compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
14101 stack_frame_head
= fra
.me
.prev
;
14104 void compiling_icode___IAbort___compile_to_c(val_t p0
, val_t p1
){
14105 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
14110 static val_t once_value_1
; /* Once value */
14111 static val_t once_value_3
; /* Once value */
14112 static val_t once_value_5
; /* Once value */
14113 static val_t once_value_6
; /* Once value */
14114 static val_t once_value_7
; /* Once value */
14115 static val_t once_value_8
; /* Once value */
14116 static val_t once_value_9
; /* Once value */
14117 static val_t once_value_10
; /* Once value */
14118 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
14119 fra
.me
.file
= LOCATE_compiling_icode
;
14121 fra
.me
.meth
= LOCATE_compiling_icode___IAbort___compile_to_c
;
14122 fra
.me
.has_broke
= 0;
14123 fra
.me
.REG_size
= 3;
14124 fra
.me
.REG
[0] = NIT_NULL
;
14125 fra
.me
.REG
[1] = NIT_NULL
;
14126 fra
.me
.REG
[2] = NIT_NULL
;
14127 fra
.me
.REG
[0] = p0
;
14128 fra
.me
.REG
[1] = p1
;
14129 /* ./compiling//compiling_icode.nit:934 */
14130 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14131 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14132 /* ./compiling//compiling_icode.nit:935 */
14133 fra
.me
.REG
[1] = CALL_compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
14134 /* ./compiling//compiling_icode.nit:936 */
14135 if (!once_value_1
) {
14136 fra
.me
.REG
[2] = BOX_NativeString("nit_abort(\"");
14137 REGB0
= TAG_Int(11);
14138 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
14139 once_value_1
= fra
.me
.REG
[2];
14140 register_static_object(&once_value_1
);
14141 } else fra
.me
.REG
[2] = once_value_1
;
14142 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14143 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14144 /* ./compiling//compiling_icode.nit:937 */
14145 fra
.me
.REG
[2] = CALL_icode_base___IAbort___texts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14146 REGB0
= TAG_Int(0);
14147 /* ./../lib/standard//collection//array.nit:245 */
14148 REGB1
= TAG_Int(0);
14149 /* ./../lib/standard//kernel.nit:213 */
14150 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
14151 /* ./../lib/standard//collection//array.nit:245 */
14152 if (UNTAG_Bool(REGB1
)) {
14153 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14154 if (UNTAG_Bool(REGB1
)) {
14156 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
14158 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14159 /* ./../lib/standard//kernel.nit:212 */
14160 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
14162 /* ./../lib/standard//collection//array.nit:245 */
14163 REGB2
= TAG_Bool(false);
14166 if (UNTAG_Bool(REGB1
)) {
14168 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
14170 /* ./../lib/standard//collection//array.nit:246 */
14171 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
14172 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14173 if (UNTAG_Bool(REGB1
)) {
14174 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
14176 /* ./../lib/standard//collection//array.nit:654 */
14177 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
14178 /* ./../lib/standard//collection//array.nit:246 */
14181 /* ./compiling//compiling_icode.nit:937 */
14182 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14183 /* ./compiling//compiling_icode.nit:938 */
14184 fra
.me
.REG
[2] = CALL_icode_base___IAbort___texts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14185 /* ./../lib/standard//collection//array.nit:23 */
14186 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14187 if (UNTAG_Bool(REGB0
)) {
14189 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
14191 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14192 /* ./compiling//compiling_icode.nit:938 */
14193 REGB1
= TAG_Int(1);
14194 /* ./../lib/standard//kernel.nit:214 */
14195 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
14196 /* ./compiling//compiling_icode.nit:938 */
14197 if (UNTAG_Bool(REGB1
)) {
14198 /* ./compiling//compiling_icode.nit:939 */
14199 if (!once_value_3
) {
14200 fra
.me
.REG
[2] = BOX_NativeString("\", \"");
14201 REGB1
= TAG_Int(4);
14202 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
14203 once_value_3
= fra
.me
.REG
[2];
14204 register_static_object(&once_value_3
);
14205 } else fra
.me
.REG
[2] = once_value_3
;
14206 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14207 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14208 /* ./compiling//compiling_icode.nit:940 */
14209 fra
.me
.REG
[2] = CALL_icode_base___IAbort___texts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14210 REGB1
= TAG_Int(1);
14211 /* ./../lib/standard//collection//array.nit:245 */
14212 REGB0
= TAG_Int(0);
14213 /* ./../lib/standard//kernel.nit:213 */
14214 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
14215 /* ./../lib/standard//collection//array.nit:245 */
14216 if (UNTAG_Bool(REGB0
)) {
14217 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14218 if (UNTAG_Bool(REGB0
)) {
14220 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
14222 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14223 /* ./../lib/standard//kernel.nit:212 */
14224 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
14226 /* ./../lib/standard//collection//array.nit:245 */
14227 REGB2
= TAG_Bool(false);
14230 if (UNTAG_Bool(REGB0
)) {
14232 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
14234 /* ./../lib/standard//collection//array.nit:246 */
14235 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
14236 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14237 if (UNTAG_Bool(REGB0
)) {
14238 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
14240 /* ./../lib/standard//collection//array.nit:654 */
14241 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14242 /* ./../lib/standard//collection//array.nit:246 */
14245 /* ./compiling//compiling_icode.nit:940 */
14246 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14247 /* ./compiling//compiling_icode.nit:941 */
14248 if (!once_value_5
) {
14249 fra
.me
.REG
[2] = BOX_NativeString("\"");
14250 REGB1
= TAG_Int(1);
14251 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
14252 once_value_5
= fra
.me
.REG
[2];
14253 register_static_object(&once_value_5
);
14254 } else fra
.me
.REG
[2] = once_value_5
;
14255 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14256 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14258 /* ./compiling//compiling_icode.nit:943 */
14259 if (!once_value_6
) {
14260 fra
.me
.REG
[2] = BOX_NativeString("\", NULL");
14261 REGB1
= TAG_Int(7);
14262 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
14263 once_value_6
= fra
.me
.REG
[2];
14264 register_static_object(&once_value_6
);
14265 } else fra
.me
.REG
[2] = once_value_6
;
14266 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14267 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14269 /* ./compiling//compiling_icode.nit:945 */
14270 if (!once_value_7
) {
14271 fra
.me
.REG
[2] = BOX_NativeString(", LOCATE_");
14272 REGB1
= TAG_Int(9);
14273 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
14274 once_value_7
= fra
.me
.REG
[2];
14275 register_static_object(&once_value_7
);
14276 } else fra
.me
.REG
[2] = once_value_7
;
14277 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14278 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14279 /* ./compiling//compiling_icode.nit:946 */
14280 fra
.me
.REG
[2] = CALL_icode_base___IAbort___module_location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14281 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
14282 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
14283 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14284 /* ./compiling//compiling_icode.nit:947 */
14285 fra
.me
.REG
[0] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14286 /* ./compiling//compiling_icode.nit:948 */
14287 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
14288 if (UNTAG_Bool(REGB1
)) {
14290 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
14291 if (UNTAG_Bool(REGB0
)) {
14292 REGB0
= TAG_Bool(false);
14295 REGB0
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
14299 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
14300 if (UNTAG_Bool(REGB1
)) {
14301 /* ./compiling//compiling_icode.nit:949 */
14302 if (!once_value_8
) {
14303 fra
.me
.REG
[2] = BOX_NativeString(", ");
14304 REGB1
= TAG_Int(2);
14305 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
14306 once_value_8
= fra
.me
.REG
[2];
14307 register_static_object(&once_value_8
);
14308 } else fra
.me
.REG
[2] = once_value_8
;
14309 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14310 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14311 /* ./compiling//compiling_icode.nit:950 */
14312 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
14313 if (UNTAG_Bool(REGB1
)) {
14314 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 950);
14316 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14317 fra
.me
.REG
[0] = CALL_string___Object___to_s(REGB1
)(REGB1
);
14318 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
14320 /* ./compiling//compiling_icode.nit:952 */
14321 if (!once_value_9
) {
14322 fra
.me
.REG
[0] = BOX_NativeString(", 0");
14323 REGB1
= TAG_Int(3);
14324 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB1
);
14325 once_value_9
= fra
.me
.REG
[0];
14326 register_static_object(&once_value_9
);
14327 } else fra
.me
.REG
[0] = once_value_9
;
14328 fra
.me
.REG
[0] = fra
.me
.REG
[0];
14329 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
14331 /* ./compiling//compiling_icode.nit:954 */
14332 if (!once_value_10
) {
14333 fra
.me
.REG
[0] = BOX_NativeString(");\n");
14334 REGB1
= TAG_Int(3);
14335 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB1
);
14336 once_value_10
= fra
.me
.REG
[0];
14337 register_static_object(&once_value_10
);
14338 } else fra
.me
.REG
[0] = once_value_10
;
14339 fra
.me
.REG
[0] = fra
.me
.REG
[0];
14340 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
14341 stack_frame_head
= fra
.me
.prev
;
14344 void compiling_icode___IMove___compile_to_c(val_t p0
, val_t p1
){
14345 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
14349 static val_t once_value_2
; /* Once value */
14350 static val_t once_value_3
; /* Once value */
14351 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
14352 fra
.me
.file
= LOCATE_compiling_icode
;
14354 fra
.me
.meth
= LOCATE_compiling_icode___IMove___compile_to_c
;
14355 fra
.me
.has_broke
= 0;
14356 fra
.me
.REG_size
= 4;
14357 fra
.me
.REG
[0] = NIT_NULL
;
14358 fra
.me
.REG
[1] = NIT_NULL
;
14359 fra
.me
.REG
[2] = NIT_NULL
;
14360 fra
.me
.REG
[3] = NIT_NULL
;
14361 fra
.me
.REG
[0] = p0
;
14362 fra
.me
.REG
[1] = p1
;
14363 /* ./compiling//compiling_icode.nit:961 */
14364 REGB0
= CALL_compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14365 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
14366 if (UNTAG_Bool(REGB0
)) {
14369 /* ./compiling//compiling_icode.nit:962 */
14370 fra
.me
.REG
[2] = CALL_icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14371 fra
.me
.REG
[2] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14372 /* ./compiling//compiling_icode.nit:963 */
14373 fra
.me
.REG
[3] = CALL_icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14374 REGB0
= TAG_Bool((fra
.me
.REG
[3]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[3], COLOR_IRegister
, ID_IRegister
)) /*cast IRegister*/;
14375 if (UNTAG_Bool(REGB0
)) {
14377 nit_abort("Cast failed", NULL
, LOCATE_compiling_icode
, 963);
14379 fra
.me
.REG
[3] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
14380 /* ./compiling//compiling_icode.nit:964 */
14381 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[3]));
14382 if (UNTAG_Bool(REGB0
)) {
14384 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
14387 if (UNTAG_Bool(REGB0
)) {
14390 /* ./compiling//compiling_icode.nit:965 */
14391 fra
.me
.REG
[0] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14392 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
14393 /* ./compiling//compiling_icode.nit:966 */
14394 fra
.me
.REG
[1] = CALL_compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
14395 /* ./compiling//compiling_icode.nit:967 */
14396 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
14397 /* ./compiling//compiling_icode.nit:968 */
14398 if (!once_value_2
) {
14399 fra
.me
.REG
[3] = BOX_NativeString(" = ");
14400 REGB0
= TAG_Int(3);
14401 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
14402 once_value_2
= fra
.me
.REG
[3];
14403 register_static_object(&once_value_2
);
14404 } else fra
.me
.REG
[3] = once_value_2
;
14405 fra
.me
.REG
[3] = fra
.me
.REG
[3];
14406 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
14407 /* ./compiling//compiling_icode.nit:969 */
14408 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14409 /* ./compiling//compiling_icode.nit:970 */
14410 if (!once_value_3
) {
14411 fra
.me
.REG
[2] = BOX_NativeString(";\n");
14412 REGB0
= TAG_Int(2);
14413 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
14414 once_value_3
= fra
.me
.REG
[2];
14415 register_static_object(&once_value_3
);
14416 } else fra
.me
.REG
[2] = once_value_3
;
14417 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14418 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14420 stack_frame_head
= fra
.me
.prev
;
14423 void compiling_icode___IAttrRead___compile_to_c(val_t p0
, val_t p1
){
14424 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
14427 static val_t once_value_2
; /* Once value */
14428 static val_t once_value_3
; /* Once value */
14429 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
14430 fra
.me
.file
= LOCATE_compiling_icode
;
14432 fra
.me
.meth
= LOCATE_compiling_icode___IAttrRead___compile_to_c
;
14433 fra
.me
.has_broke
= 0;
14434 fra
.me
.REG_size
= 4;
14435 fra
.me
.REG
[0] = NIT_NULL
;
14436 fra
.me
.REG
[1] = NIT_NULL
;
14437 fra
.me
.REG
[2] = NIT_NULL
;
14438 fra
.me
.REG
[3] = NIT_NULL
;
14439 fra
.me
.REG
[0] = p0
;
14440 fra
.me
.REG
[1] = p1
;
14441 /* ./compiling//compiling_icode.nit:977 */
14442 REGB0
= CALL_compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14443 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
14444 if (UNTAG_Bool(REGB0
)) {
14447 /* ./compiling//compiling_icode.nit:978 */
14448 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14449 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14450 /* ./compiling//compiling_icode.nit:979 */
14451 fra
.me
.REG
[2] = CALL_compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
14452 /* ./compiling//compiling_icode.nit:980 */
14453 fra
.me
.REG
[3] = CALL_icode_base___IAttrRead___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14454 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
14455 fra
.me
.REG
[3] = CALL_compiling_base___MMGlobalProperty___attr_access(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
14456 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
14457 /* ./compiling//compiling_icode.nit:981 */
14458 if (!once_value_2
) {
14459 fra
.me
.REG
[3] = BOX_NativeString("(");
14460 REGB0
= TAG_Int(1);
14461 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
14462 once_value_2
= fra
.me
.REG
[3];
14463 register_static_object(&once_value_2
);
14464 } else fra
.me
.REG
[3] = once_value_2
;
14465 fra
.me
.REG
[3] = fra
.me
.REG
[3];
14466 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
14467 /* ./compiling//compiling_icode.nit:982 */
14468 fra
.me
.REG
[0] = CALL_icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14469 fra
.me
.REG
[0] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
14470 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
14471 /* ./compiling//compiling_icode.nit:983 */
14472 if (!once_value_3
) {
14473 fra
.me
.REG
[0] = BOX_NativeString(")");
14474 REGB0
= TAG_Int(1);
14475 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
14476 once_value_3
= fra
.me
.REG
[0];
14477 register_static_object(&once_value_3
);
14478 } else fra
.me
.REG
[0] = once_value_3
;
14479 fra
.me
.REG
[0] = fra
.me
.REG
[0];
14480 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
14482 stack_frame_head
= fra
.me
.prev
;
14485 void compiling_icode___IAttrIsset___compile_to_c(val_t p0
, val_t p1
){
14486 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
14489 static val_t once_value_2
; /* Once value */
14490 static val_t once_value_3
; /* Once value */
14491 static val_t once_value_4
; /* Once value */
14492 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
14493 fra
.me
.file
= LOCATE_compiling_icode
;
14495 fra
.me
.meth
= LOCATE_compiling_icode___IAttrIsset___compile_to_c
;
14496 fra
.me
.has_broke
= 0;
14497 fra
.me
.REG_size
= 4;
14498 fra
.me
.REG
[0] = NIT_NULL
;
14499 fra
.me
.REG
[1] = NIT_NULL
;
14500 fra
.me
.REG
[2] = NIT_NULL
;
14501 fra
.me
.REG
[3] = NIT_NULL
;
14502 fra
.me
.REG
[0] = p0
;
14503 fra
.me
.REG
[1] = p1
;
14504 /* ./compiling//compiling_icode.nit:990 */
14505 REGB0
= CALL_compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14506 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
14507 if (UNTAG_Bool(REGB0
)) {
14510 /* ./compiling//compiling_icode.nit:991 */
14511 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14512 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14513 /* ./compiling//compiling_icode.nit:992 */
14514 fra
.me
.REG
[2] = CALL_compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
14515 /* ./compiling//compiling_icode.nit:993 */
14516 if (!once_value_2
) {
14517 fra
.me
.REG
[3] = BOX_NativeString("TAG_Bool(");
14518 REGB0
= TAG_Int(9);
14519 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
14520 once_value_2
= fra
.me
.REG
[3];
14521 register_static_object(&once_value_2
);
14522 } else fra
.me
.REG
[3] = once_value_2
;
14523 fra
.me
.REG
[3] = fra
.me
.REG
[3];
14524 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
14525 /* ./compiling//compiling_icode.nit:994 */
14526 fra
.me
.REG
[3] = CALL_icode_base___IAttrIsset___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14527 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
14528 fra
.me
.REG
[3] = CALL_compiling_base___MMGlobalProperty___attr_access(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
14529 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
14530 /* ./compiling//compiling_icode.nit:995 */
14531 if (!once_value_3
) {
14532 fra
.me
.REG
[3] = BOX_NativeString("(");
14533 REGB0
= TAG_Int(1);
14534 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
14535 once_value_3
= fra
.me
.REG
[3];
14536 register_static_object(&once_value_3
);
14537 } else fra
.me
.REG
[3] = once_value_3
;
14538 fra
.me
.REG
[3] = fra
.me
.REG
[3];
14539 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
14540 /* ./compiling//compiling_icode.nit:996 */
14541 fra
.me
.REG
[0] = CALL_icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14542 fra
.me
.REG
[0] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
14543 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
14544 /* ./compiling//compiling_icode.nit:997 */
14545 if (!once_value_4
) {
14546 fra
.me
.REG
[0] = BOX_NativeString(")!=NIT_NULL)");
14547 REGB0
= TAG_Int(12);
14548 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
14549 once_value_4
= fra
.me
.REG
[0];
14550 register_static_object(&once_value_4
);
14551 } else fra
.me
.REG
[0] = once_value_4
;
14552 fra
.me
.REG
[0] = fra
.me
.REG
[0];
14553 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
14555 stack_frame_head
= fra
.me
.prev
;
14558 void compiling_icode___IAttrWrite___compile_to_c(val_t p0
, val_t p1
){
14559 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
14562 static val_t once_value_1
; /* Once value */
14563 static val_t once_value_2
; /* Once value */
14564 static val_t once_value_3
; /* Once value */
14565 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
14566 fra
.me
.file
= LOCATE_compiling_icode
;
14567 fra
.me
.line
= 1002;
14568 fra
.me
.meth
= LOCATE_compiling_icode___IAttrWrite___compile_to_c
;
14569 fra
.me
.has_broke
= 0;
14570 fra
.me
.REG_size
= 4;
14571 fra
.me
.REG
[0] = NIT_NULL
;
14572 fra
.me
.REG
[1] = NIT_NULL
;
14573 fra
.me
.REG
[2] = NIT_NULL
;
14574 fra
.me
.REG
[3] = NIT_NULL
;
14575 fra
.me
.REG
[0] = p0
;
14576 fra
.me
.REG
[1] = p1
;
14577 /* ./compiling//compiling_icode.nit:1004 */
14578 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14579 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14580 /* ./compiling//compiling_icode.nit:1005 */
14581 fra
.me
.REG
[2] = CALL_compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
14582 /* ./compiling//compiling_icode.nit:1006 */
14583 fra
.me
.REG
[3] = CALL_icode_base___IAttrWrite___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14584 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
14585 fra
.me
.REG
[3] = CALL_compiling_base___MMGlobalProperty___attr_access(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
14586 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
14587 /* ./compiling//compiling_icode.nit:1007 */
14588 if (!once_value_1
) {
14589 fra
.me
.REG
[3] = BOX_NativeString("(");
14590 REGB0
= TAG_Int(1);
14591 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
14592 once_value_1
= fra
.me
.REG
[3];
14593 register_static_object(&once_value_1
);
14594 } else fra
.me
.REG
[3] = once_value_1
;
14595 fra
.me
.REG
[3] = fra
.me
.REG
[3];
14596 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
14597 /* ./compiling//compiling_icode.nit:1008 */
14598 fra
.me
.REG
[3] = CALL_icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14599 fra
.me
.REG
[3] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
14600 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
14601 /* ./compiling//compiling_icode.nit:1009 */
14602 if (!once_value_2
) {
14603 fra
.me
.REG
[3] = BOX_NativeString(") = ");
14604 REGB0
= TAG_Int(4);
14605 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
14606 once_value_2
= fra
.me
.REG
[3];
14607 register_static_object(&once_value_2
);
14608 } else fra
.me
.REG
[3] = once_value_2
;
14609 fra
.me
.REG
[3] = fra
.me
.REG
[3];
14610 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
14611 /* ./compiling//compiling_icode.nit:1010 */
14612 fra
.me
.REG
[0] = CALL_icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14613 fra
.me
.REG
[0] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
14614 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
14615 /* ./compiling//compiling_icode.nit:1011 */
14616 if (!once_value_3
) {
14617 fra
.me
.REG
[0] = BOX_NativeString(";\n");
14618 REGB0
= TAG_Int(2);
14619 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
14620 once_value_3
= fra
.me
.REG
[0];
14621 register_static_object(&once_value_3
);
14622 } else fra
.me
.REG
[0] = once_value_3
;
14623 fra
.me
.REG
[0] = fra
.me
.REG
[0];
14624 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
14625 stack_frame_head
= fra
.me
.prev
;
14628 void compiling_icode___ITypeCheck___compile_to_c(val_t p0
, val_t p1
){
14629 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
14633 static val_t once_value_2
; /* Once value */
14634 static val_t once_value_3
; /* Once value */
14635 static val_t once_value_4
; /* Once value */
14636 static val_t once_value_5
; /* Once value */
14637 static val_t once_value_6
; /* Once value */
14638 static val_t once_value_7
; /* Once value */
14639 static val_t once_value_8
; /* Once value */
14640 static val_t once_value_9
; /* Once value */
14641 static val_t once_value_10
; /* Once value */
14642 static val_t once_value_11
; /* Once value */
14643 static val_t once_value_12
; /* Once value */
14644 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
14645 fra
.me
.file
= LOCATE_compiling_icode
;
14646 fra
.me
.line
= 1016;
14647 fra
.me
.meth
= LOCATE_compiling_icode___ITypeCheck___compile_to_c
;
14648 fra
.me
.has_broke
= 0;
14649 fra
.me
.REG_size
= 6;
14650 fra
.me
.REG
[0] = NIT_NULL
;
14651 fra
.me
.REG
[1] = NIT_NULL
;
14652 fra
.me
.REG
[2] = NIT_NULL
;
14653 fra
.me
.REG
[3] = NIT_NULL
;
14654 fra
.me
.REG
[4] = NIT_NULL
;
14655 fra
.me
.REG
[5] = NIT_NULL
;
14656 fra
.me
.REG
[0] = p0
;
14657 fra
.me
.REG
[1] = p1
;
14658 /* ./compiling//compiling_icode.nit:1018 */
14659 REGB0
= CALL_compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14660 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
14661 if (UNTAG_Bool(REGB0
)) {
14664 /* ./compiling//compiling_icode.nit:1020 */
14665 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14666 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14667 /* ./compiling//compiling_icode.nit:1021 */
14668 fra
.me
.REG
[2] = CALL_icode_base___ITypeCheck___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14669 fra
.me
.REG
[2] = CALL_static_type___MMType___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
14670 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
14671 /* ./compiling//compiling_icode.nit:1022 */
14672 fra
.me
.REG
[3] = CALL_icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14673 fra
.me
.REG
[3] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
14674 /* ./compiling//compiling_icode.nit:1023 */
14675 fra
.me
.REG
[1] = CALL_compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
14676 /* ./compiling//compiling_icode.nit:1024 */
14677 if (!once_value_2
) {
14678 fra
.me
.REG
[4] = BOX_NativeString("TAG_Bool(");
14679 REGB0
= TAG_Int(9);
14680 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
14681 once_value_2
= fra
.me
.REG
[4];
14682 register_static_object(&once_value_2
);
14683 } else fra
.me
.REG
[4] = once_value_2
;
14684 fra
.me
.REG
[4] = fra
.me
.REG
[4];
14685 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
14686 /* ./compiling//compiling_icode.nit:1025 */
14687 fra
.me
.REG
[4] = CALL_icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14688 fra
.me
.REG
[4] = CALL_icode_base___IRegister___stype(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
14689 REGB0
= CALL_static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
14690 if (UNTAG_Bool(REGB0
)) {
14691 /* ./compiling//compiling_icode.nit:1026 */
14692 fra
.me
.REG
[4] = CALL_icode_base___ITypeCheck___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14693 REGB0
= CALL_static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
14694 if (UNTAG_Bool(REGB0
)) {
14695 /* ./compiling//compiling_icode.nit:1027 */
14696 if (!once_value_3
) {
14697 fra
.me
.REG
[4] = BOX_NativeString("(");
14698 REGB0
= TAG_Int(1);
14699 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
14700 once_value_3
= fra
.me
.REG
[4];
14701 register_static_object(&once_value_3
);
14702 } else fra
.me
.REG
[4] = once_value_3
;
14703 fra
.me
.REG
[4] = fra
.me
.REG
[4];
14704 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
14705 /* ./compiling//compiling_icode.nit:1028 */
14706 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
14707 /* ./compiling//compiling_icode.nit:1029 */
14708 if (!once_value_4
) {
14709 fra
.me
.REG
[4] = BOX_NativeString("==NIT_NULL) || ");
14710 REGB0
= TAG_Int(15);
14711 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
14712 once_value_4
= fra
.me
.REG
[4];
14713 register_static_object(&once_value_4
);
14714 } else fra
.me
.REG
[4] = once_value_4
;
14715 fra
.me
.REG
[4] = fra
.me
.REG
[4];
14716 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
14718 /* ./compiling//compiling_icode.nit:1030 */
14719 fra
.me
.REG
[4] = CALL_icode_base___ITypeCheck___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14720 fra
.me
.REG
[4] = CALL_static_type___MMType___as_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
14721 fra
.me
.REG
[5] = CALL_icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14722 fra
.me
.REG
[5] = CALL_icode_base___IRegister___stype(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
14723 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[4],fra
.me
.REG
[5]));
14724 if (UNTAG_Bool(REGB0
)) {
14726 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
14729 if (UNTAG_Bool(REGB0
)) {
14730 /* ./compiling//compiling_icode.nit:1031 */
14731 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
14732 /* ./compiling//compiling_icode.nit:1032 */
14733 if (!once_value_5
) {
14734 fra
.me
.REG
[5] = BOX_NativeString("!=NIT_NULL)");
14735 REGB0
= TAG_Int(11);
14736 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
14737 once_value_5
= fra
.me
.REG
[5];
14738 register_static_object(&once_value_5
);
14739 } else fra
.me
.REG
[5] = once_value_5
;
14740 fra
.me
.REG
[5] = fra
.me
.REG
[5];
14741 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
14742 /* ./compiling//compiling_icode.nit:1033 */
14745 /* ./compiling//compiling_icode.nit:1035 */
14746 if (!once_value_6
) {
14747 fra
.me
.REG
[5] = BOX_NativeString("(");
14748 REGB0
= TAG_Int(1);
14749 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
14750 once_value_6
= fra
.me
.REG
[5];
14751 register_static_object(&once_value_6
);
14752 } else fra
.me
.REG
[5] = once_value_6
;
14753 fra
.me
.REG
[5] = fra
.me
.REG
[5];
14754 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
14755 /* ./compiling//compiling_icode.nit:1036 */
14756 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
14757 /* ./compiling//compiling_icode.nit:1037 */
14758 if (!once_value_7
) {
14759 fra
.me
.REG
[5] = BOX_NativeString("!=NIT_NULL) && ");
14760 REGB0
= TAG_Int(15);
14761 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
14762 once_value_7
= fra
.me
.REG
[5];
14763 register_static_object(&once_value_7
);
14764 } else fra
.me
.REG
[5] = once_value_7
;
14765 fra
.me
.REG
[5] = fra
.me
.REG
[5];
14766 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
14770 /* ./compiling//compiling_icode.nit:1040 */
14771 if (!once_value_8
) {
14772 fra
.me
.REG
[5] = BOX_NativeString("VAL_ISA(");
14773 REGB0
= TAG_Int(8);
14774 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
14775 once_value_8
= fra
.me
.REG
[5];
14776 register_static_object(&once_value_8
);
14777 } else fra
.me
.REG
[5] = once_value_8
;
14778 fra
.me
.REG
[5] = fra
.me
.REG
[5];
14779 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
14780 /* ./compiling//compiling_icode.nit:1041 */
14781 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
14782 /* ./compiling//compiling_icode.nit:1042 */
14783 if (!once_value_9
) {
14784 fra
.me
.REG
[3] = BOX_NativeString(", ");
14785 REGB0
= TAG_Int(2);
14786 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
14787 once_value_9
= fra
.me
.REG
[3];
14788 register_static_object(&once_value_9
);
14789 } else fra
.me
.REG
[3] = once_value_9
;
14790 fra
.me
.REG
[3] = fra
.me
.REG
[3];
14791 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
14792 /* ./compiling//compiling_icode.nit:1043 */
14793 fra
.me
.REG
[3] = CALL_compiling_base___MMGlobalClass___color_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
14794 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
14795 /* ./compiling//compiling_icode.nit:1044 */
14796 if (!once_value_10
) {
14797 fra
.me
.REG
[3] = BOX_NativeString(", ");
14798 REGB0
= TAG_Int(2);
14799 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
14800 once_value_10
= fra
.me
.REG
[3];
14801 register_static_object(&once_value_10
);
14802 } else fra
.me
.REG
[3] = once_value_10
;
14803 fra
.me
.REG
[3] = fra
.me
.REG
[3];
14804 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
14805 /* ./compiling//compiling_icode.nit:1045 */
14806 fra
.me
.REG
[2] = CALL_compiling_base___MMGlobalClass___id_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
14807 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14808 /* ./compiling//compiling_icode.nit:1046 */
14809 if (!once_value_11
) {
14810 fra
.me
.REG
[2] = BOX_NativeString(")) /*cast ");
14811 REGB0
= TAG_Int(10);
14812 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
14813 once_value_11
= fra
.me
.REG
[2];
14814 register_static_object(&once_value_11
);
14815 } else fra
.me
.REG
[2] = once_value_11
;
14816 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14817 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14818 /* ./compiling//compiling_icode.nit:1047 */
14819 fra
.me
.REG
[0] = CALL_icode_base___ITypeCheck___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14820 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14821 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
14822 /* ./compiling//compiling_icode.nit:1048 */
14823 if (!once_value_12
) {
14824 fra
.me
.REG
[0] = BOX_NativeString("*/");
14825 REGB0
= TAG_Int(2);
14826 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
14827 once_value_12
= fra
.me
.REG
[0];
14828 register_static_object(&once_value_12
);
14829 } else fra
.me
.REG
[0] = once_value_12
;
14830 fra
.me
.REG
[0] = fra
.me
.REG
[0];
14831 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
14833 stack_frame_head
= fra
.me
.prev
;
14836 void compiling_icode___IIs___compile_to_c(val_t p0
, val_t p1
){
14837 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
14840 static val_t once_value_2
; /* Once value */
14841 static val_t once_value_3
; /* Once value */
14842 static val_t once_value_4
; /* Once value */
14843 static val_t once_value_5
; /* Once value */
14844 static val_t once_value_6
; /* Once value */
14845 static val_t once_value_7
; /* Once value */
14846 static val_t once_value_8
; /* Once value */
14847 static val_t once_value_9
; /* Once value */
14848 static val_t once_value_10
; /* Once value */
14849 static val_t once_value_11
; /* Once value */
14850 static val_t once_value_12
; /* Once value */
14851 static val_t once_value_13
; /* Once value */
14852 static val_t once_value_14
; /* Once value */
14853 static val_t once_value_15
; /* Once value */
14854 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
14855 fra
.me
.file
= LOCATE_compiling_icode
;
14856 fra
.me
.line
= 1053;
14857 fra
.me
.meth
= LOCATE_compiling_icode___IIs___compile_to_c
;
14858 fra
.me
.has_broke
= 0;
14859 fra
.me
.REG_size
= 6;
14860 fra
.me
.REG
[0] = NIT_NULL
;
14861 fra
.me
.REG
[1] = NIT_NULL
;
14862 fra
.me
.REG
[2] = NIT_NULL
;
14863 fra
.me
.REG
[3] = NIT_NULL
;
14864 fra
.me
.REG
[4] = NIT_NULL
;
14865 fra
.me
.REG
[5] = NIT_NULL
;
14866 fra
.me
.REG
[0] = p0
;
14867 fra
.me
.REG
[1] = p1
;
14868 /* ./compiling//compiling_icode.nit:1055 */
14869 REGB0
= CALL_compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14870 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
14871 if (UNTAG_Bool(REGB0
)) {
14874 /* ./compiling//compiling_icode.nit:1056 */
14875 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14876 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
14877 /* ./compiling//compiling_icode.nit:1057 */
14878 fra
.me
.REG
[2] = CALL_compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
14879 /* ./compiling//compiling_icode.nit:1058 */
14880 if (!once_value_2
) {
14881 fra
.me
.REG
[3] = BOX_NativeString("TAG_Bool(");
14882 REGB0
= TAG_Int(9);
14883 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
14884 once_value_2
= fra
.me
.REG
[3];
14885 register_static_object(&once_value_2
);
14886 } else fra
.me
.REG
[3] = once_value_2
;
14887 fra
.me
.REG
[3] = fra
.me
.REG
[3];
14888 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
14889 /* ./compiling//compiling_icode.nit:1059 */
14890 fra
.me
.REG
[3] = CALL_icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14891 fra
.me
.REG
[3] = CALL_icode_base___IRegister___stype(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
14892 /* ./compiling//compiling_icode.nit:1060 */
14893 fra
.me
.REG
[4] = CALL_icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14894 fra
.me
.REG
[4] = CALL_icode_base___IRegister___stype(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
14895 /* ./compiling//compiling_icode.nit:1061 */
14896 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[3], COLOR_MMTypeNone
, ID_MMTypeNone
)) /*cast MMTypeNone*/;
14897 if (UNTAG_Bool(REGB0
)) {
14898 /* ./compiling//compiling_icode.nit:1062 */
14899 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_MMTypeNone
, ID_MMTypeNone
)) /*cast MMTypeNone*/;
14900 if (UNTAG_Bool(REGB0
)) {
14901 /* ./compiling//compiling_icode.nit:1063 */
14902 if (!once_value_3
) {
14903 fra
.me
.REG
[5] = BOX_NativeString("1)");
14904 REGB0
= TAG_Int(2);
14905 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
14906 once_value_3
= fra
.me
.REG
[5];
14907 register_static_object(&once_value_3
);
14908 } else fra
.me
.REG
[5] = once_value_3
;
14909 fra
.me
.REG
[5] = fra
.me
.REG
[5];
14910 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
14911 /* ./compiling//compiling_icode.nit:1064 */
14914 /* ./compiling//compiling_icode.nit:1065 */
14915 REGB0
= CALL_static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
14916 if (UNTAG_Bool(REGB0
)) {
14917 /* ./compiling//compiling_icode.nit:1066 */
14918 fra
.me
.REG
[5] = CALL_icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14919 fra
.me
.REG
[5] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
14920 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
14921 /* ./compiling//compiling_icode.nit:1067 */
14922 if (!once_value_4
) {
14923 fra
.me
.REG
[5] = BOX_NativeString("==NIT_NULL)");
14924 REGB0
= TAG_Int(11);
14925 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
14926 once_value_4
= fra
.me
.REG
[5];
14927 register_static_object(&once_value_4
);
14928 } else fra
.me
.REG
[5] = once_value_4
;
14929 fra
.me
.REG
[5] = fra
.me
.REG
[5];
14930 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
14931 /* ./compiling//compiling_icode.nit:1068 */
14934 /* ./compiling//compiling_icode.nit:1070 */
14935 if (!once_value_5
) {
14936 fra
.me
.REG
[5] = BOX_NativeString("0)");
14937 REGB0
= TAG_Int(2);
14938 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
14939 once_value_5
= fra
.me
.REG
[5];
14940 register_static_object(&once_value_5
);
14941 } else fra
.me
.REG
[5] = once_value_5
;
14942 fra
.me
.REG
[5] = fra
.me
.REG
[5];
14943 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
14944 /* ./compiling//compiling_icode.nit:1071 */
14949 /* ./compiling//compiling_icode.nit:1073 */
14950 REGB0
= CALL_static_type___MMType___is_nullable(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
14951 if (UNTAG_Bool(REGB0
)) {
14952 /* ./compiling//compiling_icode.nit:1074 */
14953 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_MMTypeNone
, ID_MMTypeNone
)) /*cast MMTypeNone*/;
14954 if (UNTAG_Bool(REGB0
)) {
14955 /* ./compiling//compiling_icode.nit:1075 */
14956 fra
.me
.REG
[3] = CALL_icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14957 fra
.me
.REG
[3] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
14958 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
14959 /* ./compiling//compiling_icode.nit:1076 */
14960 if (!once_value_6
) {
14961 fra
.me
.REG
[3] = BOX_NativeString("==NIT_NULL)");
14962 REGB0
= TAG_Int(11);
14963 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
14964 once_value_6
= fra
.me
.REG
[3];
14965 register_static_object(&once_value_6
);
14966 } else fra
.me
.REG
[3] = once_value_6
;
14967 fra
.me
.REG
[3] = fra
.me
.REG
[3];
14968 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
14969 /* ./compiling//compiling_icode.nit:1077 */
14972 /* ./compiling//compiling_icode.nit:1078 */
14973 REGB0
= CALL_static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
14974 if (UNTAG_Bool(REGB0
)) {
14975 /* ./compiling//compiling_icode.nit:1079 */
14976 if (!once_value_7
) {
14977 fra
.me
.REG
[3] = BOX_NativeString("IS_EQUAL_NN(");
14978 REGB0
= TAG_Int(12);
14979 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
14980 once_value_7
= fra
.me
.REG
[3];
14981 register_static_object(&once_value_7
);
14982 } else fra
.me
.REG
[3] = once_value_7
;
14983 fra
.me
.REG
[3] = fra
.me
.REG
[3];
14984 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
14986 /* ./compiling//compiling_icode.nit:1081 */
14987 if (!once_value_8
) {
14988 fra
.me
.REG
[3] = BOX_NativeString("IS_EQUAL_ON(");
14989 REGB0
= TAG_Int(12);
14990 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
14991 once_value_8
= fra
.me
.REG
[3];
14992 register_static_object(&once_value_8
);
14993 } else fra
.me
.REG
[3] = once_value_8
;
14994 fra
.me
.REG
[3] = fra
.me
.REG
[3];
14995 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
14996 /* ./compiling//compiling_icode.nit:1082 */
14997 fra
.me
.REG
[3] = CALL_icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
14998 fra
.me
.REG
[3] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
14999 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
15000 /* ./compiling//compiling_icode.nit:1083 */
15001 if (!once_value_9
) {
15002 fra
.me
.REG
[3] = BOX_NativeString(",");
15003 REGB0
= TAG_Int(1);
15004 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
15005 once_value_9
= fra
.me
.REG
[3];
15006 register_static_object(&once_value_9
);
15007 } else fra
.me
.REG
[3] = once_value_9
;
15008 fra
.me
.REG
[3] = fra
.me
.REG
[3];
15009 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
15010 /* ./compiling//compiling_icode.nit:1084 */
15011 fra
.me
.REG
[3] = CALL_icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15012 fra
.me
.REG
[3] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
15013 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
15014 /* ./compiling//compiling_icode.nit:1085 */
15015 if (!once_value_10
) {
15016 fra
.me
.REG
[3] = BOX_NativeString("))");
15017 REGB0
= TAG_Int(2);
15018 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
15019 once_value_10
= fra
.me
.REG
[3];
15020 register_static_object(&once_value_10
);
15021 } else fra
.me
.REG
[3] = once_value_10
;
15022 fra
.me
.REG
[3] = fra
.me
.REG
[3];
15023 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
15024 /* ./compiling//compiling_icode.nit:1086 */
15029 /* ./compiling//compiling_icode.nit:1089 */
15030 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_MMTypeNone
, ID_MMTypeNone
)) /*cast MMTypeNone*/;
15031 if (UNTAG_Bool(REGB0
)) {
15032 /* ./compiling//compiling_icode.nit:1090 */
15033 if (!once_value_11
) {
15034 fra
.me
.REG
[3] = BOX_NativeString("0)");
15035 REGB0
= TAG_Int(2);
15036 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
15037 once_value_11
= fra
.me
.REG
[3];
15038 register_static_object(&once_value_11
);
15039 } else fra
.me
.REG
[3] = once_value_11
;
15040 fra
.me
.REG
[3] = fra
.me
.REG
[3];
15041 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
15042 /* ./compiling//compiling_icode.nit:1091 */
15045 /* ./compiling//compiling_icode.nit:1092 */
15046 REGB0
= CALL_static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
15047 if (UNTAG_Bool(REGB0
)) {
15048 /* ./compiling//compiling_icode.nit:1093 */
15049 if (!once_value_12
) {
15050 fra
.me
.REG
[4] = BOX_NativeString("IS_EQUAL_ON(");
15051 REGB0
= TAG_Int(12);
15052 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
15053 once_value_12
= fra
.me
.REG
[4];
15054 register_static_object(&once_value_12
);
15055 } else fra
.me
.REG
[4] = once_value_12
;
15056 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15057 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
15059 /* ./compiling//compiling_icode.nit:1095 */
15060 if (!once_value_13
) {
15061 fra
.me
.REG
[4] = BOX_NativeString("IS_EQUAL_OO(");
15062 REGB0
= TAG_Int(12);
15063 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
15064 once_value_13
= fra
.me
.REG
[4];
15065 register_static_object(&once_value_13
);
15066 } else fra
.me
.REG
[4] = once_value_13
;
15067 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15068 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
15073 /* ./compiling//compiling_icode.nit:1098 */
15074 fra
.me
.REG
[4] = CALL_icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15075 fra
.me
.REG
[4] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
15076 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
15077 /* ./compiling//compiling_icode.nit:1099 */
15078 if (!once_value_14
) {
15079 fra
.me
.REG
[4] = BOX_NativeString(",");
15080 REGB0
= TAG_Int(1);
15081 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
15082 once_value_14
= fra
.me
.REG
[4];
15083 register_static_object(&once_value_14
);
15084 } else fra
.me
.REG
[4] = once_value_14
;
15085 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15086 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
15087 /* ./compiling//compiling_icode.nit:1100 */
15088 fra
.me
.REG
[0] = CALL_icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15089 fra
.me
.REG
[0] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15090 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15091 /* ./compiling//compiling_icode.nit:1101 */
15092 if (!once_value_15
) {
15093 fra
.me
.REG
[0] = BOX_NativeString("))");
15094 REGB0
= TAG_Int(2);
15095 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
15096 once_value_15
= fra
.me
.REG
[0];
15097 register_static_object(&once_value_15
);
15098 } else fra
.me
.REG
[0] = once_value_15
;
15099 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15100 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15102 stack_frame_head
= fra
.me
.prev
;
15105 void compiling_icode___INot___compile_to_c(val_t p0
, val_t p1
){
15106 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
15109 static val_t once_value_2
; /* Once value */
15110 static val_t once_value_3
; /* Once value */
15111 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15112 fra
.me
.file
= LOCATE_compiling_icode
;
15113 fra
.me
.line
= 1106;
15114 fra
.me
.meth
= LOCATE_compiling_icode___INot___compile_to_c
;
15115 fra
.me
.has_broke
= 0;
15116 fra
.me
.REG_size
= 4;
15117 fra
.me
.REG
[0] = NIT_NULL
;
15118 fra
.me
.REG
[1] = NIT_NULL
;
15119 fra
.me
.REG
[2] = NIT_NULL
;
15120 fra
.me
.REG
[3] = NIT_NULL
;
15121 fra
.me
.REG
[0] = p0
;
15122 fra
.me
.REG
[1] = p1
;
15123 /* ./compiling//compiling_icode.nit:1108 */
15124 REGB0
= CALL_compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15125 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
15126 if (UNTAG_Bool(REGB0
)) {
15129 /* ./compiling//compiling_icode.nit:1109 */
15130 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15131 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15132 /* ./compiling//compiling_icode.nit:1110 */
15133 fra
.me
.REG
[2] = CALL_compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15134 /* ./compiling//compiling_icode.nit:1111 */
15135 if (!once_value_2
) {
15136 fra
.me
.REG
[3] = BOX_NativeString("TAG_Bool(!UNTAG_Bool(");
15137 REGB0
= TAG_Int(21);
15138 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
15139 once_value_2
= fra
.me
.REG
[3];
15140 register_static_object(&once_value_2
);
15141 } else fra
.me
.REG
[3] = once_value_2
;
15142 fra
.me
.REG
[3] = fra
.me
.REG
[3];
15143 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
15144 /* ./compiling//compiling_icode.nit:1112 */
15145 fra
.me
.REG
[0] = CALL_icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15146 fra
.me
.REG
[0] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15147 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15148 /* ./compiling//compiling_icode.nit:1113 */
15149 if (!once_value_3
) {
15150 fra
.me
.REG
[0] = BOX_NativeString("))");
15151 REGB0
= TAG_Int(2);
15152 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
15153 once_value_3
= fra
.me
.REG
[0];
15154 register_static_object(&once_value_3
);
15155 } else fra
.me
.REG
[0] = once_value_3
;
15156 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15157 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15159 stack_frame_head
= fra
.me
.prev
;
15162 void compiling_icode___IOnce___compile_to_c(val_t p0
, val_t p1
){
15163 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
15167 static val_t once_value_1
; /* Once value */
15168 static val_t once_value_2
; /* Once value */
15169 static val_t once_value_3
; /* Once value */
15170 static val_t once_value_4
; /* Once value */
15171 static val_t once_value_5
; /* Once value */
15172 static val_t once_value_6
; /* Once value */
15173 static val_t once_value_7
; /* Once value */
15174 static val_t once_value_8
; /* Once value */
15175 static val_t once_value_9
; /* Once value */
15176 static val_t once_value_10
; /* Once value */
15177 static val_t once_value_11
; /* Once value */
15178 static val_t once_value_12
; /* Once value */
15179 static val_t once_value_13
; /* Once value */
15180 static val_t once_value_14
; /* Once value */
15181 static val_t once_value_15
; /* Once value */
15182 static val_t once_value_16
; /* Once value */
15183 static val_t once_value_17
; /* Once value */
15184 static val_t once_value_18
; /* Once value */
15185 static val_t once_value_19
; /* Once value */
15186 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15187 fra
.me
.file
= LOCATE_compiling_icode
;
15188 fra
.me
.line
= 1118;
15189 fra
.me
.meth
= LOCATE_compiling_icode___IOnce___compile_to_c
;
15190 fra
.me
.has_broke
= 0;
15191 fra
.me
.REG_size
= 6;
15192 fra
.me
.REG
[0] = NIT_NULL
;
15193 fra
.me
.REG
[1] = NIT_NULL
;
15194 fra
.me
.REG
[2] = NIT_NULL
;
15195 fra
.me
.REG
[3] = NIT_NULL
;
15196 fra
.me
.REG
[4] = NIT_NULL
;
15197 fra
.me
.REG
[5] = NIT_NULL
;
15198 fra
.me
.REG
[0] = p0
;
15199 fra
.me
.REG
[1] = p1
;
15200 /* ./compiling//compiling_icode.nit:1120 */
15201 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15202 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15203 /* ./compiling//compiling_icode.nit:1121 */
15204 REGB0
= CALL_compiling_icode___I2CCompilerVisitor___new_number(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15205 /* ./compiling//compiling_icode.nit:1122 */
15206 fra
.me
.REG
[2] = CALL_icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15207 REGB1
= TAG_Bool((fra
.me
.REG
[2]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[2], COLOR_IRegister
, ID_IRegister
)) /*cast IRegister*/;
15208 if (UNTAG_Bool(REGB1
)) {
15210 nit_abort("Cast failed", NULL
, LOCATE_compiling_icode
, 1122);
15212 /* ./compiling//compiling_icode.nit:1123 */
15213 fra
.me
.REG
[3] = CALL_icode_base___IRegister___stype(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
15214 REGB1
= CALL_static_type___MMType___is_nullable(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
15215 if (UNTAG_Bool(REGB1
)) {
15216 /* ./compiling//compiling_icode.nit:1124 */
15217 REGB1
= TAG_Int(5);
15218 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB1
);
15219 if (!once_value_1
) {
15220 fra
.me
.REG
[4] = BOX_NativeString("static val_t once_value_");
15221 REGB1
= TAG_Int(24);
15222 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
15223 once_value_1
= fra
.me
.REG
[4];
15224 register_static_object(&once_value_1
);
15225 } else fra
.me
.REG
[4] = once_value_1
;
15226 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15227 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
15228 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB0
)(REGB0
);
15229 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
15230 if (!once_value_2
) {
15231 fra
.me
.REG
[4] = BOX_NativeString("; static int once_bool_");
15232 REGB1
= TAG_Int(23);
15233 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
15234 once_value_2
= fra
.me
.REG
[4];
15235 register_static_object(&once_value_2
);
15236 } else fra
.me
.REG
[4] = once_value_2
;
15237 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15238 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
15239 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB0
)(REGB0
);
15240 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
15241 if (!once_value_3
) {
15242 fra
.me
.REG
[4] = BOX_NativeString("; /* Once value */");
15243 REGB1
= TAG_Int(18);
15244 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
15245 once_value_3
= fra
.me
.REG
[4];
15246 register_static_object(&once_value_3
);
15247 } else fra
.me
.REG
[4] = once_value_3
;
15248 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15249 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
15250 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
15251 CALL_compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
15252 /* ./compiling//compiling_icode.nit:1125 */
15253 REGB1
= TAG_Int(3);
15254 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB1
);
15255 if (!once_value_4
) {
15256 fra
.me
.REG
[4] = BOX_NativeString("if (!once_bool_");
15257 REGB1
= TAG_Int(15);
15258 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
15259 once_value_4
= fra
.me
.REG
[4];
15260 register_static_object(&once_value_4
);
15261 } else fra
.me
.REG
[4] = once_value_4
;
15262 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15263 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
15264 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB0
)(REGB0
);
15265 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
15266 if (!once_value_5
) {
15267 fra
.me
.REG
[4] = BOX_NativeString(") {");
15268 REGB1
= TAG_Int(3);
15269 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
15270 once_value_5
= fra
.me
.REG
[4];
15271 register_static_object(&once_value_5
);
15272 } else fra
.me
.REG
[4] = once_value_5
;
15273 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15274 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
15275 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
15276 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
15278 /* ./compiling//compiling_icode.nit:1128 */
15279 REGB1
= TAG_Int(3);
15280 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB1
);
15281 if (!once_value_6
) {
15282 fra
.me
.REG
[4] = BOX_NativeString("static val_t once_value_");
15283 REGB1
= TAG_Int(24);
15284 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
15285 once_value_6
= fra
.me
.REG
[4];
15286 register_static_object(&once_value_6
);
15287 } else fra
.me
.REG
[4] = once_value_6
;
15288 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15289 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
15290 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB0
)(REGB0
);
15291 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
15292 if (!once_value_7
) {
15293 fra
.me
.REG
[4] = BOX_NativeString("; /* Once value */");
15294 REGB1
= TAG_Int(18);
15295 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
15296 once_value_7
= fra
.me
.REG
[4];
15297 register_static_object(&once_value_7
);
15298 } else fra
.me
.REG
[4] = once_value_7
;
15299 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15300 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
15301 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
15302 CALL_compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
15303 /* ./compiling//compiling_icode.nit:1129 */
15304 REGB1
= TAG_Int(3);
15305 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB1
);
15306 if (!once_value_8
) {
15307 fra
.me
.REG
[4] = BOX_NativeString("if (!once_value_");
15308 REGB1
= TAG_Int(16);
15309 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
15310 once_value_8
= fra
.me
.REG
[4];
15311 register_static_object(&once_value_8
);
15312 } else fra
.me
.REG
[4] = once_value_8
;
15313 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15314 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
15315 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB0
)(REGB0
);
15316 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
15317 if (!once_value_9
) {
15318 fra
.me
.REG
[4] = BOX_NativeString(") {");
15319 REGB1
= TAG_Int(3);
15320 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
15321 once_value_9
= fra
.me
.REG
[4];
15322 register_static_object(&once_value_9
);
15323 } else fra
.me
.REG
[4] = once_value_9
;
15324 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15325 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
15326 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
15327 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
15329 /* ./compiling//compiling_icode.nit:1131 */
15330 CALL_compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15331 /* ./compiling//compiling_icode.nit:1132 */
15332 fra
.me
.REG
[3] = CALL_icode_base___IOnce___body(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15333 CALL_compiling_icode___ICode___compile_to_c(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
15334 /* ./compiling//compiling_icode.nit:1133 */
15335 fra
.me
.REG
[3] = CALL_compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15336 /* ./compiling//compiling_icode.nit:1134 */
15337 REGB1
= TAG_Int(5);
15338 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB1
);
15339 if (!once_value_10
) {
15340 fra
.me
.REG
[5] = BOX_NativeString("once_value_");
15341 REGB1
= TAG_Int(11);
15342 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB1
);
15343 once_value_10
= fra
.me
.REG
[5];
15344 register_static_object(&once_value_10
);
15345 } else fra
.me
.REG
[5] = once_value_10
;
15346 fra
.me
.REG
[5] = fra
.me
.REG
[5];
15347 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
15348 fra
.me
.REG
[5] = CALL_string___Object___to_s(REGB0
)(REGB0
);
15349 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
15350 if (!once_value_11
) {
15351 fra
.me
.REG
[5] = BOX_NativeString(" = ");
15352 REGB1
= TAG_Int(3);
15353 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB1
);
15354 once_value_11
= fra
.me
.REG
[5];
15355 register_static_object(&once_value_11
);
15356 } else fra
.me
.REG
[5] = once_value_11
;
15357 fra
.me
.REG
[5] = fra
.me
.REG
[5];
15358 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
15359 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
15360 if (!once_value_12
) {
15361 fra
.me
.REG
[5] = BOX_NativeString(";");
15362 REGB1
= TAG_Int(1);
15363 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB1
);
15364 once_value_12
= fra
.me
.REG
[5];
15365 register_static_object(&once_value_12
);
15366 } else fra
.me
.REG
[5] = once_value_12
;
15367 fra
.me
.REG
[5] = fra
.me
.REG
[5];
15368 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
15369 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
15370 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
15371 /* ./compiling//compiling_icode.nit:1135 */
15372 REGB1
= TAG_Int(3);
15373 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB1
);
15374 if (!once_value_13
) {
15375 fra
.me
.REG
[5] = BOX_NativeString("register_static_object(&once_value_");
15376 REGB1
= TAG_Int(35);
15377 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB1
);
15378 once_value_13
= fra
.me
.REG
[5];
15379 register_static_object(&once_value_13
);
15380 } else fra
.me
.REG
[5] = once_value_13
;
15381 fra
.me
.REG
[5] = fra
.me
.REG
[5];
15382 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
15383 fra
.me
.REG
[5] = CALL_string___Object___to_s(REGB0
)(REGB0
);
15384 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
15385 if (!once_value_14
) {
15386 fra
.me
.REG
[5] = BOX_NativeString(");");
15387 REGB1
= TAG_Int(2);
15388 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB1
);
15389 once_value_14
= fra
.me
.REG
[5];
15390 register_static_object(&once_value_14
);
15391 } else fra
.me
.REG
[5] = once_value_14
;
15392 fra
.me
.REG
[5] = fra
.me
.REG
[5];
15393 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
15394 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
15395 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
15396 /* ./compiling//compiling_icode.nit:1136 */
15397 fra
.me
.REG
[2] = CALL_icode_base___IRegister___stype(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
15398 REGB1
= CALL_static_type___MMType___is_nullable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
15399 if (UNTAG_Bool(REGB1
)) {
15400 REGB1
= TAG_Int(3);
15401 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB1
);
15402 if (!once_value_15
) {
15403 fra
.me
.REG
[4] = BOX_NativeString("once_bool_");
15404 REGB1
= TAG_Int(10);
15405 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
15406 once_value_15
= fra
.me
.REG
[4];
15407 register_static_object(&once_value_15
);
15408 } else fra
.me
.REG
[4] = once_value_15
;
15409 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15410 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
15411 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB0
)(REGB0
);
15412 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
15413 if (!once_value_16
) {
15414 fra
.me
.REG
[4] = BOX_NativeString(" = true;");
15415 REGB1
= TAG_Int(8);
15416 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
15417 once_value_16
= fra
.me
.REG
[4];
15418 register_static_object(&once_value_16
);
15419 } else fra
.me
.REG
[4] = once_value_16
;
15420 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15421 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
15422 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
15423 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15425 /* ./compiling//compiling_icode.nit:1137 */
15426 CALL_compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15427 /* ./compiling//compiling_icode.nit:1138 */
15428 REGB1
= TAG_Int(5);
15429 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB1
);
15430 if (!once_value_17
) {
15431 fra
.me
.REG
[4] = BOX_NativeString("} else ");
15432 REGB1
= TAG_Int(7);
15433 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
15434 once_value_17
= fra
.me
.REG
[4];
15435 register_static_object(&once_value_17
);
15436 } else fra
.me
.REG
[4] = once_value_17
;
15437 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15438 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
15439 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
15440 if (!once_value_18
) {
15441 fra
.me
.REG
[4] = BOX_NativeString(" = once_value_");
15442 REGB1
= TAG_Int(14);
15443 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
15444 once_value_18
= fra
.me
.REG
[4];
15445 register_static_object(&once_value_18
);
15446 } else fra
.me
.REG
[4] = once_value_18
;
15447 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15448 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
15449 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB0
)(REGB0
);
15450 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
15451 if (!once_value_19
) {
15452 fra
.me
.REG
[4] = BOX_NativeString(";");
15453 REGB0
= TAG_Int(1);
15454 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
15455 once_value_19
= fra
.me
.REG
[4];
15456 register_static_object(&once_value_19
);
15457 } else fra
.me
.REG
[4] = once_value_19
;
15458 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15459 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
15460 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
15461 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15462 /* ./compiling//compiling_icode.nit:1139 */
15463 fra
.me
.REG
[1] = CALL_compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15464 /* ./compiling//compiling_icode.nit:1140 */
15465 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
15466 stack_frame_head
= fra
.me
.prev
;
15469 void compiling_icode___IClosCall___compile_to_c(val_t p0
, val_t p1
){
15470 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
15474 static val_t once_value_1
; /* Once value */
15475 static val_t once_value_2
; /* Once value */
15476 static val_t once_value_3
; /* Once value */
15477 static val_t once_value_4
; /* Once value */
15478 static val_t once_value_5
; /* Once value */
15479 static val_t once_value_6
; /* Once value */
15480 static val_t once_value_7
; /* Once value */
15481 static val_t once_value_8
; /* Once value */
15482 static val_t once_value_9
; /* Once value */
15483 static val_t once_value_10
; /* Once value */
15484 static val_t once_value_11
; /* Once value */
15485 static val_t once_value_12
; /* Once value */
15486 static val_t once_value_13
; /* Once value */
15487 static val_t once_value_14
; /* Once value */
15488 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15489 fra
.me
.file
= LOCATE_compiling_icode
;
15490 fra
.me
.line
= 1145;
15491 fra
.me
.meth
= LOCATE_compiling_icode___IClosCall___compile_to_c
;
15492 fra
.me
.has_broke
= 0;
15493 fra
.me
.REG_size
= 7;
15494 fra
.me
.REG
[0] = NIT_NULL
;
15495 fra
.me
.REG
[1] = NIT_NULL
;
15496 fra
.me
.REG
[2] = NIT_NULL
;
15497 fra
.me
.REG
[3] = NIT_NULL
;
15498 fra
.me
.REG
[4] = NIT_NULL
;
15499 fra
.me
.REG
[5] = NIT_NULL
;
15500 fra
.me
.REG
[6] = NIT_NULL
;
15501 fra
.me
.REG
[0] = p0
;
15502 fra
.me
.REG
[1] = p1
;
15503 /* ./compiling//compiling_icode.nit:1147 */
15504 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15505 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15506 /* ./compiling//compiling_icode.nit:1150 */
15507 REGB0
= CALL_compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15508 if (UNTAG_Bool(REGB0
)) {
15509 /* ./compiling//compiling_icode.nit:1151 */
15510 REGB0
= TAG_Int(3);
15511 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
15512 if (!once_value_1
) {
15513 fra
.me
.REG
[3] = BOX_NativeString("closctx->closure_funs[");
15514 REGB0
= TAG_Int(22);
15515 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
15516 once_value_1
= fra
.me
.REG
[3];
15517 register_static_object(&once_value_1
);
15518 } else fra
.me
.REG
[3] = once_value_1
;
15519 fra
.me
.REG
[3] = fra
.me
.REG
[3];
15520 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
15521 fra
.me
.REG
[3] = CALL_compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15522 fra
.me
.REG
[4] = CALL_icode_base___IClosCall___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15523 fra
.me
.REG
[4] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
15524 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
15525 if (!once_value_2
) {
15526 fra
.me
.REG
[4] = BOX_NativeString("]");
15527 REGB0
= TAG_Int(1);
15528 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
15529 once_value_2
= fra
.me
.REG
[4];
15530 register_static_object(&once_value_2
);
15531 } else fra
.me
.REG
[4] = once_value_2
;
15532 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15533 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
15534 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
15535 /* ./compiling//compiling_icode.nit:1152 */
15536 REGB0
= TAG_Int(1);
15537 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
15538 if (!once_value_3
) {
15539 fra
.me
.REG
[3] = BOX_NativeString("closctx->closure_ctx");
15540 REGB0
= TAG_Int(20);
15541 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
15542 once_value_3
= fra
.me
.REG
[3];
15543 register_static_object(&once_value_3
);
15544 } else fra
.me
.REG
[3] = once_value_3
;
15545 fra
.me
.REG
[3] = fra
.me
.REG
[3];
15546 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
15548 /* ./compiling//compiling_icode.nit:1154 */
15549 REGB0
= TAG_Int(3);
15550 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
15551 if (!once_value_4
) {
15552 fra
.me
.REG
[5] = BOX_NativeString("CREG[");
15553 REGB0
= TAG_Int(5);
15554 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
15555 once_value_4
= fra
.me
.REG
[5];
15556 register_static_object(&once_value_4
);
15557 } else fra
.me
.REG
[5] = once_value_4
;
15558 fra
.me
.REG
[5] = fra
.me
.REG
[5];
15559 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
15560 fra
.me
.REG
[5] = CALL_compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15561 fra
.me
.REG
[6] = CALL_icode_base___IClosCall___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15562 fra
.me
.REG
[6] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
15563 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
15564 if (!once_value_5
) {
15565 fra
.me
.REG
[6] = BOX_NativeString("]");
15566 REGB0
= TAG_Int(1);
15567 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
15568 once_value_5
= fra
.me
.REG
[6];
15569 register_static_object(&once_value_5
);
15570 } else fra
.me
.REG
[6] = once_value_5
;
15571 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15572 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
15573 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
15574 fra
.me
.REG
[2] = fra
.me
.REG
[3];
15575 /* ./compiling//compiling_icode.nit:1155 */
15576 REGB0
= TAG_Int(1);
15577 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
15578 if (!once_value_6
) {
15579 fra
.me
.REG
[6] = BOX_NativeString("closctx_param");
15580 REGB0
= TAG_Int(13);
15581 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
15582 once_value_6
= fra
.me
.REG
[6];
15583 register_static_object(&once_value_6
);
15584 } else fra
.me
.REG
[6] = once_value_6
;
15585 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15586 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
15587 fra
.me
.REG
[4] = fra
.me
.REG
[3];
15589 /* ./compiling//compiling_icode.nit:1157 */
15590 fra
.me
.REG
[3] = CALL_icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15591 fra
.me
.REG
[3] = CALL_compiling_icode___I2CCompilerVisitor___registers(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
15592 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
15593 /* ./compiling//compiling_icode.nit:1159 */
15594 REGB0
= TAG_Int(7);
15595 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
15596 if (!once_value_7
) {
15597 fra
.me
.REG
[6] = BOX_NativeString("((");
15598 REGB0
= TAG_Int(2);
15599 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
15600 once_value_7
= fra
.me
.REG
[6];
15601 register_static_object(&once_value_7
);
15602 } else fra
.me
.REG
[6] = once_value_7
;
15603 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15604 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
15605 fra
.me
.REG
[6] = CALL_compiling_icode___I2CCompilerVisitor___clostypes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15606 fra
.me
.REG
[5] = CALL_icode_base___IClosCall___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15607 fra
.me
.REG
[5] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
15608 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
15609 if (!once_value_8
) {
15610 fra
.me
.REG
[5] = BOX_NativeString(")(");
15611 REGB0
= TAG_Int(2);
15612 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
15613 once_value_8
= fra
.me
.REG
[5];
15614 register_static_object(&once_value_8
);
15615 } else fra
.me
.REG
[5] = once_value_8
;
15616 fra
.me
.REG
[5] = fra
.me
.REG
[5];
15617 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
15618 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
15619 if (!once_value_9
) {
15620 fra
.me
.REG
[2] = BOX_NativeString("))(");
15621 REGB0
= TAG_Int(3);
15622 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
15623 once_value_9
= fra
.me
.REG
[2];
15624 register_static_object(&once_value_9
);
15625 } else fra
.me
.REG
[2] = once_value_9
;
15626 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15627 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
15628 if (!once_value_10
) {
15629 fra
.me
.REG
[2] = BOX_NativeString(", ");
15630 REGB0
= TAG_Int(2);
15631 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
15632 once_value_10
= fra
.me
.REG
[2];
15633 register_static_object(&once_value_10
);
15634 } else fra
.me
.REG
[2] = once_value_10
;
15635 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15636 fra
.me
.REG
[2] = CALL_string___Collection___join(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
15637 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
15638 if (!once_value_11
) {
15639 fra
.me
.REG
[2] = BOX_NativeString(")");
15640 REGB0
= TAG_Int(1);
15641 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
15642 once_value_11
= fra
.me
.REG
[2];
15643 register_static_object(&once_value_11
);
15644 } else fra
.me
.REG
[2] = once_value_11
;
15645 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15646 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
15647 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
15648 /* ./compiling//compiling_icode.nit:1160 */
15649 fra
.me
.REG
[2] = NEW_Writer_compiling_writer___Writer___init();
15650 /* ./compiling//compiling_icode.nit:1161 */
15651 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
15652 /* ./compiling//compiling_icode.nit:1162 */
15653 CALL_compiling_icode___ICode___store_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
15654 /* ./compiling//compiling_icode.nit:1165 */
15655 REGB0
= TAG_Int(3);
15656 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
15657 if (!once_value_12
) {
15658 fra
.me
.REG
[3] = BOX_NativeString("if (");
15659 REGB0
= TAG_Int(4);
15660 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
15661 once_value_12
= fra
.me
.REG
[3];
15662 register_static_object(&once_value_12
);
15663 } else fra
.me
.REG
[3] = once_value_12
;
15664 fra
.me
.REG
[3] = fra
.me
.REG
[3];
15665 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
15666 fra
.me
.REG
[4] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
15667 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
15668 if (!once_value_13
) {
15669 fra
.me
.REG
[4] = BOX_NativeString("->has_broke) {");
15670 REGB0
= TAG_Int(14);
15671 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
15672 once_value_13
= fra
.me
.REG
[4];
15673 register_static_object(&once_value_13
);
15674 } else fra
.me
.REG
[4] = once_value_13
;
15675 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15676 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
15677 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
15678 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15679 /* ./compiling//compiling_icode.nit:1166 */
15680 CALL_compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15681 /* ./compiling//compiling_icode.nit:1167 */
15682 fra
.me
.REG
[0] = CALL_icode_base___IClosCall___break_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15683 /* ./compiling//compiling_icode.nit:1168 */
15684 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
15685 if (UNTAG_Bool(REGB0
)) {
15687 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
15688 if (UNTAG_Bool(REGB1
)) {
15689 REGB1
= TAG_Bool(false);
15692 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
15696 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
15697 if (UNTAG_Bool(REGB0
)) {
15698 /* ./compiling//compiling_icode.nit:1169 */
15699 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
15700 if (UNTAG_Bool(REGB0
)) {
15701 nit_abort("Reciever is null", NULL
, LOCATE_compiling_icode
, 1169);
15703 CALL_compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15705 /* ./compiling//compiling_icode.nit:1171 */
15706 fra
.me
.REG
[0] = CALL_compiling_icode___I2CCompilerVisitor___iroutine(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15707 fra
.me
.REG
[0] = CALL_icode_base___IRoutine___body(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15708 CALL_compiling_icode___I2CCompilerVisitor___add_goto(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15709 /* ./compiling//compiling_icode.nit:1172 */
15710 CALL_compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15711 /* ./compiling//compiling_icode.nit:1173 */
15712 if (!once_value_14
) {
15713 fra
.me
.REG
[0] = BOX_NativeString("}");
15714 REGB0
= TAG_Int(1);
15715 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
15716 once_value_14
= fra
.me
.REG
[0];
15717 register_static_object(&once_value_14
);
15718 } else fra
.me
.REG
[0] = once_value_14
;
15719 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15720 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15721 stack_frame_head
= fra
.me
.prev
;
15724 void compiling_icode___IHasClos___compile_to_c(val_t p0
, val_t p1
){
15725 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
15728 static val_t once_value_2
; /* Once value */
15729 static val_t once_value_3
; /* Once value */
15730 static val_t once_value_4
; /* Once value */
15731 static val_t once_value_5
; /* Once value */
15732 static val_t once_value_6
; /* Once value */
15733 static val_t once_value_7
; /* Once value */
15734 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15735 fra
.me
.file
= LOCATE_compiling_icode
;
15736 fra
.me
.line
= 1178;
15737 fra
.me
.meth
= LOCATE_compiling_icode___IHasClos___compile_to_c
;
15738 fra
.me
.has_broke
= 0;
15739 fra
.me
.REG_size
= 5;
15740 fra
.me
.REG
[0] = NIT_NULL
;
15741 fra
.me
.REG
[1] = NIT_NULL
;
15742 fra
.me
.REG
[2] = NIT_NULL
;
15743 fra
.me
.REG
[3] = NIT_NULL
;
15744 fra
.me
.REG
[4] = NIT_NULL
;
15745 fra
.me
.REG
[0] = p0
;
15746 fra
.me
.REG
[1] = p1
;
15747 /* ./compiling//compiling_icode.nit:1180 */
15748 REGB0
= CALL_compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15749 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
15750 if (UNTAG_Bool(REGB0
)) {
15753 /* ./compiling//compiling_icode.nit:1181 */
15754 fra
.me
.REG
[2] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15755 CALL_compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15756 /* ./compiling//compiling_icode.nit:1182 */
15757 fra
.me
.REG
[2] = CALL_compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15758 /* ./compiling//compiling_icode.nit:1183 */
15759 if (!once_value_2
) {
15760 fra
.me
.REG
[3] = BOX_NativeString("TAG_Bool(");
15761 REGB0
= TAG_Int(9);
15762 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
15763 once_value_2
= fra
.me
.REG
[3];
15764 register_static_object(&once_value_2
);
15765 } else fra
.me
.REG
[3] = once_value_2
;
15766 fra
.me
.REG
[3] = fra
.me
.REG
[3];
15767 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
15768 /* ./compiling//compiling_icode.nit:1184 */
15769 REGB0
= CALL_compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15770 if (UNTAG_Bool(REGB0
)) {
15771 /* ./compiling//compiling_icode.nit:1185 */
15772 if (!once_value_3
) {
15773 fra
.me
.REG
[3] = BOX_NativeString("closctx->closure_funs[");
15774 REGB0
= TAG_Int(22);
15775 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
15776 once_value_3
= fra
.me
.REG
[3];
15777 register_static_object(&once_value_3
);
15778 } else fra
.me
.REG
[3] = once_value_3
;
15779 fra
.me
.REG
[3] = fra
.me
.REG
[3];
15780 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
15781 /* ./compiling//compiling_icode.nit:1186 */
15782 fra
.me
.REG
[3] = CALL_compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15783 fra
.me
.REG
[4] = CALL_icode_base___IHasClos___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15784 fra
.me
.REG
[4] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
15785 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
15786 /* ./compiling//compiling_icode.nit:1187 */
15787 if (!once_value_4
) {
15788 fra
.me
.REG
[4] = BOX_NativeString("]");
15789 REGB0
= TAG_Int(1);
15790 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
15791 once_value_4
= fra
.me
.REG
[4];
15792 register_static_object(&once_value_4
);
15793 } else fra
.me
.REG
[4] = once_value_4
;
15794 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15795 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
15797 /* ./compiling//compiling_icode.nit:1189 */
15798 if (!once_value_5
) {
15799 fra
.me
.REG
[4] = BOX_NativeString("CREG[");
15800 REGB0
= TAG_Int(5);
15801 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
15802 once_value_5
= fra
.me
.REG
[4];
15803 register_static_object(&once_value_5
);
15804 } else fra
.me
.REG
[4] = once_value_5
;
15805 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15806 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
15807 /* ./compiling//compiling_icode.nit:1190 */
15808 fra
.me
.REG
[1] = CALL_compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15809 fra
.me
.REG
[0] = CALL_icode_base___IHasClos___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15810 fra
.me
.REG
[0] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15811 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15812 /* ./compiling//compiling_icode.nit:1191 */
15813 if (!once_value_6
) {
15814 fra
.me
.REG
[0] = BOX_NativeString("]");
15815 REGB0
= TAG_Int(1);
15816 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
15817 once_value_6
= fra
.me
.REG
[0];
15818 register_static_object(&once_value_6
);
15819 } else fra
.me
.REG
[0] = once_value_6
;
15820 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15821 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15823 /* ./compiling//compiling_icode.nit:1193 */
15824 if (!once_value_7
) {
15825 fra
.me
.REG
[0] = BOX_NativeString(" != NULL)");
15826 REGB0
= TAG_Int(9);
15827 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
15828 once_value_7
= fra
.me
.REG
[0];
15829 register_static_object(&once_value_7
);
15830 } else fra
.me
.REG
[0] = once_value_7
;
15831 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15832 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15834 stack_frame_head
= fra
.me
.prev
;
15837 val_t
compiling_icode___IClosureDef___compile_closure(val_t p0
, val_t p1
){
15838 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
15843 static val_t once_value_1
; /* Once value */
15844 static val_t once_value_2
; /* Once value */
15845 static val_t once_value_3
; /* Once value */
15846 static val_t once_value_4
; /* Once value */
15847 static val_t once_value_5
; /* Once value */
15848 static val_t once_value_6
; /* Once value */
15849 static val_t once_value_7
; /* Once value */
15850 static val_t once_value_8
; /* Once value */
15851 static val_t once_value_9
; /* Once value */
15852 static val_t once_value_10
; /* Once value */
15853 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15854 fra
.me
.file
= LOCATE_compiling_icode
;
15855 fra
.me
.line
= 1198;
15856 fra
.me
.meth
= LOCATE_compiling_icode___IClosureDef___compile_closure
;
15857 fra
.me
.has_broke
= 0;
15858 fra
.me
.REG_size
= 9;
15859 fra
.me
.REG
[0] = NIT_NULL
;
15860 fra
.me
.REG
[1] = NIT_NULL
;
15861 fra
.me
.REG
[2] = NIT_NULL
;
15862 fra
.me
.REG
[3] = NIT_NULL
;
15863 fra
.me
.REG
[4] = NIT_NULL
;
15864 fra
.me
.REG
[5] = NIT_NULL
;
15865 fra
.me
.REG
[6] = NIT_NULL
;
15866 fra
.me
.REG
[7] = NIT_NULL
;
15867 fra
.me
.REG
[8] = NIT_NULL
;
15868 fra
.me
.REG
[0] = p0
;
15869 fra
.me
.REG
[1] = p1
;
15870 /* ./compiling//compiling_icode.nit:1202 */
15871 fra
.me
.REG
[2] = CALL_compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15872 /* ./compiling//compiling_icode.nit:1205 */
15873 REGB0
= CALL_compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15874 /* ./compiling//compiling_icode.nit:1206 */
15875 REGB1
= TAG_Bool(true);
15876 CALL_compiling_icode___I2CCompilerVisitor___closure__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
15877 /* ./compiling//compiling_icode.nit:1209 */
15878 fra
.me
.REG
[3] = CALL_compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15879 /* ./compiling//compiling_icode.nit:1210 */
15880 fra
.me
.REG
[4] = NEW_HashSet_hash_collection___HashSet___init();
15881 CALL_compiling_icode___I2CCompilerVisitor___local_labels__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
15882 /* ./compiling//compiling_icode.nit:1213 */
15883 fra
.me
.REG
[4] = CALL_compiling_base___CompilerVisitor___decl_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
15884 /* ./compiling//compiling_icode.nit:1214 */
15885 fra
.me
.REG
[5] = CALL_compiling_base___CompilerVisitor___writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
15886 /* ./compiling//compiling_icode.nit:1215 */
15887 fra
.me
.REG
[6] = CALL_compiling_base___CompilerVisitor___top_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
15888 fra
.me
.REG
[6] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15889 CALL_compiling_base___CompilerVisitor___writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
15890 /* ./compiling//compiling_icode.nit:1216 */
15891 fra
.me
.REG
[6] = CALL_compiling_base___CompilerVisitor___header_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
15892 fra
.me
.REG
[6] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15893 CALL_compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
15894 /* ./compiling//compiling_icode.nit:1219 */
15895 REGB1
= TAG_Int(5);
15896 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
15897 if (!once_value_1
) {
15898 fra
.me
.REG
[7] = BOX_NativeString("OC_");
15899 REGB1
= TAG_Int(3);
15900 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
15901 once_value_1
= fra
.me
.REG
[7];
15902 register_static_object(&once_value_1
);
15903 } else fra
.me
.REG
[7] = once_value_1
;
15904 fra
.me
.REG
[7] = fra
.me
.REG
[7];
15905 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
15906 fra
.me
.REG
[7] = CALL_compiling_icode___I2CCompilerVisitor___basecname(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15907 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
15908 if (!once_value_2
) {
15909 fra
.me
.REG
[7] = BOX_NativeString("_");
15910 REGB1
= TAG_Int(1);
15911 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
15912 once_value_2
= fra
.me
.REG
[7];
15913 register_static_object(&once_value_2
);
15914 } else fra
.me
.REG
[7] = once_value_2
;
15915 fra
.me
.REG
[7] = fra
.me
.REG
[7];
15916 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
15917 REGB1
= CALL_compiling_icode___I2CCompilerVisitor___new_number(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15918 fra
.me
.REG
[7] = CALL_string___Object___to_s(REGB1
)(REGB1
);
15919 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
15920 if (!once_value_3
) {
15921 fra
.me
.REG
[7] = BOX_NativeString("");
15922 REGB1
= TAG_Int(0);
15923 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
15924 once_value_3
= fra
.me
.REG
[7];
15925 register_static_object(&once_value_3
);
15926 } else fra
.me
.REG
[7] = once_value_3
;
15927 fra
.me
.REG
[7] = fra
.me
.REG
[7];
15928 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
15929 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15930 /* ./compiling//compiling_icode.nit:1220 */
15931 fra
.me
.REG
[7] = CALL_compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15932 if (!once_value_4
) {
15933 fra
.me
.REG
[8] = BOX_NativeString("struct stack_frame_t *closctx");
15934 REGB1
= TAG_Int(29);
15935 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
15936 once_value_4
= fra
.me
.REG
[8];
15937 register_static_object(&once_value_4
);
15938 } else fra
.me
.REG
[8] = once_value_4
;
15939 fra
.me
.REG
[8] = fra
.me
.REG
[8];
15940 fra
.me
.REG
[8] = CALL_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
);
15941 /* ./compiling//compiling_icode.nit:1221 */
15942 fra
.me
.REG
[7] = CALL_compiling_base___CompilerVisitor___writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
15943 fra
.me
.REG
[7] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
15944 CALL_compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[7]);
15945 /* ./compiling//compiling_icode.nit:1223 */
15946 fra
.me
.REG
[8] = CALL_compiling_icode___IRoutine___compile_inside_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[8]);
15947 /* ./compiling//compiling_icode.nit:1224 */
15948 REGB1
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
15949 if (UNTAG_Bool(REGB1
)) {
15951 REGB2
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
15952 if (UNTAG_Bool(REGB2
)) {
15953 REGB2
= TAG_Bool(false);
15956 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
15960 if (UNTAG_Bool(REGB1
)) {
15961 /* ./compiling//compiling_icode.nit:1225 */
15962 if (!once_value_5
) {
15963 fra
.me
.REG
[0] = BOX_NativeString("return;");
15964 REGB1
= TAG_Int(7);
15965 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB1
);
15966 once_value_5
= fra
.me
.REG
[0];
15967 register_static_object(&once_value_5
);
15968 } else fra
.me
.REG
[0] = once_value_5
;
15969 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15970 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15972 /* ./compiling//compiling_icode.nit:1227 */
15973 REGB1
= TAG_Int(3);
15974 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB1
);
15975 if (!once_value_6
) {
15976 fra
.me
.REG
[7] = BOX_NativeString("return ");
15977 REGB1
= TAG_Int(7);
15978 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
15979 once_value_6
= fra
.me
.REG
[7];
15980 register_static_object(&once_value_6
);
15981 } else fra
.me
.REG
[7] = once_value_6
;
15982 fra
.me
.REG
[7] = fra
.me
.REG
[7];
15983 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[7]);
15984 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[8]);
15985 if (!once_value_7
) {
15986 fra
.me
.REG
[8] = BOX_NativeString(";");
15987 REGB1
= TAG_Int(1);
15988 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
15989 once_value_7
= fra
.me
.REG
[8];
15990 register_static_object(&once_value_7
);
15991 } else fra
.me
.REG
[8] = once_value_7
;
15992 fra
.me
.REG
[8] = fra
.me
.REG
[8];
15993 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[8]);
15994 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15995 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15997 /* ./compiling//compiling_icode.nit:1229 */
15998 CALL_compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15999 /* ./compiling//compiling_icode.nit:1230 */
16000 if (!once_value_8
) {
16001 fra
.me
.REG
[0] = BOX_NativeString("}");
16002 REGB1
= TAG_Int(1);
16003 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB1
);
16004 once_value_8
= fra
.me
.REG
[0];
16005 register_static_object(&once_value_8
);
16006 } else fra
.me
.REG
[0] = once_value_8
;
16007 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16008 CALL_compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16009 /* ./compiling//compiling_icode.nit:1233 */
16010 CALL_compiling_base___CompilerVisitor___writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
16011 /* ./compiling//compiling_icode.nit:1234 */
16012 CALL_compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
16013 /* ./compiling//compiling_icode.nit:1235 */
16014 CALL_compiling_icode___I2CCompilerVisitor___closure__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
16015 /* ./compiling//compiling_icode.nit:1236 */
16016 CALL_compiling_icode___I2CCompilerVisitor___local_labels__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16017 /* ./compiling//compiling_icode.nit:1237 */
16018 REGB0
= TAG_Int(3);
16019 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
16020 if (!once_value_9
) {
16021 fra
.me
.REG
[1] = BOX_NativeString("((fun_t)");
16022 REGB0
= TAG_Int(8);
16023 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
16024 once_value_9
= fra
.me
.REG
[1];
16025 register_static_object(&once_value_9
);
16026 } else fra
.me
.REG
[1] = once_value_9
;
16027 fra
.me
.REG
[1] = fra
.me
.REG
[1];
16028 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
16029 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
16030 if (!once_value_10
) {
16031 fra
.me
.REG
[6] = BOX_NativeString(")");
16032 REGB0
= TAG_Int(1);
16033 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
16034 once_value_10
= fra
.me
.REG
[6];
16035 register_static_object(&once_value_10
);
16036 } else fra
.me
.REG
[6] = once_value_10
;
16037 fra
.me
.REG
[6] = fra
.me
.REG
[6];
16038 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
16039 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16042 stack_frame_head
= fra
.me
.prev
;
16043 return fra
.me
.REG
[3];