1 /* This C file is generated by NIT to compile module standard___collection___array. */
2 #include "standard___collection___array._sep.h"
3 val_t
standard___collection___array___AbstractArrayRead___length(val_t p0
){
4 struct {struct stack_frame_t me
;} fra
;
7 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8 fra
.me
.file
= LOCATE_standard___collection___array
;
10 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArrayRead___length
;
13 fra
.me
.nitni_local_ref_head
= NULL
;
14 fra
.me
.REG
[0] = NIT_NULL
;
16 /* ../lib/standard/collection/array.nit:24 */
17 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
18 if (UNTAG_Bool(REGB0
)) {
20 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
22 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
23 stack_frame_head
= fra
.me
.prev
;
26 val_t
standard___collection___array___AbstractArrayRead___is_empty(val_t p0
){
27 struct {struct stack_frame_t me
;} fra
;
32 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
33 fra
.me
.file
= LOCATE_standard___collection___array
;
35 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArrayRead___is_empty
;
38 fra
.me
.nitni_local_ref_head
= NULL
;
39 fra
.me
.REG
[0] = NIT_NULL
;
41 /* ../lib/standard/collection/array.nit:26 */
42 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
43 if (UNTAG_Bool(REGB0
)) {
45 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 26);
47 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
49 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
50 if (UNTAG_Bool(REGB2
)) {
52 /* ../lib/standard/kernel.nit:227 */
53 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
54 /* ../lib/standard/collection/array.nit:26 */
59 stack_frame_head
= fra
.me
.prev
;
62 val_t
standard___collection___array___AbstractArrayRead___has(val_t p0
, val_t p1
){
63 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
69 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
70 fra
.me
.file
= LOCATE_standard___collection___array
;
72 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArrayRead___has
;
75 fra
.me
.nitni_local_ref_head
= NULL
;
76 fra
.me
.REG
[0] = NIT_NULL
;
77 fra
.me
.REG
[1] = NIT_NULL
;
78 fra
.me
.REG
[2] = NIT_NULL
;
81 /* ../lib/standard/collection/array.nit:30 */
83 /* ../lib/standard/collection/array.nit:24 */
84 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
85 if (UNTAG_Bool(REGB1
)) {
87 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
89 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
90 /* ../lib/standard/collection/array.nit:32 */
92 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
93 if (UNTAG_Bool(REGB2
)) {
95 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
97 /* ../lib/standard/kernel.nit:232 */
98 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
99 /* ../lib/standard/collection/array.nit:32 */
100 if (UNTAG_Bool(REGB2
)) {
101 /* ../lib/standard/collection/array.nit:33 */
102 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
103 REGB2
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
104 if (UNTAG_Bool(REGB2
)) {
106 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
107 if (UNTAG_Bool(REGB3
)) {
108 REGB3
= TAG_Bool(false);
111 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
115 if (UNTAG_Bool(REGB2
)) {
116 REGB2
= TAG_Bool(true);
119 /* ../lib/standard/collection/array.nit:34 */
121 /* ../lib/standard/kernel.nit:235 */
122 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
123 /* ../lib/standard/collection/array.nit:34 */
126 /* ../lib/standard/collection/array.nit:32 */
131 /* ../lib/standard/collection/array.nit:36 */
132 REGB0
= TAG_Bool(false);
136 stack_frame_head
= fra
.me
.prev
;
139 val_t
standard___collection___array___AbstractArrayRead___has_only(val_t p0
, val_t p1
){
140 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
146 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
147 fra
.me
.file
= LOCATE_standard___collection___array
;
149 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArrayRead___has_only
;
150 fra
.me
.has_broke
= 0;
152 fra
.me
.nitni_local_ref_head
= NULL
;
153 fra
.me
.REG
[0] = NIT_NULL
;
154 fra
.me
.REG
[1] = NIT_NULL
;
155 fra
.me
.REG
[2] = NIT_NULL
;
158 /* ../lib/standard/collection/array.nit:41 */
160 /* ../lib/standard/collection/array.nit:24 */
161 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
162 if (UNTAG_Bool(REGB1
)) {
164 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
166 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
167 /* ../lib/standard/collection/array.nit:43 */
169 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
170 if (UNTAG_Bool(REGB2
)) {
172 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
174 /* ../lib/standard/kernel.nit:232 */
175 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
176 /* ../lib/standard/collection/array.nit:43 */
177 if (UNTAG_Bool(REGB2
)) {
178 /* ../lib/standard/collection/array.nit:44 */
179 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
180 REGB2
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
181 if (UNTAG_Bool(REGB2
)) {
183 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
184 if (UNTAG_Bool(REGB3
)) {
185 REGB3
= TAG_Bool(false);
188 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
192 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
193 if (UNTAG_Bool(REGB2
)) {
194 REGB2
= TAG_Bool(false);
197 /* ../lib/standard/collection/array.nit:45 */
199 /* ../lib/standard/kernel.nit:235 */
200 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
201 /* ../lib/standard/collection/array.nit:45 */
204 /* ../lib/standard/collection/array.nit:43 */
209 /* ../lib/standard/collection/array.nit:47 */
210 REGB0
= TAG_Bool(true);
214 stack_frame_head
= fra
.me
.prev
;
217 val_t
standard___collection___array___AbstractArrayRead___count(val_t p0
, val_t p1
){
218 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
225 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
226 fra
.me
.file
= LOCATE_standard___collection___array
;
228 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArrayRead___count
;
229 fra
.me
.has_broke
= 0;
231 fra
.me
.nitni_local_ref_head
= NULL
;
232 fra
.me
.REG
[0] = NIT_NULL
;
233 fra
.me
.REG
[1] = NIT_NULL
;
234 fra
.me
.REG
[2] = NIT_NULL
;
237 /* ../lib/standard/collection/array.nit:52 */
239 /* ../lib/standard/collection/array.nit:53 */
241 /* ../lib/standard/collection/array.nit:24 */
242 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
243 if (UNTAG_Bool(REGB2
)) {
245 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
247 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
248 /* ../lib/standard/collection/array.nit:55 */
250 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
251 if (UNTAG_Bool(REGB3
)) {
253 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
255 /* ../lib/standard/kernel.nit:232 */
256 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
257 /* ../lib/standard/collection/array.nit:55 */
258 if (UNTAG_Bool(REGB3
)) {
259 /* ../lib/standard/collection/array.nit:56 */
260 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
261 REGB3
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
262 if (UNTAG_Bool(REGB3
)) {
264 REGB4
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
265 if (UNTAG_Bool(REGB4
)) {
266 REGB4
= TAG_Bool(false);
269 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
273 if (UNTAG_Bool(REGB3
)) {
275 /* ../lib/standard/kernel.nit:235 */
276 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
277 /* ../lib/standard/collection/array.nit:56 */
280 /* ../lib/standard/collection/array.nit:57 */
282 /* ../lib/standard/kernel.nit:235 */
283 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
284 /* ../lib/standard/collection/array.nit:57 */
287 /* ../lib/standard/collection/array.nit:55 */
292 /* ../lib/standard/collection/array.nit:59 */
295 stack_frame_head
= fra
.me
.prev
;
298 val_t
standard___collection___array___AbstractArrayRead___index_of(val_t p0
, val_t p1
){
299 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
302 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
303 fra
.me
.file
= LOCATE_standard___collection___array
;
305 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArrayRead___index_of
;
306 fra
.me
.has_broke
= 0;
308 fra
.me
.nitni_local_ref_head
= NULL
;
309 fra
.me
.REG
[0] = NIT_NULL
;
310 fra
.me
.REG
[1] = NIT_NULL
;
313 /* ../lib/standard/collection/array.nit:62 */
315 REGB0
= CALL_standard___collection___array___AbstractArrayRead___index_of_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
318 stack_frame_head
= fra
.me
.prev
;
321 val_t
standard___collection___array___AbstractArrayRead___last_index_of(val_t p0
, val_t p1
){
322 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
326 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
327 fra
.me
.file
= LOCATE_standard___collection___array
;
329 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArrayRead___last_index_of
;
330 fra
.me
.has_broke
= 0;
332 fra
.me
.nitni_local_ref_head
= NULL
;
333 fra
.me
.REG
[0] = NIT_NULL
;
334 fra
.me
.REG
[1] = NIT_NULL
;
337 /* ../lib/standard/collection/array.nit:24 */
338 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
339 if (UNTAG_Bool(REGB0
)) {
341 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
343 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
344 /* ../lib/standard/collection/array.nit:66 */
346 /* ../lib/standard/kernel.nit:237 */
347 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
348 /* ../lib/standard/collection/array.nit:66 */
349 REGB1
= CALL_standard___collection___array___AbstractArrayRead___last_index_of_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB1
);
352 stack_frame_head
= fra
.me
.prev
;
355 val_t
standard___collection___array___AbstractArrayRead___index_of_from(val_t p0
, val_t p1
, val_t p2
){
356 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
362 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
363 fra
.me
.file
= LOCATE_standard___collection___array
;
365 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArrayRead___index_of_from
;
366 fra
.me
.has_broke
= 0;
368 fra
.me
.nitni_local_ref_head
= NULL
;
369 fra
.me
.REG
[0] = NIT_NULL
;
370 fra
.me
.REG
[1] = NIT_NULL
;
371 fra
.me
.REG
[2] = NIT_NULL
;
375 /* ../lib/standard/collection/array.nit:24 */
376 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
377 if (UNTAG_Bool(REGB1
)) {
379 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
381 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
382 /* ../lib/standard/collection/array.nit:74 */
384 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
385 if (UNTAG_Bool(REGB2
)) {
387 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
389 /* ../lib/standard/kernel.nit:232 */
390 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
391 /* ../lib/standard/collection/array.nit:74 */
392 if (UNTAG_Bool(REGB2
)) {
393 /* ../lib/standard/collection/array.nit:75 */
394 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
395 REGB2
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
396 if (UNTAG_Bool(REGB2
)) {
398 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
399 if (UNTAG_Bool(REGB3
)) {
400 REGB3
= TAG_Bool(false);
403 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
407 if (UNTAG_Bool(REGB2
)) {
408 /* ../lib/standard/collection/array.nit:76 */
412 /* ../lib/standard/collection/array.nit:78 */
414 /* ../lib/standard/kernel.nit:235 */
415 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
416 /* ../lib/standard/collection/array.nit:78 */
419 /* ../lib/standard/collection/array.nit:74 */
424 /* ../lib/standard/collection/array.nit:80 */
426 /* ../lib/standard/kernel.nit:236 */
427 REGB0
= TAG_Int(-UNTAG_Int(REGB0
));
428 /* ../lib/standard/collection/array.nit:80 */
432 stack_frame_head
= fra
.me
.prev
;
435 val_t
standard___collection___array___AbstractArrayRead___last_index_of_from(val_t p0
, val_t p1
, val_t p2
){
436 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
441 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
442 fra
.me
.file
= LOCATE_standard___collection___array
;
444 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArrayRead___last_index_of_from
;
445 fra
.me
.has_broke
= 0;
447 fra
.me
.nitni_local_ref_head
= NULL
;
448 fra
.me
.REG
[0] = NIT_NULL
;
449 fra
.me
.REG
[1] = NIT_NULL
;
450 fra
.me
.REG
[2] = NIT_NULL
;
454 /* ../lib/standard/collection/array.nit:88 */
457 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
458 if (UNTAG_Bool(REGB2
)) {
460 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
462 /* ../lib/standard/kernel.nit:233 */
463 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
464 /* ../lib/standard/collection/array.nit:88 */
465 if (UNTAG_Bool(REGB1
)) {
466 /* ../lib/standard/collection/array.nit:89 */
467 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
468 REGB1
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
469 if (UNTAG_Bool(REGB1
)) {
471 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
472 if (UNTAG_Bool(REGB2
)) {
473 REGB2
= TAG_Bool(false);
476 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
480 if (UNTAG_Bool(REGB1
)) {
481 /* ../lib/standard/collection/array.nit:90 */
485 /* ../lib/standard/collection/array.nit:92 */
487 /* ../lib/standard/kernel.nit:237 */
488 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
489 /* ../lib/standard/collection/array.nit:92 */
493 /* ../lib/standard/collection/array.nit:88 */
498 /* ../lib/standard/collection/array.nit:95 */
500 /* ../lib/standard/kernel.nit:236 */
501 REGB0
= TAG_Int(-UNTAG_Int(REGB0
));
502 /* ../lib/standard/collection/array.nit:95 */
506 stack_frame_head
= fra
.me
.prev
;
509 val_t
standard___collection___array___AbstractArrayRead___reversed(val_t p0
){
510 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
515 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
516 fra
.me
.file
= LOCATE_standard___collection___array
;
518 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArrayRead___reversed
;
519 fra
.me
.has_broke
= 0;
521 fra
.me
.nitni_local_ref_head
= NULL
;
522 fra
.me
.REG
[0] = NIT_NULL
;
523 fra
.me
.REG
[1] = NIT_NULL
;
524 fra
.me
.REG
[2] = NIT_NULL
;
526 /* ../lib/standard/collection/array.nit:103 */
527 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
528 if (UNTAG_Bool(REGB0
)) {
530 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 103);
532 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
533 /* ../lib/standard/collection/array.nit:104 */
534 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
535 /* ../lib/standard/collection/array.nit:105 */
538 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
539 if (UNTAG_Bool(REGB2
)) {
541 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
543 /* ../lib/standard/kernel.nit:234 */
544 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
545 /* ../lib/standard/collection/array.nit:105 */
546 if (UNTAG_Bool(REGB1
)) {
547 /* ../lib/standard/collection/array.nit:106 */
549 /* ../lib/standard/kernel.nit:237 */
550 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
551 /* ../lib/standard/collection/array.nit:106 */
553 /* ../lib/standard/collection/array.nit:107 */
554 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
555 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
557 /* ../lib/standard/collection/array.nit:105 */
562 /* ../lib/standard/collection/array.nit:109 */
565 stack_frame_head
= fra
.me
.prev
;
566 return fra
.me
.REG
[1];
568 void standard___collection___array___AbstractArrayRead___copy_to(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
569 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
576 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
577 fra
.me
.file
= LOCATE_standard___collection___array
;
579 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArrayRead___copy_to
;
580 fra
.me
.has_broke
= 0;
582 fra
.me
.nitni_local_ref_head
= NULL
;
583 fra
.me
.REG
[0] = NIT_NULL
;
584 fra
.me
.REG
[1] = NIT_NULL
;
585 fra
.me
.REG
[2] = NIT_NULL
;
591 /* ../lib/standard/collection/array.nit:122 */
594 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
595 if (UNTAG_Bool(REGB4
)) {
597 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
599 /* ../lib/standard/kernel.nit:234 */
600 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB3
));
601 /* ../lib/standard/collection/array.nit:122 */
602 if (UNTAG_Bool(REGB3
)) {
603 /* ../lib/standard/collection/array.nit:123 */
605 /* ../lib/standard/kernel.nit:237 */
606 REGB3
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB3
));
607 /* ../lib/standard/collection/array.nit:123 */
609 /* ../lib/standard/kernel.nit:235 */
610 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB1
));
611 REGB4
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
612 /* ../lib/standard/collection/array.nit:124 */
613 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB4
);
614 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB3
, fra
.me
.REG
[2]);
616 /* ../lib/standard/collection/array.nit:122 */
621 stack_frame_head
= fra
.me
.prev
;
624 void standard___collection___array___AbstractArrayRead___output(val_t p0
){
625 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
631 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
632 fra
.me
.file
= LOCATE_standard___collection___array
;
634 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArrayRead___output
;
635 fra
.me
.has_broke
= 0;
637 fra
.me
.nitni_local_ref_head
= NULL
;
638 fra
.me
.REG
[0] = NIT_NULL
;
639 fra
.me
.REG
[1] = NIT_NULL
;
641 /* ../lib/standard/collection/array.nit:130 */
643 /* ../lib/standard/collection/array.nit:24 */
644 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
645 if (UNTAG_Bool(REGB1
)) {
647 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
649 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
650 /* ../lib/standard/collection/array.nit:132 */
652 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
653 if (UNTAG_Bool(REGB2
)) {
655 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
657 /* ../lib/standard/kernel.nit:232 */
658 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
659 /* ../lib/standard/collection/array.nit:132 */
660 if (UNTAG_Bool(REGB2
)) {
661 /* ../lib/standard/collection/array.nit:133 */
662 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
663 /* ../lib/standard/collection/array.nit:134 */
664 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
665 if (UNTAG_Bool(REGB2
)) {
667 REGB3
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
668 if (UNTAG_Bool(REGB3
)) {
669 REGB3
= TAG_Bool(false);
672 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
676 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
677 if (UNTAG_Bool(REGB2
)) {
678 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
679 if (UNTAG_Bool(REGB2
)) {
680 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 134);
682 CALL_standard___kernel___Object___output(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
684 /* ../lib/standard/collection/array.nit:135 */
686 /* ../lib/standard/kernel.nit:235 */
687 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
688 /* ../lib/standard/collection/array.nit:135 */
691 /* ../lib/standard/collection/array.nit:132 */
696 stack_frame_head
= fra
.me
.prev
;
699 val_t
standard___collection___array___AbstractArrayRead___iterator(val_t p0
){
700 struct {struct stack_frame_t me
;} fra
;
702 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
703 fra
.me
.file
= LOCATE_standard___collection___array
;
705 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArrayRead___iterator
;
706 fra
.me
.has_broke
= 0;
708 fra
.me
.nitni_local_ref_head
= NULL
;
709 fra
.me
.REG
[0] = NIT_NULL
;
711 /* ../lib/standard/collection/array.nit:139 */
712 fra
.me
.REG
[0] = NEW_ArrayIterator_standard___collection___array___ArrayIterator___init(fra
.me
.REG
[0]);
715 stack_frame_head
= fra
.me
.prev
;
716 return fra
.me
.REG
[0];
718 val_t
standard___collection___array___AbstractArrayRead_____eqeq(val_t p0
, val_t p1
){
719 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
726 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
727 fra
.me
.file
= LOCATE_standard___collection___array
;
729 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArrayRead_____eqeq
;
730 fra
.me
.has_broke
= 0;
732 fra
.me
.nitni_local_ref_head
= NULL
;
733 fra
.me
.REG
[0] = NIT_NULL
;
734 fra
.me
.REG
[1] = NIT_NULL
;
735 fra
.me
.REG
[2] = NIT_NULL
;
736 fra
.me
.REG
[3] = NIT_NULL
;
739 /* ../lib/standard/collection/array.nit:144 */
740 REGB0
= TAG_Bool((fra
.me
.REG
[1]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[1], COLOR_standard___collection___array___AbstractArray
, ID_standard___collection___array___AbstractArray
)) /*cast AbstractArray[E]*/;
741 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
742 if (UNTAG_Bool(REGB0
)) {
743 REGB0
= TAG_Bool(true);
745 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
748 if (UNTAG_Bool(REGB0
)) {
749 REGB0
= TAG_Bool(false);
752 /* ../lib/standard/collection/array.nit:24 */
753 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
754 if (UNTAG_Bool(REGB1
)) {
756 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
758 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
759 /* ../lib/standard/collection/array.nit:146 */
760 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
761 if (UNTAG_Bool(REGB2
)) {
762 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 146);
764 /* ../lib/standard/collection/array.nit:24 */
765 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
766 if (UNTAG_Bool(REGB2
)) {
768 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
770 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
771 /* ../lib/standard/collection/array.nit:146 */
772 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
773 if (UNTAG_Bool(REGB3
)) {
775 /* ../lib/standard/kernel.nit:227 */
776 REGB2
= TAG_Bool((REGB2
)==(REGB1
));
777 /* ../lib/standard/collection/array.nit:146 */
780 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
781 if (UNTAG_Bool(REGB3
)) {
782 REGB3
= TAG_Bool(false);
786 /* ../lib/standard/collection/array.nit:147 */
788 /* ../lib/standard/collection/array.nit:148 */
790 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
791 if (UNTAG_Bool(REGB2
)) {
793 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
795 /* ../lib/standard/kernel.nit:232 */
796 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB1
));
797 /* ../lib/standard/collection/array.nit:148 */
798 if (UNTAG_Bool(REGB2
)) {
799 /* ../lib/standard/collection/array.nit:149 */
800 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
);
801 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
802 if (UNTAG_Bool(REGB2
)) {
803 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 149);
805 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB3
);
806 REGB2
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[3]));
807 if (UNTAG_Bool(REGB2
)) {
809 REGB4
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
810 if (UNTAG_Bool(REGB4
)) {
811 REGB4
= TAG_Bool(false);
814 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
818 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
819 if (UNTAG_Bool(REGB2
)) {
820 REGB2
= TAG_Bool(false);
824 /* ../lib/standard/collection/array.nit:150 */
826 /* ../lib/standard/kernel.nit:235 */
827 REGB2
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB2
));
828 /* ../lib/standard/collection/array.nit:150 */
831 /* ../lib/standard/collection/array.nit:148 */
836 /* ../lib/standard/collection/array.nit:152 */
837 REGB3
= TAG_Bool(true);
841 stack_frame_head
= fra
.me
.prev
;
844 void standard___collection___array___AbstractArrayRead___init(val_t p0
, int* init_table
){
845 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___array___AbstractArrayRead
].i
;
846 struct {struct stack_frame_t me
;} fra
;
848 if (init_table
[itpos0
]) return;
849 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
850 fra
.me
.file
= LOCATE_standard___collection___array
;
852 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArrayRead___init
;
853 fra
.me
.has_broke
= 0;
855 fra
.me
.nitni_local_ref_head
= NULL
;
856 stack_frame_head
= fra
.me
.prev
;
857 init_table
[itpos0
] = 1;
860 void standard___collection___array___AbstractArray___enlarge(val_t p0
, val_t p1
){
861 struct {struct stack_frame_t me
;} fra
;
863 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
864 fra
.me
.file
= LOCATE_standard___collection___array
;
866 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArray___enlarge
;
867 fra
.me
.has_broke
= 0;
869 fra
.me
.nitni_local_ref_head
= NULL
;
870 /* ../lib/standard/collection/array.nit:161 */
871 nit_abort("Deferred method called", NULL
, LOCATE_standard___collection___array
, 161);
872 stack_frame_head
= fra
.me
.prev
;
875 void standard___collection___array___AbstractArray___push(val_t p0
, val_t p1
){
876 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
878 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
879 fra
.me
.file
= LOCATE_standard___collection___array
;
881 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArray___push
;
882 fra
.me
.has_broke
= 0;
884 fra
.me
.nitni_local_ref_head
= NULL
;
885 fra
.me
.REG
[0] = NIT_NULL
;
886 fra
.me
.REG
[1] = NIT_NULL
;
889 /* ../lib/standard/collection/array.nit:166 */
890 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
891 stack_frame_head
= fra
.me
.prev
;
894 val_t
standard___collection___array___AbstractArray___pop(val_t p0
){
895 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
899 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
900 fra
.me
.file
= LOCATE_standard___collection___array
;
902 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArray___pop
;
903 fra
.me
.has_broke
= 0;
905 fra
.me
.nitni_local_ref_head
= NULL
;
906 fra
.me
.REG
[0] = NIT_NULL
;
907 fra
.me
.REG
[1] = NIT_NULL
;
909 /* ../lib/standard/collection/array.nit:170 */
910 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
911 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
912 if (UNTAG_Bool(REGB0
)) {
914 nit_abort("Assert '%s' failed", "not_empty", LOCATE_standard___collection___array
, 170);
916 /* ../lib/standard/collection/array.nit:171 */
917 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___SequenceRead___last(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
918 /* ../lib/standard/collection/array.nit:172 */
919 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
921 /* ../lib/standard/kernel.nit:237 */
922 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
923 /* ../lib/standard/collection/array.nit:172 */
924 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB1
;
925 /* ../lib/standard/collection/array.nit:173 */
928 stack_frame_head
= fra
.me
.prev
;
929 return fra
.me
.REG
[1];
931 val_t
standard___collection___array___AbstractArray___shift(val_t p0
){
932 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
937 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
938 fra
.me
.file
= LOCATE_standard___collection___array
;
940 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArray___shift
;
941 fra
.me
.has_broke
= 0;
943 fra
.me
.nitni_local_ref_head
= NULL
;
944 fra
.me
.REG
[0] = NIT_NULL
;
945 fra
.me
.REG
[1] = NIT_NULL
;
946 fra
.me
.REG
[2] = NIT_NULL
;
948 /* ../lib/standard/collection/array.nit:178 */
949 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
950 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
951 if (UNTAG_Bool(REGB0
)) {
953 nit_abort("Assert '%s' failed", "not_empty", LOCATE_standard___collection___array
, 178);
955 /* ../lib/standard/collection/array.nit:179 */
956 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
957 /* ../lib/standard/collection/array.nit:180 */
959 /* ../lib/standard/collection/array.nit:24 */
960 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
961 if (UNTAG_Bool(REGB1
)) {
963 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
965 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
966 /* ../lib/standard/collection/array.nit:182 */
968 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
969 if (UNTAG_Bool(REGB2
)) {
971 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
973 /* ../lib/standard/kernel.nit:232 */
974 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
975 /* ../lib/standard/collection/array.nit:182 */
976 if (UNTAG_Bool(REGB2
)) {
977 /* ../lib/standard/collection/array.nit:183 */
979 /* ../lib/standard/kernel.nit:237 */
980 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
981 /* ../lib/standard/collection/array.nit:183 */
982 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
983 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB2
, fra
.me
.REG
[2]);
984 /* ../lib/standard/collection/array.nit:184 */
986 /* ../lib/standard/kernel.nit:235 */
987 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
988 /* ../lib/standard/collection/array.nit:184 */
991 /* ../lib/standard/collection/array.nit:182 */
996 /* ../lib/standard/collection/array.nit:186 */
998 /* ../lib/standard/kernel.nit:237 */
999 REGB0
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
1000 /* ../lib/standard/collection/array.nit:186 */
1001 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB0
;
1002 /* ../lib/standard/collection/array.nit:187 */
1005 stack_frame_head
= fra
.me
.prev
;
1006 return fra
.me
.REG
[1];
1008 void standard___collection___array___AbstractArray___unshift(val_t p0
, val_t p1
){
1009 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1014 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1015 fra
.me
.file
= LOCATE_standard___collection___array
;
1017 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArray___unshift
;
1018 fra
.me
.has_broke
= 0;
1019 fra
.me
.REG_size
= 3;
1020 fra
.me
.nitni_local_ref_head
= NULL
;
1021 fra
.me
.REG
[0] = NIT_NULL
;
1022 fra
.me
.REG
[1] = NIT_NULL
;
1023 fra
.me
.REG
[2] = NIT_NULL
;
1026 /* ../lib/standard/collection/array.nit:24 */
1027 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1028 if (UNTAG_Bool(REGB0
)) {
1030 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1032 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1033 /* ../lib/standard/collection/array.nit:192 */
1035 /* ../lib/standard/kernel.nit:237 */
1036 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
1037 /* ../lib/standard/collection/array.nit:193 */
1040 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1041 if (UNTAG_Bool(REGB2
)) {
1043 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1045 /* ../lib/standard/kernel.nit:234 */
1046 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB0
));
1047 /* ../lib/standard/collection/array.nit:193 */
1048 if (UNTAG_Bool(REGB0
)) {
1049 /* ../lib/standard/collection/array.nit:194 */
1051 /* ../lib/standard/kernel.nit:235 */
1052 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
1053 /* ../lib/standard/collection/array.nit:194 */
1054 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
1055 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[2]);
1056 /* ../lib/standard/collection/array.nit:195 */
1058 /* ../lib/standard/kernel.nit:237 */
1059 REGB0
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
1060 /* ../lib/standard/collection/array.nit:195 */
1063 /* ../lib/standard/collection/array.nit:193 */
1068 /* ../lib/standard/collection/array.nit:197 */
1070 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
, fra
.me
.REG
[1]);
1071 stack_frame_head
= fra
.me
.prev
;
1074 void standard___collection___array___AbstractArray___insert(val_t p0
, val_t p1
, val_t p2
){
1075 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1080 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1081 fra
.me
.file
= LOCATE_standard___collection___array
;
1083 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArray___insert
;
1084 fra
.me
.has_broke
= 0;
1085 fra
.me
.REG_size
= 2;
1086 fra
.me
.nitni_local_ref_head
= NULL
;
1087 fra
.me
.REG
[0] = NIT_NULL
;
1088 fra
.me
.REG
[1] = NIT_NULL
;
1092 /* ../lib/standard/collection/array.nit:24 */
1093 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1094 if (UNTAG_Bool(REGB1
)) {
1096 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1098 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1099 /* ../lib/standard/collection/array.nit:207 */
1101 /* ../lib/standard/kernel.nit:235 */
1102 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1103 /* ../lib/standard/collection/array.nit:207 */
1104 CALL_standard___collection___array___AbstractArray___enlarge(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB2
);
1105 /* ../lib/standard/collection/array.nit:24 */
1106 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1107 if (UNTAG_Bool(REGB2
)) {
1109 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1111 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1112 /* ../lib/standard/kernel.nit:237 */
1113 REGB2
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB0
));
1114 /* ../lib/standard/collection/array.nit:208 */
1116 /* ../lib/standard/kernel.nit:235 */
1117 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1118 /* ../lib/standard/collection/array.nit:208 */
1119 CALL_standard___collection___array___AbstractArrayRead___copy_to(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB2
, fra
.me
.REG
[0], REGB1
);
1120 /* ../lib/standard/collection/array.nit:209 */
1121 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[1]);
1122 stack_frame_head
= fra
.me
.prev
;
1125 void standard___collection___array___AbstractArray___add(val_t p0
, val_t p1
){
1126 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1129 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1130 fra
.me
.file
= LOCATE_standard___collection___array
;
1132 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArray___add
;
1133 fra
.me
.has_broke
= 0;
1134 fra
.me
.REG_size
= 2;
1135 fra
.me
.nitni_local_ref_head
= NULL
;
1136 fra
.me
.REG
[0] = NIT_NULL
;
1137 fra
.me
.REG
[1] = NIT_NULL
;
1140 /* ../lib/standard/collection/array.nit:24 */
1141 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1142 if (UNTAG_Bool(REGB0
)) {
1144 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1146 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1147 /* ../lib/standard/collection/array.nit:212 */
1148 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[1]);
1149 stack_frame_head
= fra
.me
.prev
;
1152 void standard___collection___array___AbstractArray___clear(val_t p0
){
1153 struct {struct stack_frame_t me
;} fra
;
1156 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1157 fra
.me
.file
= LOCATE_standard___collection___array
;
1159 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArray___clear
;
1160 fra
.me
.has_broke
= 0;
1161 fra
.me
.REG_size
= 1;
1162 fra
.me
.nitni_local_ref_head
= NULL
;
1163 fra
.me
.REG
[0] = NIT_NULL
;
1165 /* ../lib/standard/collection/array.nit:214 */
1167 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB0
;
1168 stack_frame_head
= fra
.me
.prev
;
1171 void standard___collection___array___AbstractArray___remove(val_t p0
, val_t p1
){
1172 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1175 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1176 fra
.me
.file
= LOCATE_standard___collection___array
;
1178 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArray___remove
;
1179 fra
.me
.has_broke
= 0;
1180 fra
.me
.REG_size
= 2;
1181 fra
.me
.nitni_local_ref_head
= NULL
;
1182 fra
.me
.REG
[0] = NIT_NULL
;
1183 fra
.me
.REG
[1] = NIT_NULL
;
1186 /* ../lib/standard/collection/array.nit:216 */
1187 REGB0
= CALL_standard___collection___abstract_collection___SequenceRead___index_of(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1188 CALL_standard___collection___abstract_collection___Sequence___remove_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1189 stack_frame_head
= fra
.me
.prev
;
1192 void standard___collection___array___AbstractArray___remove_all(val_t p0
, val_t p1
){
1193 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1198 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1199 fra
.me
.file
= LOCATE_standard___collection___array
;
1201 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArray___remove_all
;
1202 fra
.me
.has_broke
= 0;
1203 fra
.me
.REG_size
= 2;
1204 fra
.me
.nitni_local_ref_head
= NULL
;
1205 fra
.me
.REG
[0] = NIT_NULL
;
1206 fra
.me
.REG
[1] = NIT_NULL
;
1209 /* ../lib/standard/collection/array.nit:220 */
1210 REGB0
= CALL_standard___collection___abstract_collection___SequenceRead___index_of(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1211 /* ../lib/standard/collection/array.nit:221 */
1214 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1215 if (UNTAG_Bool(REGB2
)) {
1217 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1219 /* ../lib/standard/kernel.nit:233 */
1220 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1221 /* ../lib/standard/collection/array.nit:221 */
1222 if (UNTAG_Bool(REGB1
)) {
1223 /* ../lib/standard/collection/array.nit:222 */
1224 CALL_standard___collection___abstract_collection___Sequence___remove_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1225 /* ../lib/standard/collection/array.nit:223 */
1226 REGB1
= CALL_standard___collection___array___AbstractArrayRead___index_of_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
1229 /* ../lib/standard/collection/array.nit:221 */
1234 stack_frame_head
= fra
.me
.prev
;
1237 void standard___collection___array___AbstractArray___remove_at(val_t p0
, val_t p1
){
1238 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1244 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1245 fra
.me
.file
= LOCATE_standard___collection___array
;
1247 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArray___remove_at
;
1248 fra
.me
.has_broke
= 0;
1249 fra
.me
.REG_size
= 2;
1250 fra
.me
.nitni_local_ref_head
= NULL
;
1251 fra
.me
.REG
[0] = NIT_NULL
;
1252 fra
.me
.REG
[1] = NIT_NULL
;
1255 /* ../lib/standard/collection/array.nit:24 */
1256 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1257 if (UNTAG_Bool(REGB1
)) {
1259 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1261 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1262 /* ../lib/standard/collection/array.nit:230 */
1264 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1265 if (UNTAG_Bool(REGB3
)) {
1267 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1269 /* ../lib/standard/kernel.nit:233 */
1270 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB2
));
1271 /* ../lib/standard/collection/array.nit:230 */
1272 if (UNTAG_Bool(REGB2
)) {
1273 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1274 if (UNTAG_Bool(REGB2
)) {
1276 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1278 /* ../lib/standard/kernel.nit:232 */
1279 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1281 /* ../lib/standard/collection/array.nit:230 */
1282 REGB3
= TAG_Bool(false);
1285 if (UNTAG_Bool(REGB2
)) {
1286 /* ../lib/standard/collection/array.nit:231 */
1288 /* ../lib/standard/kernel.nit:235 */
1289 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1290 /* ../lib/standard/collection/array.nit:232 */
1292 REGB0
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1293 if (UNTAG_Bool(REGB0
)) {
1295 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1297 /* ../lib/standard/kernel.nit:232 */
1298 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB1
));
1299 /* ../lib/standard/collection/array.nit:232 */
1300 if (UNTAG_Bool(REGB0
)) {
1301 /* ../lib/standard/collection/array.nit:233 */
1303 /* ../lib/standard/kernel.nit:237 */
1304 REGB0
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB0
));
1305 /* ../lib/standard/collection/array.nit:233 */
1306 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB2
);
1307 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[1]);
1308 /* ../lib/standard/collection/array.nit:234 */
1310 /* ../lib/standard/kernel.nit:235 */
1311 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
1312 /* ../lib/standard/collection/array.nit:234 */
1315 /* ../lib/standard/collection/array.nit:232 */
1320 /* ../lib/standard/collection/array.nit:236 */
1322 /* ../lib/standard/kernel.nit:237 */
1323 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
1324 /* ../lib/standard/collection/array.nit:236 */
1325 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB2
;
1327 stack_frame_head
= fra
.me
.prev
;
1330 void standard___collection___array___AbstractArray___swap_at(val_t p0
, val_t p1
, val_t p2
){
1331 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1335 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1336 fra
.me
.file
= LOCATE_standard___collection___array
;
1338 fra
.me
.meth
= LOCATE_standard___collection___array___AbstractArray___swap_at
;
1339 fra
.me
.has_broke
= 0;
1340 fra
.me
.REG_size
= 2;
1341 fra
.me
.nitni_local_ref_head
= NULL
;
1342 fra
.me
.REG
[0] = NIT_NULL
;
1343 fra
.me
.REG
[1] = NIT_NULL
;
1347 /* ../lib/standard/collection/array.nit:247 */
1348 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1349 /* ../lib/standard/collection/array.nit:248 */
1350 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB1
);
1351 /* ../lib/standard/collection/array.nit:249 */
1352 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
, fra
.me
.REG
[1]);
1353 stack_frame_head
= fra
.me
.prev
;
1356 void standard___collection___array___Array___iterate(val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
1357 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1363 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1364 fra
.me
.file
= LOCATE_standard___collection___array
;
1366 fra
.me
.meth
= LOCATE_standard___collection___array___Array___iterate
;
1367 fra
.me
.has_broke
= 0;
1368 fra
.me
.REG_size
= 3;
1369 fra
.me
.nitni_local_ref_head
= NULL
;
1370 fra
.me
.REG
[0] = NIT_NULL
;
1371 fra
.me
.REG
[1] = NIT_NULL
;
1372 fra
.me
.REG
[2] = NIT_NULL
;
1373 fra
.me
.closure_ctx
= closctx_param
;
1374 fra
.me
.closure_funs
= CREG
;
1376 CREG
[0] = clos_fun0
;
1377 /* ../lib/standard/collection/array.nit:269 */
1379 /* ../lib/standard/collection/array.nit:270 */
1380 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1381 if (UNTAG_Bool(REGB1
)) {
1383 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1385 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1386 /* ../lib/standard/collection/array.nit:271 */
1387 fra
.me
.REG
[1] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
1388 /* ../lib/standard/collection/array.nit:272 */
1390 /* ../lib/standard/collection/array.nit:24 */
1391 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1392 if (UNTAG_Bool(REGB1
)) {
1394 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1396 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1397 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1398 if (UNTAG_Bool(REGB2
)) {
1400 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1402 /* ../lib/standard/kernel.nit:232 */
1403 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1404 /* ../lib/standard/collection/array.nit:272 */
1405 if (UNTAG_Bool(REGB1
)) {
1406 /* ../lib/standard/collection/array.nit:273 */
1407 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1408 if (UNTAG_Bool(REGB1
)) {
1409 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1411 /* ../lib/standard/collection/array.nit:718 */
1412 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB0
)];
1413 /* ../lib/standard/collection/array.nit:273 */
1414 ((void (*)(struct stack_frame_t
*, val_t
))(CREG
[0]))(closctx_param
, fra
.me
.REG
[2]);
1415 if (closctx_param
->has_broke
) {
1418 /* ../lib/standard/collection/array.nit:274 */
1420 /* ../lib/standard/kernel.nit:235 */
1421 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1422 /* ../lib/standard/collection/array.nit:274 */
1425 /* ../lib/standard/collection/array.nit:272 */
1431 stack_frame_head
= fra
.me
.prev
;
1434 val_t
standard___collection___array___Array_____bra(val_t p0
, val_t p1
){
1435 struct {struct stack_frame_t me
;} fra
;
1440 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1441 fra
.me
.file
= LOCATE_standard___collection___array
;
1443 fra
.me
.meth
= LOCATE_standard___collection___array___Array_____bra
;
1444 fra
.me
.has_broke
= 0;
1445 fra
.me
.REG_size
= 1;
1446 fra
.me
.nitni_local_ref_head
= NULL
;
1447 fra
.me
.REG
[0] = NIT_NULL
;
1450 /* ../lib/standard/collection/array.nit:280 */
1452 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1453 if (UNTAG_Bool(REGB2
)) {
1455 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1457 /* ../lib/standard/kernel.nit:233 */
1458 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1459 /* ../lib/standard/collection/array.nit:280 */
1460 if (UNTAG_Bool(REGB1
)) {
1461 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1462 if (UNTAG_Bool(REGB1
)) {
1464 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1466 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1467 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1468 if (UNTAG_Bool(REGB2
)) {
1470 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1472 /* ../lib/standard/kernel.nit:232 */
1473 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1475 /* ../lib/standard/collection/array.nit:280 */
1476 REGB2
= TAG_Bool(false);
1479 if (UNTAG_Bool(REGB1
)) {
1481 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
1483 /* ../lib/standard/collection/array.nit:281 */
1484 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
1485 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1486 if (UNTAG_Bool(REGB1
)) {
1487 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1489 /* ../lib/standard/collection/array.nit:718 */
1490 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
1491 /* ../lib/standard/collection/array.nit:281 */
1494 stack_frame_head
= fra
.me
.prev
;
1495 return fra
.me
.REG
[0];
1497 void standard___collection___array___Array_____braeq(val_t p0
, val_t p1
, val_t p2
){
1498 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1503 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1504 fra
.me
.file
= LOCATE_standard___collection___array
;
1506 fra
.me
.meth
= LOCATE_standard___collection___array___Array_____braeq
;
1507 fra
.me
.has_broke
= 0;
1508 fra
.me
.REG_size
= 2;
1509 fra
.me
.nitni_local_ref_head
= NULL
;
1510 fra
.me
.REG
[0] = NIT_NULL
;
1511 fra
.me
.REG
[1] = NIT_NULL
;
1515 /* ../lib/standard/collection/array.nit:286 */
1517 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1518 if (UNTAG_Bool(REGB2
)) {
1520 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1522 /* ../lib/standard/kernel.nit:233 */
1523 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1524 /* ../lib/standard/collection/array.nit:286 */
1525 if (UNTAG_Bool(REGB1
)) {
1526 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1527 if (UNTAG_Bool(REGB1
)) {
1529 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 286);
1531 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1533 /* ../lib/standard/kernel.nit:235 */
1534 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1535 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1536 if (UNTAG_Bool(REGB1
)) {
1538 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1540 /* ../lib/standard/kernel.nit:232 */
1541 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1543 /* ../lib/standard/collection/array.nit:286 */
1544 REGB1
= TAG_Bool(false);
1547 if (UNTAG_Bool(REGB2
)) {
1549 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 286);
1551 /* ../lib/standard/collection/array.nit:287 */
1552 REGB2
= TAG_Bool(ATTR_standard___collection___array___Array____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
1553 if (UNTAG_Bool(REGB2
)) {
1555 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___collection___array
, 287);
1557 REGB2
= ATTR_standard___collection___array___Array____capacity(fra
.me
.REG
[0]);
1558 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1559 if (UNTAG_Bool(REGB1
)) {
1561 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1563 /* ../lib/standard/kernel.nit:231 */
1564 REGB2
= TAG_Bool(UNTAG_Int(REGB2
)<=UNTAG_Int(REGB0
));
1565 /* ../lib/standard/collection/array.nit:287 */
1566 if (UNTAG_Bool(REGB2
)) {
1567 /* ../lib/standard/collection/array.nit:288 */
1569 /* ../lib/standard/kernel.nit:235 */
1570 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1571 /* ../lib/standard/collection/array.nit:288 */
1572 CALL_standard___collection___array___AbstractArray___enlarge(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB2
);
1574 /* ../lib/standard/collection/array.nit:290 */
1575 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1576 if (UNTAG_Bool(REGB2
)) {
1578 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 290);
1580 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1581 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1582 if (UNTAG_Bool(REGB1
)) {
1584 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1586 /* ../lib/standard/kernel.nit:231 */
1587 REGB2
= TAG_Bool(UNTAG_Int(REGB2
)<=UNTAG_Int(REGB0
));
1588 /* ../lib/standard/collection/array.nit:290 */
1589 if (UNTAG_Bool(REGB2
)) {
1590 /* ../lib/standard/collection/array.nit:291 */
1592 /* ../lib/standard/kernel.nit:235 */
1593 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1594 /* ../lib/standard/collection/array.nit:291 */
1595 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB2
;
1597 /* ../lib/standard/collection/array.nit:293 */
1598 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
1599 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1600 if (UNTAG_Bool(REGB2
)) {
1601 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 293);
1603 /* ../lib/standard/collection/array.nit:719 */
1604 ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)]=fra
.me
.REG
[1];
1605 stack_frame_head
= fra
.me
.prev
;
1608 void standard___collection___array___Array___add(val_t p0
, val_t p1
){
1609 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1614 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1615 fra
.me
.file
= LOCATE_standard___collection___array
;
1617 fra
.me
.meth
= LOCATE_standard___collection___array___Array___add
;
1618 fra
.me
.has_broke
= 0;
1619 fra
.me
.REG_size
= 2;
1620 fra
.me
.nitni_local_ref_head
= NULL
;
1621 fra
.me
.REG
[0] = NIT_NULL
;
1622 fra
.me
.REG
[1] = NIT_NULL
;
1625 /* ../lib/standard/collection/array.nit:298 */
1626 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1627 if (UNTAG_Bool(REGB0
)) {
1629 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 298);
1631 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1632 /* ../lib/standard/collection/array.nit:299 */
1633 REGB1
= TAG_Bool(ATTR_standard___collection___array___Array____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
1634 if (UNTAG_Bool(REGB1
)) {
1636 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___collection___array
, 299);
1638 REGB1
= ATTR_standard___collection___array___Array____capacity(fra
.me
.REG
[0]);
1639 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1640 if (UNTAG_Bool(REGB2
)) {
1642 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1644 /* ../lib/standard/kernel.nit:231 */
1645 REGB1
= TAG_Bool(UNTAG_Int(REGB1
)<=UNTAG_Int(REGB0
));
1646 /* ../lib/standard/collection/array.nit:299 */
1647 if (UNTAG_Bool(REGB1
)) {
1648 /* ../lib/standard/collection/array.nit:300 */
1650 /* ../lib/standard/kernel.nit:235 */
1651 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1652 /* ../lib/standard/collection/array.nit:300 */
1653 CALL_standard___collection___array___AbstractArray___enlarge(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
1655 /* ../lib/standard/collection/array.nit:302 */
1657 /* ../lib/standard/kernel.nit:235 */
1658 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1659 /* ../lib/standard/collection/array.nit:302 */
1660 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB1
;
1661 /* ../lib/standard/collection/array.nit:303 */
1662 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
1663 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1664 if (UNTAG_Bool(REGB1
)) {
1665 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 303);
1667 /* ../lib/standard/collection/array.nit:719 */
1668 ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)]=fra
.me
.REG
[1];
1669 stack_frame_head
= fra
.me
.prev
;
1672 void standard___collection___array___Array___enlarge(val_t p0
, val_t p1
){
1673 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1679 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1680 fra
.me
.file
= LOCATE_standard___collection___array
;
1682 fra
.me
.meth
= LOCATE_standard___collection___array___Array___enlarge
;
1683 fra
.me
.has_broke
= 0;
1684 fra
.me
.REG_size
= 3;
1685 fra
.me
.nitni_local_ref_head
= NULL
;
1686 fra
.me
.REG
[0] = NIT_NULL
;
1687 fra
.me
.REG
[1] = NIT_NULL
;
1688 fra
.me
.REG
[2] = NIT_NULL
;
1691 /* ../lib/standard/collection/array.nit:308 */
1692 REGB1
= TAG_Bool(ATTR_standard___collection___array___Array____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
1693 if (UNTAG_Bool(REGB1
)) {
1695 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___collection___array
, 308);
1697 REGB1
= ATTR_standard___collection___array___Array____capacity(fra
.me
.REG
[0]);
1698 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1699 if (UNTAG_Bool(REGB2
)) {
1701 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1703 /* ../lib/standard/kernel.nit:231 */
1704 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB1
));
1705 /* ../lib/standard/collection/array.nit:309 */
1706 if (UNTAG_Bool(REGB2
)) {
1709 /* ../lib/standard/collection/array.nit:310 */
1711 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1712 if (UNTAG_Bool(REGB2
)) {
1714 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1716 /* ../lib/standard/kernel.nit:231 */
1717 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<=UNTAG_Int(REGB0
));
1718 /* ../lib/standard/collection/array.nit:310 */
1719 if (UNTAG_Bool(REGB2
)) {
1721 /* ../lib/standard/kernel.nit:238 */
1722 REGB2
= TAG_Int(UNTAG_Int(REGB1
)*UNTAG_Int(REGB2
));
1723 /* ../lib/standard/collection/array.nit:310 */
1725 /* ../lib/standard/kernel.nit:235 */
1726 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1727 /* ../lib/standard/collection/array.nit:310 */
1734 /* ../lib/standard/collection/array.nit:712 */
1735 fra
.me
.REG
[1] = NEW_NativeArray(UNTAG_Int(REGB1
), sizeof(val_t
));
1736 /* ../lib/standard/collection/array.nit:312 */
1737 REGB0
= TAG_Bool(ATTR_standard___collection___array___Array____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
1738 if (UNTAG_Bool(REGB0
)) {
1740 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___collection___array
, 312);
1742 REGB0
= ATTR_standard___collection___array___Array____capacity(fra
.me
.REG
[0]);
1744 REGB2
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1745 if (UNTAG_Bool(REGB2
)) {
1747 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1749 /* ../lib/standard/kernel.nit:234 */
1750 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB3
));
1751 /* ../lib/standard/collection/array.nit:312 */
1752 if (UNTAG_Bool(REGB3
)) {
1753 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
1754 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1755 if (UNTAG_Bool(REGB3
)) {
1757 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 312);
1759 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1760 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1761 if (UNTAG_Bool(REGB0
)) {
1762 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 312);
1764 /* ../lib/standard/collection/array.nit:720 */
1765 (void)memcpy(((Nit_NativeArray
)fra
.me
.REG
[1])->val
, ((Nit_NativeArray
)fra
.me
.REG
[2])->val
, UNTAG_Int(REGB3
)*sizeof(val_t
));
1767 /* ../lib/standard/collection/array.nit:313 */
1768 ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1769 /* ../lib/standard/collection/array.nit:314 */
1770 ATTR_standard___collection___array___Array____capacity(fra
.me
.REG
[0]) = REGB1
;
1772 stack_frame_head
= fra
.me
.prev
;
1775 void standard___collection___array___Array___init(val_t p0
, int* init_table
){
1776 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___array___Array
].i
;
1777 struct {struct stack_frame_t me
;} fra
;
1780 if (init_table
[itpos1
]) return;
1781 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1782 fra
.me
.file
= LOCATE_standard___collection___array
;
1784 fra
.me
.meth
= LOCATE_standard___collection___array___Array___init
;
1785 fra
.me
.has_broke
= 0;
1786 fra
.me
.REG_size
= 1;
1787 fra
.me
.nitni_local_ref_head
= NULL
;
1788 fra
.me
.REG
[0] = NIT_NULL
;
1790 /* ../lib/standard/collection/array.nit:320 */
1792 ATTR_standard___collection___array___Array____capacity(fra
.me
.REG
[0]) = REGB0
;
1793 /* ../lib/standard/collection/array.nit:321 */
1795 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB0
;
1796 stack_frame_head
= fra
.me
.prev
;
1797 init_table
[itpos1
] = 1;
1800 void standard___collection___array___Array___with_items(val_t p0
, val_t p1
, int* init_table
){
1801 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___array___Array
].i
;
1802 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1805 if (init_table
[itpos2
]) return;
1806 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1807 fra
.me
.file
= LOCATE_standard___collection___array
;
1809 fra
.me
.meth
= LOCATE_standard___collection___array___Array___with_items
;
1810 fra
.me
.has_broke
= 0;
1811 fra
.me
.REG_size
= 3;
1812 fra
.me
.nitni_local_ref_head
= NULL
;
1813 fra
.me
.REG
[0] = NIT_NULL
;
1814 fra
.me
.REG
[1] = NIT_NULL
;
1815 fra
.me
.REG
[2] = NIT_NULL
;
1818 /* ../lib/standard/collection/array.nit:324 */
1819 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1820 REGB0
= TAG_Bool((fra
.me
.REG
[1]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[1], COLOR_standard___collection___array___Array
, ID_standard___collection___array___Array
)) /*cast Array[E]*/;
1821 if (UNTAG_Bool(REGB0
)) {
1823 nit_abort("Cast failed", NULL
, LOCATE_standard___collection___array
, 324);
1825 /* ../lib/standard/collection/array.nit:327 */
1826 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1827 ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
1828 /* ../lib/standard/collection/array.nit:328 */
1829 REGB0
= TAG_Bool(ATTR_standard___collection___array___Array____capacity(fra
.me
.REG
[1])!=NIT_NULL
);
1830 if (UNTAG_Bool(REGB0
)) {
1832 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___collection___array
, 328);
1834 REGB0
= ATTR_standard___collection___array___Array____capacity(fra
.me
.REG
[1]);
1835 ATTR_standard___collection___array___Array____capacity(fra
.me
.REG
[2]) = REGB0
;
1836 /* ../lib/standard/collection/array.nit:24 */
1837 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1838 if (UNTAG_Bool(REGB0
)) {
1840 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1842 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1843 /* ../lib/standard/collection/array.nit:329 */
1844 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]) = REGB0
;
1845 stack_frame_head
= fra
.me
.prev
;
1846 init_table
[itpos2
] = 1;
1849 void standard___collection___array___Array___with_capacity(val_t p0
, val_t p1
, int* init_table
){
1850 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___array___Array
].i
;
1851 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1856 if (init_table
[itpos3
]) return;
1857 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1858 fra
.me
.file
= LOCATE_standard___collection___array
;
1860 fra
.me
.meth
= LOCATE_standard___collection___array___Array___with_capacity
;
1861 fra
.me
.has_broke
= 0;
1862 fra
.me
.REG_size
= 2;
1863 fra
.me
.nitni_local_ref_head
= NULL
;
1864 fra
.me
.REG
[0] = NIT_NULL
;
1865 fra
.me
.REG
[1] = NIT_NULL
;
1868 /* ../lib/standard/collection/array.nit:335 */
1870 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1871 if (UNTAG_Bool(REGB2
)) {
1873 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1875 /* ../lib/standard/kernel.nit:233 */
1876 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1877 /* ../lib/standard/collection/array.nit:335 */
1878 if (UNTAG_Bool(REGB1
)) {
1880 nit_abort("Assert '%s' failed", "positive", LOCATE_standard___collection___array
, 335);
1882 /* ../lib/standard/collection/array.nit:712 */
1883 fra
.me
.REG
[1] = NEW_NativeArray(UNTAG_Int(REGB0
), sizeof(val_t
));
1884 /* ../lib/standard/collection/array.nit:336 */
1885 ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1886 /* ../lib/standard/collection/array.nit:337 */
1887 ATTR_standard___collection___array___Array____capacity(fra
.me
.REG
[0]) = REGB0
;
1888 /* ../lib/standard/collection/array.nit:338 */
1890 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB0
;
1891 stack_frame_head
= fra
.me
.prev
;
1892 init_table
[itpos3
] = 1;
1895 void standard___collection___array___Array___filled_with(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1896 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___array___Array
].i
;
1897 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1902 if (init_table
[itpos4
]) return;
1903 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1904 fra
.me
.file
= LOCATE_standard___collection___array
;
1906 fra
.me
.meth
= LOCATE_standard___collection___array___Array___filled_with
;
1907 fra
.me
.has_broke
= 0;
1908 fra
.me
.REG_size
= 3;
1909 fra
.me
.nitni_local_ref_head
= NULL
;
1910 fra
.me
.REG
[0] = NIT_NULL
;
1911 fra
.me
.REG
[1] = NIT_NULL
;
1912 fra
.me
.REG
[2] = NIT_NULL
;
1916 /* ../lib/standard/collection/array.nit:344 */
1918 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1919 if (UNTAG_Bool(REGB2
)) {
1921 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1923 /* ../lib/standard/kernel.nit:233 */
1924 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1925 /* ../lib/standard/collection/array.nit:344 */
1926 if (UNTAG_Bool(REGB1
)) {
1928 nit_abort("Assert '%s' failed", "positive", LOCATE_standard___collection___array
, 344);
1930 /* ../lib/standard/collection/array.nit:712 */
1931 fra
.me
.REG
[2] = NEW_NativeArray(UNTAG_Int(REGB0
), sizeof(val_t
));
1932 /* ../lib/standard/collection/array.nit:345 */
1933 ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
1934 /* ../lib/standard/collection/array.nit:346 */
1935 ATTR_standard___collection___array___Array____capacity(fra
.me
.REG
[0]) = REGB0
;
1936 /* ../lib/standard/collection/array.nit:347 */
1937 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB0
;
1938 /* ../lib/standard/collection/array.nit:348 */
1940 /* ../lib/standard/collection/array.nit:349 */
1942 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1943 if (UNTAG_Bool(REGB2
)) {
1945 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1947 /* ../lib/standard/kernel.nit:232 */
1948 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
1949 /* ../lib/standard/collection/array.nit:349 */
1950 if (UNTAG_Bool(REGB2
)) {
1951 /* ../lib/standard/collection/array.nit:350 */
1952 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
, fra
.me
.REG
[1]);
1953 /* ../lib/standard/collection/array.nit:351 */
1955 /* ../lib/standard/kernel.nit:235 */
1956 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1957 /* ../lib/standard/collection/array.nit:351 */
1960 /* ../lib/standard/collection/array.nit:349 */
1965 stack_frame_head
= fra
.me
.prev
;
1966 init_table
[itpos4
] = 1;
1969 void standard___collection___array___Array___with_native(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1970 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___array___Array
].i
;
1971 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1976 if (init_table
[itpos5
]) return;
1977 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1978 fra
.me
.file
= LOCATE_standard___collection___array
;
1980 fra
.me
.meth
= LOCATE_standard___collection___array___Array___with_native
;
1981 fra
.me
.has_broke
= 0;
1982 fra
.me
.REG_size
= 2;
1983 fra
.me
.nitni_local_ref_head
= NULL
;
1984 fra
.me
.REG
[0] = NIT_NULL
;
1985 fra
.me
.REG
[1] = NIT_NULL
;
1989 /* ../lib/standard/collection/array.nit:358 */
1991 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1992 if (UNTAG_Bool(REGB2
)) {
1994 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1996 /* ../lib/standard/kernel.nit:233 */
1997 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1998 /* ../lib/standard/collection/array.nit:358 */
1999 if (UNTAG_Bool(REGB1
)) {
2001 nit_abort("Assert '%s' failed", "positive", LOCATE_standard___collection___array
, 358);
2003 /* ../lib/standard/collection/array.nit:359 */
2004 ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2005 /* ../lib/standard/collection/array.nit:360 */
2006 ATTR_standard___collection___array___Array____capacity(fra
.me
.REG
[0]) = REGB0
;
2007 /* ../lib/standard/collection/array.nit:361 */
2008 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB0
;
2009 stack_frame_head
= fra
.me
.prev
;
2010 init_table
[itpos5
] = 1;
2013 val_t
standard___collection___array___Array___intern_items(val_t p0
){
2014 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2017 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2018 fra
.me
.file
= LOCATE_standard___collection___array
;
2020 fra
.me
.meth
= LOCATE_standard___collection___array___Array___intern_items
;
2021 fra
.me
.has_broke
= 0;
2022 fra
.me
.REG_size
= 2;
2023 fra
.me
.nitni_local_ref_head
= NULL
;
2024 fra
.me
.REG
[0] = NIT_NULL
;
2025 fra
.me
.REG
[1] = NIT_NULL
;
2027 /* ../lib/standard/collection/array.nit:367 */
2028 fra
.me
.REG
[1] = fra
.me
.REG
[0];
2029 /* ../lib/standard/collection/array.nit:369 */
2030 fra
.me
.REG
[1] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
2031 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
2032 if (UNTAG_Bool(REGB0
)) {
2034 nit_abort("Cast failed", NULL
, LOCATE_standard___collection___array
, 369);
2038 stack_frame_head
= fra
.me
.prev
;
2039 return fra
.me
.REG
[1];
2041 void standard___collection___array___Array___sort(val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
2042 struct {struct stack_frame_t me
;} fra
;
2048 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2049 fra
.me
.file
= LOCATE_standard___collection___array
;
2051 fra
.me
.meth
= LOCATE_standard___collection___array___Array___sort
;
2052 fra
.me
.has_broke
= 0;
2053 fra
.me
.REG_size
= 1;
2054 fra
.me
.nitni_local_ref_head
= NULL
;
2055 fra
.me
.REG
[0] = NIT_NULL
;
2056 fra
.me
.closure_ctx
= closctx_param
;
2057 fra
.me
.closure_funs
= CREG
;
2059 CREG
[0] = clos_fun0
;
2060 /* ../lib/standard/collection/array.nit:378 */
2062 /* ../lib/standard/collection/array.nit:24 */
2063 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2064 if (UNTAG_Bool(REGB1
)) {
2066 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2068 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2069 /* ../lib/standard/collection/array.nit:378 */
2071 /* ../lib/standard/kernel.nit:237 */
2072 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
2073 CALL_standard___collection___array___Array___sub_sort(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB2
, (&(fra
.me
)), ((fun_t
)OC_standard___collection___array___Array___sort_1
));
2074 switch ((&(fra
.me
))->has_broke
) {
2076 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
2079 stack_frame_head
= fra
.me
.prev
;
2082 val_t
OC_standard___collection___array___Array___sort_1(struct stack_frame_t
*closctx
, val_t p0
, val_t p1
){
2083 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2086 /* ../lib/standard/collection/array.nit:378 */
2087 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2088 fra
.me
.file
= LOCATE_standard___collection___array
;
2090 fra
.me
.meth
= LOCATE_standard___collection___array___Array___sort
;
2091 fra
.me
.has_broke
= 0;
2092 fra
.me
.REG_size
= 2;
2093 fra
.me
.nitni_local_ref_head
= NULL
;
2094 fra
.me
.REG
[0] = NIT_NULL
;
2095 fra
.me
.REG
[1] = NIT_NULL
;
2098 REGB0
= ((val_t (*)(struct stack_frame_t
*, val_t
, val_t
))(closctx
->closure_funs
[0]))(closctx
->closure_ctx
, fra
.me
.REG
[0], fra
.me
.REG
[1]);
2099 if (closctx
->closure_ctx
->has_broke
) {
2100 closctx
->has_broke
= 1;
2105 stack_frame_head
= fra
.me
.prev
;
2108 void standard___collection___array___Array___sub_sort(val_t p0
, val_t p1
, val_t p2
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
2109 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2119 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2120 fra
.me
.file
= LOCATE_standard___collection___array
;
2122 fra
.me
.meth
= LOCATE_standard___collection___array___Array___sub_sort
;
2123 fra
.me
.has_broke
= 0;
2124 fra
.me
.REG_size
= 4;
2125 fra
.me
.nitni_local_ref_head
= NULL
;
2126 fra
.me
.REG
[0] = NIT_NULL
;
2127 fra
.me
.REG
[1] = NIT_NULL
;
2128 fra
.me
.REG
[2] = NIT_NULL
;
2129 fra
.me
.REG
[3] = NIT_NULL
;
2130 fra
.me
.closure_ctx
= closctx_param
;
2131 fra
.me
.closure_funs
= CREG
;
2135 CREG
[0] = clos_fun0
;
2136 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2137 if (UNTAG_Bool(REGB2
)) {
2139 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2141 /* ../lib/standard/kernel.nit:233 */
2142 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
2143 /* ../lib/standard/collection/array.nit:385 */
2144 if (UNTAG_Bool(REGB2
)) {
2145 /* ../lib/standard/collection/array.nit:386 */
2148 /* ../lib/standard/collection/array.nit:387 */
2150 /* ../lib/standard/kernel.nit:235 */
2151 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2152 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
2153 if (UNTAG_Bool(REGB3
)) {
2155 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2157 /* ../lib/standard/kernel.nit:232 */
2158 REGB2
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB1
));
2159 /* ../lib/standard/collection/array.nit:387 */
2160 if (UNTAG_Bool(REGB2
)) {
2161 /* ../lib/standard/collection/array.nit:278 */
2162 fra
.me
.REG
[1] = fra
.me
.REG
[0];
2164 /* ../lib/standard/collection/array.nit:280 */
2166 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
2167 if (UNTAG_Bool(REGB4
)) {
2169 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2171 /* ../lib/standard/kernel.nit:233 */
2172 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
2173 /* ../lib/standard/collection/array.nit:280 */
2174 if (UNTAG_Bool(REGB3
)) {
2175 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
2176 if (UNTAG_Bool(REGB3
)) {
2178 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
2180 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
2181 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
2182 if (UNTAG_Bool(REGB4
)) {
2184 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2186 /* ../lib/standard/kernel.nit:232 */
2187 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
2189 /* ../lib/standard/collection/array.nit:280 */
2190 REGB4
= TAG_Bool(false);
2193 if (UNTAG_Bool(REGB3
)) {
2195 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
2197 /* ../lib/standard/collection/array.nit:281 */
2198 fra
.me
.REG
[1] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
2199 REGB3
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2200 if (UNTAG_Bool(REGB3
)) {
2201 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
2203 /* ../lib/standard/collection/array.nit:718 */
2204 fra
.me
.REG
[1] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB2
)];
2205 /* ../lib/standard/collection/array.nit:281 */
2208 /* ../lib/standard/collection/array.nit:389 */
2210 /* ../lib/standard/collection/array.nit:390 */
2212 /* ../lib/standard/collection/array.nit:391 */
2214 REGB4
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
2215 if (UNTAG_Bool(REGB4
)) {
2217 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2219 /* ../lib/standard/kernel.nit:234 */
2220 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>UNTAG_Int(REGB2
));
2221 /* ../lib/standard/collection/array.nit:391 */
2222 if (UNTAG_Bool(REGB4
)) {
2223 /* ../lib/standard/collection/array.nit:392 */
2225 REGB4
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
2226 if (UNTAG_Bool(REGB4
)) {
2228 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2230 /* ../lib/standard/kernel.nit:231 */
2231 REGB4
= TAG_Bool(UNTAG_Int(REGB2
)<=UNTAG_Int(REGB1
));
2232 /* ../lib/standard/collection/array.nit:392 */
2233 if (UNTAG_Bool(REGB4
)) {
2234 /* ../lib/standard/collection/array.nit:278 */
2235 fra
.me
.REG
[2] = fra
.me
.REG
[0];
2237 /* ../lib/standard/collection/array.nit:280 */
2239 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
2240 if (UNTAG_Bool(REGB6
)) {
2242 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2244 /* ../lib/standard/kernel.nit:233 */
2245 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB5
));
2246 /* ../lib/standard/collection/array.nit:280 */
2247 if (UNTAG_Bool(REGB5
)) {
2248 REGB5
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2249 if (UNTAG_Bool(REGB5
)) {
2251 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
2253 REGB5
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2254 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
2255 if (UNTAG_Bool(REGB6
)) {
2257 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2259 /* ../lib/standard/kernel.nit:232 */
2260 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB5
));
2262 /* ../lib/standard/collection/array.nit:280 */
2263 REGB6
= TAG_Bool(false);
2266 if (UNTAG_Bool(REGB5
)) {
2268 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
2270 /* ../lib/standard/collection/array.nit:281 */
2271 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
2272 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2273 if (UNTAG_Bool(REGB5
)) {
2274 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
2276 /* ../lib/standard/collection/array.nit:718 */
2277 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB4
)];
2278 /* ../lib/standard/collection/array.nit:281 */
2281 /* ../lib/standard/collection/array.nit:392 */
2282 REGB4
= ((val_t (*)(struct stack_frame_t
*, val_t
, val_t
))(CREG
[0]))(closctx_param
, fra
.me
.REG
[2], fra
.me
.REG
[1]);
2283 if (closctx_param
->has_broke
) {
2287 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
2288 if (UNTAG_Bool(REGB6
)) {
2290 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2292 /* ../lib/standard/kernel.nit:231 */
2293 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<=UNTAG_Int(REGB5
));
2295 /* ../lib/standard/collection/array.nit:392 */
2296 REGB4
= TAG_Bool(false);
2299 if (UNTAG_Bool(REGB5
)) {
2301 /* ../lib/standard/kernel.nit:235 */
2302 REGB5
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB5
));
2303 /* ../lib/standard/collection/array.nit:392 */
2310 /* ../lib/standard/collection/array.nit:393 */
2312 REGB5
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
2313 if (UNTAG_Bool(REGB5
)) {
2315 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2317 /* ../lib/standard/kernel.nit:234 */
2318 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)>UNTAG_Int(REGB2
));
2319 /* ../lib/standard/collection/array.nit:393 */
2320 if (UNTAG_Bool(REGB5
)) {
2321 /* ../lib/standard/collection/array.nit:278 */
2322 fra
.me
.REG
[2] = fra
.me
.REG
[0];
2324 /* ../lib/standard/collection/array.nit:280 */
2326 REGB6
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
2327 if (UNTAG_Bool(REGB6
)) {
2329 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2331 /* ../lib/standard/kernel.nit:233 */
2332 REGB4
= TAG_Bool(UNTAG_Int(REGB5
)>=UNTAG_Int(REGB4
));
2333 /* ../lib/standard/collection/array.nit:280 */
2334 if (UNTAG_Bool(REGB4
)) {
2335 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2336 if (UNTAG_Bool(REGB4
)) {
2338 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
2340 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2341 REGB6
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
2342 if (UNTAG_Bool(REGB6
)) {
2344 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2346 /* ../lib/standard/kernel.nit:232 */
2347 REGB4
= TAG_Bool(UNTAG_Int(REGB5
)<UNTAG_Int(REGB4
));
2349 /* ../lib/standard/collection/array.nit:280 */
2350 REGB6
= TAG_Bool(false);
2353 if (UNTAG_Bool(REGB4
)) {
2355 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
2357 /* ../lib/standard/collection/array.nit:281 */
2358 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
2359 REGB4
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2360 if (UNTAG_Bool(REGB4
)) {
2361 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
2363 /* ../lib/standard/collection/array.nit:718 */
2364 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB5
)];
2365 /* ../lib/standard/collection/array.nit:281 */
2368 /* ../lib/standard/collection/array.nit:393 */
2369 REGB5
= ((val_t (*)(struct stack_frame_t
*, val_t
, val_t
))(CREG
[0]))(closctx_param
, fra
.me
.REG
[2], fra
.me
.REG
[1]);
2370 if (closctx_param
->has_broke
) {
2374 REGB6
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
2375 if (UNTAG_Bool(REGB6
)) {
2377 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2379 /* ../lib/standard/kernel.nit:233 */
2380 REGB4
= TAG_Bool(UNTAG_Int(REGB5
)>=UNTAG_Int(REGB4
));
2382 /* ../lib/standard/collection/array.nit:393 */
2383 REGB5
= TAG_Bool(false);
2386 if (UNTAG_Bool(REGB4
)) {
2388 /* ../lib/standard/kernel.nit:237 */
2389 REGB4
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB4
));
2390 /* ../lib/standard/collection/array.nit:393 */
2397 REGB4
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
2398 if (UNTAG_Bool(REGB4
)) {
2400 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2402 /* ../lib/standard/kernel.nit:234 */
2403 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>UNTAG_Int(REGB2
));
2404 /* ../lib/standard/collection/array.nit:394 */
2405 if (UNTAG_Bool(REGB4
)) {
2406 /* ../lib/standard/collection/array.nit:278 */
2407 fra
.me
.REG
[2] = fra
.me
.REG
[0];
2409 /* ../lib/standard/collection/array.nit:280 */
2411 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
2412 if (UNTAG_Bool(REGB6
)) {
2414 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2416 /* ../lib/standard/kernel.nit:233 */
2417 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB5
));
2418 /* ../lib/standard/collection/array.nit:280 */
2419 if (UNTAG_Bool(REGB5
)) {
2420 REGB5
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2421 if (UNTAG_Bool(REGB5
)) {
2423 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
2425 REGB5
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2426 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
2427 if (UNTAG_Bool(REGB6
)) {
2429 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2431 /* ../lib/standard/kernel.nit:232 */
2432 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB5
));
2434 /* ../lib/standard/collection/array.nit:280 */
2435 REGB6
= TAG_Bool(false);
2438 if (UNTAG_Bool(REGB5
)) {
2440 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
2442 /* ../lib/standard/collection/array.nit:281 */
2443 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
2444 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2445 if (UNTAG_Bool(REGB5
)) {
2446 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
2448 /* ../lib/standard/collection/array.nit:718 */
2449 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB4
)];
2450 /* ../lib/standard/collection/array.nit:281 */
2453 /* ../lib/standard/collection/array.nit:278 */
2454 fra
.me
.REG
[3] = fra
.me
.REG
[0];
2456 /* ../lib/standard/collection/array.nit:280 */
2458 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
2459 if (UNTAG_Bool(REGB6
)) {
2461 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2463 /* ../lib/standard/kernel.nit:233 */
2464 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB5
));
2465 /* ../lib/standard/collection/array.nit:280 */
2466 if (UNTAG_Bool(REGB5
)) {
2467 REGB5
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2468 if (UNTAG_Bool(REGB5
)) {
2470 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
2472 REGB5
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2473 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
2474 if (UNTAG_Bool(REGB6
)) {
2476 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2478 /* ../lib/standard/kernel.nit:232 */
2479 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB5
));
2481 /* ../lib/standard/collection/array.nit:280 */
2482 REGB6
= TAG_Bool(false);
2485 if (UNTAG_Bool(REGB5
)) {
2487 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
2489 /* ../lib/standard/collection/array.nit:281 */
2490 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
2491 REGB5
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2492 if (UNTAG_Bool(REGB5
)) {
2493 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
2495 /* ../lib/standard/collection/array.nit:718 */
2496 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB4
)];
2497 /* ../lib/standard/collection/array.nit:281 */
2500 /* ../lib/standard/collection/array.nit:396 */
2501 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB2
, fra
.me
.REG
[3]);
2502 /* ../lib/standard/collection/array.nit:397 */
2503 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
, fra
.me
.REG
[2]);
2506 /* ../lib/standard/collection/array.nit:391 */
2511 /* ../lib/standard/collection/array.nit:400 */
2513 /* ../lib/standard/kernel.nit:237 */
2514 REGB3
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB3
));
2515 /* ../lib/standard/collection/array.nit:278 */
2516 fra
.me
.REG
[2] = fra
.me
.REG
[0];
2517 /* ../lib/standard/collection/array.nit:280 */
2519 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
2520 if (UNTAG_Bool(REGB5
)) {
2522 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2524 /* ../lib/standard/kernel.nit:233 */
2525 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
2526 /* ../lib/standard/collection/array.nit:280 */
2527 if (UNTAG_Bool(REGB4
)) {
2528 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2529 if (UNTAG_Bool(REGB4
)) {
2531 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
2533 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2534 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
2535 if (UNTAG_Bool(REGB5
)) {
2537 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2539 /* ../lib/standard/kernel.nit:232 */
2540 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
2542 /* ../lib/standard/collection/array.nit:280 */
2543 REGB5
= TAG_Bool(false);
2546 if (UNTAG_Bool(REGB4
)) {
2548 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
2550 /* ../lib/standard/collection/array.nit:281 */
2551 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
2552 REGB4
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2553 if (UNTAG_Bool(REGB4
)) {
2554 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
2556 /* ../lib/standard/collection/array.nit:718 */
2557 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB3
)];
2558 /* ../lib/standard/collection/array.nit:281 */
2561 /* ../lib/standard/collection/array.nit:400 */
2562 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[2]);
2563 /* ../lib/standard/collection/array.nit:401 */
2565 /* ../lib/standard/kernel.nit:237 */
2566 REGB3
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB3
));
2567 /* ../lib/standard/collection/array.nit:401 */
2568 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
, fra
.me
.REG
[1]);
2569 /* ../lib/standard/collection/array.nit:402 */
2571 /* ../lib/standard/kernel.nit:237 */
2572 REGB3
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB3
));
2573 CALL_standard___collection___array___Array___sub_sort(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB3
, (&(fra
.me
)), ((fun_t
)OC_standard___collection___array___Array___sub_sort_11
));
2574 switch ((&(fra
.me
))->has_broke
) {
2576 case 1: (&(fra
.me
))->has_broke
= 0; goto label1
;
2578 CALL_standard___collection___array___Array___sub_sort(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB2
, REGB1
, (&(fra
.me
)), ((fun_t
)OC_standard___collection___array___Array___sub_sort_13
));
2579 switch ((&(fra
.me
))->has_broke
) {
2581 case 1: (&(fra
.me
))->has_broke
= 0; goto label1
;
2584 /* ../lib/standard/collection/array.nit:406 */
2586 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2587 if (UNTAG_Bool(REGB2
)) {
2589 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2591 /* ../lib/standard/kernel.nit:232 */
2592 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2593 /* ../lib/standard/collection/array.nit:406 */
2594 if (UNTAG_Bool(REGB2
)) {
2595 /* ../lib/standard/collection/array.nit:407 */
2597 /* ../lib/standard/collection/array.nit:278 */
2598 fra
.me
.REG
[1] = fra
.me
.REG
[0];
2600 /* ../lib/standard/collection/array.nit:280 */
2602 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
2603 if (UNTAG_Bool(REGB5
)) {
2605 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2607 /* ../lib/standard/kernel.nit:233 */
2608 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
2609 /* ../lib/standard/collection/array.nit:280 */
2610 if (UNTAG_Bool(REGB4
)) {
2611 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
2612 if (UNTAG_Bool(REGB4
)) {
2614 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
2616 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
2617 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
2618 if (UNTAG_Bool(REGB5
)) {
2620 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2622 /* ../lib/standard/kernel.nit:232 */
2623 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
2625 /* ../lib/standard/collection/array.nit:280 */
2626 REGB5
= TAG_Bool(false);
2629 if (UNTAG_Bool(REGB4
)) {
2631 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
2633 /* ../lib/standard/collection/array.nit:281 */
2634 fra
.me
.REG
[1] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
2635 REGB4
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2636 if (UNTAG_Bool(REGB4
)) {
2637 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
2639 /* ../lib/standard/collection/array.nit:718 */
2640 fra
.me
.REG
[1] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB3
)];
2641 /* ../lib/standard/collection/array.nit:281 */
2644 /* ../lib/standard/collection/array.nit:409 */
2646 /* ../lib/standard/collection/array.nit:410 */
2648 REGB4
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
2649 if (UNTAG_Bool(REGB4
)) {
2651 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2653 /* ../lib/standard/kernel.nit:231 */
2654 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<=UNTAG_Int(REGB1
));
2655 /* ../lib/standard/collection/array.nit:410 */
2656 if (UNTAG_Bool(REGB4
)) {
2657 /* ../lib/standard/collection/array.nit:278 */
2658 fra
.me
.REG
[2] = fra
.me
.REG
[0];
2660 /* ../lib/standard/collection/array.nit:280 */
2662 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
2663 if (UNTAG_Bool(REGB6
)) {
2665 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2667 /* ../lib/standard/kernel.nit:233 */
2668 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB5
));
2669 /* ../lib/standard/collection/array.nit:280 */
2670 if (UNTAG_Bool(REGB5
)) {
2671 REGB5
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2672 if (UNTAG_Bool(REGB5
)) {
2674 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
2676 REGB5
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2677 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
2678 if (UNTAG_Bool(REGB6
)) {
2680 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2682 /* ../lib/standard/kernel.nit:232 */
2683 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB5
));
2685 /* ../lib/standard/collection/array.nit:280 */
2686 REGB6
= TAG_Bool(false);
2689 if (UNTAG_Bool(REGB5
)) {
2691 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
2693 /* ../lib/standard/collection/array.nit:281 */
2694 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
2695 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2696 if (UNTAG_Bool(REGB5
)) {
2697 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
2699 /* ../lib/standard/collection/array.nit:718 */
2700 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB4
)];
2701 /* ../lib/standard/collection/array.nit:281 */
2704 /* ../lib/standard/collection/array.nit:411 */
2705 REGB4
= ((val_t (*)(struct stack_frame_t
*, val_t
, val_t
))(CREG
[0]))(closctx_param
, fra
.me
.REG
[1], fra
.me
.REG
[2]);
2706 if (closctx_param
->has_broke
) {
2710 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
2711 if (UNTAG_Bool(REGB6
)) {
2713 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2715 /* ../lib/standard/kernel.nit:234 */
2716 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)>UNTAG_Int(REGB5
));
2717 /* ../lib/standard/collection/array.nit:411 */
2718 if (UNTAG_Bool(REGB5
)) {
2719 /* ../lib/standard/collection/array.nit:412 */
2721 /* ../lib/standard/collection/array.nit:278 */
2722 fra
.me
.REG
[2] = fra
.me
.REG
[0];
2724 /* ../lib/standard/collection/array.nit:280 */
2726 REGB6
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
2727 if (UNTAG_Bool(REGB6
)) {
2729 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2731 /* ../lib/standard/kernel.nit:233 */
2732 REGB4
= TAG_Bool(UNTAG_Int(REGB5
)>=UNTAG_Int(REGB4
));
2733 /* ../lib/standard/collection/array.nit:280 */
2734 if (UNTAG_Bool(REGB4
)) {
2735 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2736 if (UNTAG_Bool(REGB4
)) {
2738 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
2740 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2741 REGB6
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
2742 if (UNTAG_Bool(REGB6
)) {
2744 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2746 /* ../lib/standard/kernel.nit:232 */
2747 REGB4
= TAG_Bool(UNTAG_Int(REGB5
)<UNTAG_Int(REGB4
));
2749 /* ../lib/standard/collection/array.nit:280 */
2750 REGB6
= TAG_Bool(false);
2753 if (UNTAG_Bool(REGB4
)) {
2755 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
2757 /* ../lib/standard/collection/array.nit:281 */
2758 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
2759 REGB4
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2760 if (UNTAG_Bool(REGB4
)) {
2761 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
2763 /* ../lib/standard/collection/array.nit:718 */
2764 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB5
)];
2765 /* ../lib/standard/collection/array.nit:281 */
2768 /* ../lib/standard/collection/array.nit:413 */
2769 fra
.me
.REG
[1] = fra
.me
.REG
[2];
2771 /* ../lib/standard/collection/array.nit:415 */
2773 /* ../lib/standard/kernel.nit:235 */
2774 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB5
));
2775 /* ../lib/standard/collection/array.nit:415 */
2778 /* ../lib/standard/collection/array.nit:410 */
2783 /* ../lib/standard/collection/array.nit:417 */
2784 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB0
));
2785 if (UNTAG_Bool(REGB3
)) {
2787 /* ../lib/standard/kernel.nit:227 */
2788 REGB5
= TAG_Bool((REGB2
)==(REGB0
));
2789 /* ../lib/standard/collection/array.nit:417 */
2792 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
2793 if (UNTAG_Bool(REGB3
)) {
2794 /* ../lib/standard/collection/array.nit:278 */
2795 fra
.me
.REG
[2] = fra
.me
.REG
[0];
2797 /* ../lib/standard/collection/array.nit:280 */
2799 REGB4
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
2800 if (UNTAG_Bool(REGB4
)) {
2802 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2804 /* ../lib/standard/kernel.nit:233 */
2805 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB5
));
2806 /* ../lib/standard/collection/array.nit:280 */
2807 if (UNTAG_Bool(REGB5
)) {
2808 REGB5
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2809 if (UNTAG_Bool(REGB5
)) {
2811 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
2813 REGB5
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2814 REGB4
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
2815 if (UNTAG_Bool(REGB4
)) {
2817 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2819 /* ../lib/standard/kernel.nit:232 */
2820 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB5
));
2822 /* ../lib/standard/collection/array.nit:280 */
2823 REGB4
= TAG_Bool(false);
2826 if (UNTAG_Bool(REGB5
)) {
2828 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
2830 /* ../lib/standard/collection/array.nit:281 */
2831 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
2832 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2833 if (UNTAG_Bool(REGB5
)) {
2834 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
2836 /* ../lib/standard/collection/array.nit:718 */
2837 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB3
)];
2838 /* ../lib/standard/collection/array.nit:281 */
2841 /* ../lib/standard/collection/array.nit:418 */
2842 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB2
, fra
.me
.REG
[2]);
2843 /* ../lib/standard/collection/array.nit:419 */
2844 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[1]);
2846 /* ../lib/standard/collection/array.nit:421 */
2848 /* ../lib/standard/kernel.nit:235 */
2849 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2850 /* ../lib/standard/collection/array.nit:421 */
2853 /* ../lib/standard/collection/array.nit:406 */
2861 stack_frame_head
= fra
.me
.prev
;
2864 val_t
OC_standard___collection___array___Array___sub_sort_11(struct stack_frame_t
*closctx
, val_t p0
, val_t p1
){
2865 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2868 /* ../lib/standard/collection/array.nit:402 */
2869 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2870 fra
.me
.file
= LOCATE_standard___collection___array
;
2872 fra
.me
.meth
= LOCATE_standard___collection___array___Array___sub_sort
;
2873 fra
.me
.has_broke
= 0;
2874 fra
.me
.REG_size
= 2;
2875 fra
.me
.nitni_local_ref_head
= NULL
;
2876 fra
.me
.REG
[0] = NIT_NULL
;
2877 fra
.me
.REG
[1] = NIT_NULL
;
2880 REGB0
= ((val_t (*)(struct stack_frame_t
*, val_t
, val_t
))(closctx
->closure_funs
[0]))(closctx
->closure_ctx
, fra
.me
.REG
[0], fra
.me
.REG
[1]);
2881 if (closctx
->closure_ctx
->has_broke
) {
2882 closctx
->has_broke
= 1;
2887 stack_frame_head
= fra
.me
.prev
;
2890 val_t
OC_standard___collection___array___Array___sub_sort_13(struct stack_frame_t
*closctx
, val_t p0
, val_t p1
){
2891 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2894 /* ../lib/standard/collection/array.nit:403 */
2895 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2896 fra
.me
.file
= LOCATE_standard___collection___array
;
2898 fra
.me
.meth
= LOCATE_standard___collection___array___Array___sub_sort
;
2899 fra
.me
.has_broke
= 0;
2900 fra
.me
.REG_size
= 2;
2901 fra
.me
.nitni_local_ref_head
= NULL
;
2902 fra
.me
.REG
[0] = NIT_NULL
;
2903 fra
.me
.REG
[1] = NIT_NULL
;
2906 REGB0
= ((val_t (*)(struct stack_frame_t
*, val_t
, val_t
))(closctx
->closure_funs
[0]))(closctx
->closure_ctx
, fra
.me
.REG
[0], fra
.me
.REG
[1]);
2907 if (closctx
->closure_ctx
->has_broke
) {
2908 closctx
->has_broke
= 1;
2913 stack_frame_head
= fra
.me
.prev
;
2916 val_t
standard___collection___array___ArrayIterator___item(val_t p0
){
2917 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2920 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2921 fra
.me
.file
= LOCATE_standard___collection___array
;
2923 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayIterator___item
;
2924 fra
.me
.has_broke
= 0;
2925 fra
.me
.REG_size
= 2;
2926 fra
.me
.nitni_local_ref_head
= NULL
;
2927 fra
.me
.REG
[0] = NIT_NULL
;
2928 fra
.me
.REG
[1] = NIT_NULL
;
2930 /* ../lib/standard/collection/array.nit:431 */
2931 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayIterator____array(fra
.me
.REG
[0])!=NIT_NULL
);
2932 if (UNTAG_Bool(REGB0
)) {
2934 nit_abort("Uninitialized attribute %s", "_array", LOCATE_standard___collection___array
, 431);
2936 fra
.me
.REG
[1] = ATTR_standard___collection___array___ArrayIterator____array(fra
.me
.REG
[0]);
2937 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayIterator____index(fra
.me
.REG
[0])!=NIT_NULL
);
2938 if (UNTAG_Bool(REGB0
)) {
2940 nit_abort("Uninitialized attribute %s", "_index", LOCATE_standard___collection___array
, 431);
2942 REGB0
= ATTR_standard___collection___array___ArrayIterator____index(fra
.me
.REG
[0]);
2943 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
2946 stack_frame_head
= fra
.me
.prev
;
2947 return fra
.me
.REG
[1];
2949 val_t
standard___collection___array___ArrayIterator___is_ok(val_t p0
){
2950 struct {struct stack_frame_t me
;} fra
;
2955 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2956 fra
.me
.file
= LOCATE_standard___collection___array
;
2958 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayIterator___is_ok
;
2959 fra
.me
.has_broke
= 0;
2960 fra
.me
.REG_size
= 1;
2961 fra
.me
.nitni_local_ref_head
= NULL
;
2962 fra
.me
.REG
[0] = NIT_NULL
;
2964 /* ../lib/standard/collection/array.nit:435 */
2965 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayIterator____index(fra
.me
.REG
[0])!=NIT_NULL
);
2966 if (UNTAG_Bool(REGB0
)) {
2968 nit_abort("Uninitialized attribute %s", "_index", LOCATE_standard___collection___array
, 435);
2970 REGB0
= ATTR_standard___collection___array___ArrayIterator____index(fra
.me
.REG
[0]);
2971 REGB1
= TAG_Bool(ATTR_standard___collection___array___ArrayIterator____array(fra
.me
.REG
[0])!=NIT_NULL
);
2972 if (UNTAG_Bool(REGB1
)) {
2974 nit_abort("Uninitialized attribute %s", "_array", LOCATE_standard___collection___array
, 435);
2976 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArrayIterator____array(fra
.me
.REG
[0]);
2977 /* ../lib/standard/collection/array.nit:24 */
2978 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2979 if (UNTAG_Bool(REGB1
)) {
2981 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2983 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2984 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2985 if (UNTAG_Bool(REGB2
)) {
2987 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2989 /* ../lib/standard/kernel.nit:232 */
2990 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2991 /* ../lib/standard/collection/array.nit:435 */
2994 stack_frame_head
= fra
.me
.prev
;
2997 void standard___collection___array___ArrayIterator___next(val_t p0
){
2998 struct {struct stack_frame_t me
;} fra
;
3002 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3003 fra
.me
.file
= LOCATE_standard___collection___array
;
3005 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayIterator___next
;
3006 fra
.me
.has_broke
= 0;
3007 fra
.me
.REG_size
= 1;
3008 fra
.me
.nitni_local_ref_head
= NULL
;
3009 fra
.me
.REG
[0] = NIT_NULL
;
3011 /* ../lib/standard/collection/array.nit:437 */
3012 REGB0
= ATTR_standard___collection___array___ArrayIterator____index(fra
.me
.REG
[0]);
3014 /* ../lib/standard/kernel.nit:235 */
3015 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
3016 /* ../lib/standard/collection/array.nit:437 */
3017 ATTR_standard___collection___array___ArrayIterator____index(fra
.me
.REG
[0]) = REGB1
;
3018 stack_frame_head
= fra
.me
.prev
;
3021 void standard___collection___array___ArrayIterator___init(val_t p0
, val_t p1
, int* init_table
){
3022 int itpos6
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___array___ArrayIterator
].i
;
3023 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3026 if (init_table
[itpos6
]) return;
3027 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3028 fra
.me
.file
= LOCATE_standard___collection___array
;
3030 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayIterator___init
;
3031 fra
.me
.has_broke
= 0;
3032 fra
.me
.REG_size
= 2;
3033 fra
.me
.nitni_local_ref_head
= NULL
;
3034 fra
.me
.REG
[0] = NIT_NULL
;
3035 fra
.me
.REG
[1] = NIT_NULL
;
3038 /* ../lib/standard/collection/array.nit:441 */
3039 ATTR_standard___collection___array___ArrayIterator____array(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
3040 /* ../lib/standard/collection/array.nit:442 */
3042 ATTR_standard___collection___array___ArrayIterator____index(fra
.me
.REG
[0]) = REGB0
;
3043 stack_frame_head
= fra
.me
.prev
;
3044 init_table
[itpos6
] = 1;
3047 val_t
standard___collection___array___ArrayIterator___index(val_t p0
){
3048 struct {struct stack_frame_t me
;} fra
;
3051 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3052 fra
.me
.file
= LOCATE_standard___collection___array
;
3054 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayIterator___index
;
3055 fra
.me
.has_broke
= 0;
3056 fra
.me
.REG_size
= 1;
3057 fra
.me
.nitni_local_ref_head
= NULL
;
3058 fra
.me
.REG
[0] = NIT_NULL
;
3060 /* ../lib/standard/collection/array.nit:445 */
3061 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayIterator____index(fra
.me
.REG
[0])!=NIT_NULL
);
3062 if (UNTAG_Bool(REGB0
)) {
3064 nit_abort("Uninitialized attribute %s", "_index", LOCATE_standard___collection___array
, 445);
3066 REGB0
= ATTR_standard___collection___array___ArrayIterator____index(fra
.me
.REG
[0]);
3067 stack_frame_head
= fra
.me
.prev
;
3070 val_t
standard___collection___array___ArraySet___has(val_t p0
, val_t p1
){
3071 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3074 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3075 fra
.me
.file
= LOCATE_standard___collection___array
;
3077 fra
.me
.meth
= LOCATE_standard___collection___array___ArraySet___has
;
3078 fra
.me
.has_broke
= 0;
3079 fra
.me
.REG_size
= 2;
3080 fra
.me
.nitni_local_ref_head
= NULL
;
3081 fra
.me
.REG
[0] = NIT_NULL
;
3082 fra
.me
.REG
[1] = NIT_NULL
;
3085 /* ../lib/standard/collection/array.nit:458 */
3086 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0])!=NIT_NULL
);
3087 if (UNTAG_Bool(REGB0
)) {
3089 nit_abort("Uninitialized attribute %s", "_array", LOCATE_standard___collection___array
, 458);
3091 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0]);
3092 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3095 stack_frame_head
= fra
.me
.prev
;
3098 void standard___collection___array___ArraySet___add(val_t p0
, val_t p1
){
3099 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
3102 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3103 fra
.me
.file
= LOCATE_standard___collection___array
;
3105 fra
.me
.meth
= LOCATE_standard___collection___array___ArraySet___add
;
3106 fra
.me
.has_broke
= 0;
3107 fra
.me
.REG_size
= 3;
3108 fra
.me
.nitni_local_ref_head
= NULL
;
3109 fra
.me
.REG
[0] = NIT_NULL
;
3110 fra
.me
.REG
[1] = NIT_NULL
;
3111 fra
.me
.REG
[2] = NIT_NULL
;
3114 /* ../lib/standard/collection/array.nit:460 */
3115 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0])!=NIT_NULL
);
3116 if (UNTAG_Bool(REGB0
)) {
3118 nit_abort("Uninitialized attribute %s", "_array", LOCATE_standard___collection___array
, 460);
3120 fra
.me
.REG
[2] = ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0]);
3121 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
3122 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3123 if (UNTAG_Bool(REGB0
)) {
3124 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0])!=NIT_NULL
);
3125 if (UNTAG_Bool(REGB0
)) {
3127 nit_abort("Uninitialized attribute %s", "_array", LOCATE_standard___collection___array
, 460);
3129 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0]);
3130 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3132 stack_frame_head
= fra
.me
.prev
;
3135 val_t
standard___collection___array___ArraySet___is_empty(val_t p0
){
3136 struct {struct stack_frame_t me
;} fra
;
3139 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3140 fra
.me
.file
= LOCATE_standard___collection___array
;
3142 fra
.me
.meth
= LOCATE_standard___collection___array___ArraySet___is_empty
;
3143 fra
.me
.has_broke
= 0;
3144 fra
.me
.REG_size
= 1;
3145 fra
.me
.nitni_local_ref_head
= NULL
;
3146 fra
.me
.REG
[0] = NIT_NULL
;
3148 /* ../lib/standard/collection/array.nit:462 */
3149 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0])!=NIT_NULL
);
3150 if (UNTAG_Bool(REGB0
)) {
3152 nit_abort("Uninitialized attribute %s", "_array", LOCATE_standard___collection___array
, 462);
3154 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0]);
3155 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3158 stack_frame_head
= fra
.me
.prev
;
3161 val_t
standard___collection___array___ArraySet___length(val_t p0
){
3162 struct {struct stack_frame_t me
;} fra
;
3165 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3166 fra
.me
.file
= LOCATE_standard___collection___array
;
3168 fra
.me
.meth
= LOCATE_standard___collection___array___ArraySet___length
;
3169 fra
.me
.has_broke
= 0;
3170 fra
.me
.REG_size
= 1;
3171 fra
.me
.nitni_local_ref_head
= NULL
;
3172 fra
.me
.REG
[0] = NIT_NULL
;
3174 /* ../lib/standard/collection/array.nit:464 */
3175 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0])!=NIT_NULL
);
3176 if (UNTAG_Bool(REGB0
)) {
3178 nit_abort("Uninitialized attribute %s", "_array", LOCATE_standard___collection___array
, 464);
3180 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0]);
3181 /* ../lib/standard/collection/array.nit:24 */
3182 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3183 if (UNTAG_Bool(REGB0
)) {
3185 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3187 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3188 /* ../lib/standard/collection/array.nit:464 */
3191 stack_frame_head
= fra
.me
.prev
;
3194 val_t
standard___collection___array___ArraySet___first(val_t p0
){
3195 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3200 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3201 fra
.me
.file
= LOCATE_standard___collection___array
;
3203 fra
.me
.meth
= LOCATE_standard___collection___array___ArraySet___first
;
3204 fra
.me
.has_broke
= 0;
3205 fra
.me
.REG_size
= 2;
3206 fra
.me
.nitni_local_ref_head
= NULL
;
3207 fra
.me
.REG
[0] = NIT_NULL
;
3208 fra
.me
.REG
[1] = NIT_NULL
;
3210 /* ../lib/standard/collection/array.nit:468 */
3211 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0])!=NIT_NULL
);
3212 if (UNTAG_Bool(REGB0
)) {
3214 nit_abort("Uninitialized attribute %s", "_array", LOCATE_standard___collection___array
, 468);
3216 fra
.me
.REG
[1] = ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0]);
3217 /* ../lib/standard/collection/array.nit:24 */
3218 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
3219 if (UNTAG_Bool(REGB0
)) {
3221 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3223 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
3224 /* ../lib/standard/collection/array.nit:468 */
3226 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
3227 if (UNTAG_Bool(REGB2
)) {
3229 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3231 /* ../lib/standard/kernel.nit:234 */
3232 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
3233 /* ../lib/standard/collection/array.nit:468 */
3234 if (UNTAG_Bool(REGB1
)) {
3236 nit_abort("Assert failed", NULL
, LOCATE_standard___collection___array
, 468);
3238 /* ../lib/standard/collection/array.nit:469 */
3239 REGB1
= TAG_Bool(ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0])!=NIT_NULL
);
3240 if (UNTAG_Bool(REGB1
)) {
3242 nit_abort("Uninitialized attribute %s", "_array", LOCATE_standard___collection___array
, 469);
3244 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0]);
3245 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3248 stack_frame_head
= fra
.me
.prev
;
3249 return fra
.me
.REG
[0];
3251 void standard___collection___array___ArraySet___remove(val_t p0
, val_t p1
){
3252 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
3257 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3258 fra
.me
.file
= LOCATE_standard___collection___array
;
3260 fra
.me
.meth
= LOCATE_standard___collection___array___ArraySet___remove
;
3261 fra
.me
.has_broke
= 0;
3262 fra
.me
.REG_size
= 3;
3263 fra
.me
.nitni_local_ref_head
= NULL
;
3264 fra
.me
.REG
[0] = NIT_NULL
;
3265 fra
.me
.REG
[1] = NIT_NULL
;
3266 fra
.me
.REG
[2] = NIT_NULL
;
3269 /* ../lib/standard/collection/array.nit:474 */
3270 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0])!=NIT_NULL
);
3271 if (UNTAG_Bool(REGB0
)) {
3273 nit_abort("Uninitialized attribute %s", "_array", LOCATE_standard___collection___array
, 474);
3275 fra
.me
.REG
[2] = ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0]);
3276 REGB0
= CALL_standard___collection___abstract_collection___SequenceRead___index_of(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
3277 /* ../lib/standard/collection/array.nit:475 */
3279 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
3280 if (UNTAG_Bool(REGB2
)) {
3282 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3284 /* ../lib/standard/kernel.nit:233 */
3285 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
3286 /* ../lib/standard/collection/array.nit:475 */
3287 if (UNTAG_Bool(REGB1
)) {
3288 CALL_standard___collection___array___ArraySet___remove_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
3290 stack_frame_head
= fra
.me
.prev
;
3293 void standard___collection___array___ArraySet___remove_all(val_t p0
, val_t p1
){
3294 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3296 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3297 fra
.me
.file
= LOCATE_standard___collection___array
;
3299 fra
.me
.meth
= LOCATE_standard___collection___array___ArraySet___remove_all
;
3300 fra
.me
.has_broke
= 0;
3301 fra
.me
.REG_size
= 2;
3302 fra
.me
.nitni_local_ref_head
= NULL
;
3303 fra
.me
.REG
[0] = NIT_NULL
;
3304 fra
.me
.REG
[1] = NIT_NULL
;
3307 /* ../lib/standard/collection/array.nit:478 */
3308 CALL_standard___collection___abstract_collection___RemovableCollection___remove(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3309 stack_frame_head
= fra
.me
.prev
;
3312 void standard___collection___array___ArraySet___clear(val_t p0
){
3313 struct {struct stack_frame_t me
;} fra
;
3316 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3317 fra
.me
.file
= LOCATE_standard___collection___array
;
3319 fra
.me
.meth
= LOCATE_standard___collection___array___ArraySet___clear
;
3320 fra
.me
.has_broke
= 0;
3321 fra
.me
.REG_size
= 1;
3322 fra
.me
.nitni_local_ref_head
= NULL
;
3323 fra
.me
.REG
[0] = NIT_NULL
;
3325 /* ../lib/standard/collection/array.nit:480 */
3326 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0])!=NIT_NULL
);
3327 if (UNTAG_Bool(REGB0
)) {
3329 nit_abort("Uninitialized attribute %s", "_array", LOCATE_standard___collection___array
, 480);
3331 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0]);
3332 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3333 stack_frame_head
= fra
.me
.prev
;
3336 val_t
standard___collection___array___ArraySet___iterator(val_t p0
){
3337 struct {struct stack_frame_t me
;} fra
;
3340 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3341 fra
.me
.file
= LOCATE_standard___collection___array
;
3343 fra
.me
.meth
= LOCATE_standard___collection___array___ArraySet___iterator
;
3344 fra
.me
.has_broke
= 0;
3345 fra
.me
.REG_size
= 1;
3346 fra
.me
.nitni_local_ref_head
= NULL
;
3347 fra
.me
.REG
[0] = NIT_NULL
;
3349 /* ../lib/standard/collection/array.nit:482 */
3350 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0])!=NIT_NULL
);
3351 if (UNTAG_Bool(REGB0
)) {
3353 nit_abort("Uninitialized attribute %s", "_array", LOCATE_standard___collection___array
, 482);
3355 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0]);
3356 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3357 fra
.me
.REG
[0] = NEW_ArraySetIterator_standard___collection___array___ArraySetIterator___init(fra
.me
.REG
[0]);
3360 stack_frame_head
= fra
.me
.prev
;
3361 return fra
.me
.REG
[0];
3363 void standard___collection___array___ArraySet___enlarge(val_t p0
, val_t p1
){
3364 struct {struct stack_frame_t me
;} fra
;
3368 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3369 fra
.me
.file
= LOCATE_standard___collection___array
;
3371 fra
.me
.meth
= LOCATE_standard___collection___array___ArraySet___enlarge
;
3372 fra
.me
.has_broke
= 0;
3373 fra
.me
.REG_size
= 1;
3374 fra
.me
.nitni_local_ref_head
= NULL
;
3375 fra
.me
.REG
[0] = NIT_NULL
;
3378 /* ../lib/standard/collection/array.nit:485 */
3379 REGB1
= TAG_Bool(ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0])!=NIT_NULL
);
3380 if (UNTAG_Bool(REGB1
)) {
3382 nit_abort("Uninitialized attribute %s", "_array", LOCATE_standard___collection___array
, 485);
3384 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0]);
3385 CALL_standard___collection___array___AbstractArray___enlarge(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
3386 stack_frame_head
= fra
.me
.prev
;
3389 void standard___collection___array___ArraySet___remove_at(val_t p0
, val_t p1
){
3390 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
3394 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3395 fra
.me
.file
= LOCATE_standard___collection___array
;
3397 fra
.me
.meth
= LOCATE_standard___collection___array___ArraySet___remove_at
;
3398 fra
.me
.has_broke
= 0;
3399 fra
.me
.REG_size
= 3;
3400 fra
.me
.nitni_local_ref_head
= NULL
;
3401 fra
.me
.REG
[0] = NIT_NULL
;
3402 fra
.me
.REG
[1] = NIT_NULL
;
3403 fra
.me
.REG
[2] = NIT_NULL
;
3406 /* ../lib/standard/collection/array.nit:489 */
3407 REGB1
= TAG_Bool(ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0])!=NIT_NULL
);
3408 if (UNTAG_Bool(REGB1
)) {
3410 nit_abort("Uninitialized attribute %s", "_array", LOCATE_standard___collection___array
, 489);
3412 fra
.me
.REG
[1] = ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0]);
3413 REGB1
= TAG_Bool(ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0])!=NIT_NULL
);
3414 if (UNTAG_Bool(REGB1
)) {
3416 nit_abort("Uninitialized attribute %s", "_array", LOCATE_standard___collection___array
, 489);
3418 fra
.me
.REG
[2] = ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0]);
3419 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___SequenceRead___last(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3420 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
, fra
.me
.REG
[2]);
3421 /* ../lib/standard/collection/array.nit:490 */
3422 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0])!=NIT_NULL
);
3423 if (UNTAG_Bool(REGB0
)) {
3425 nit_abort("Uninitialized attribute %s", "_array", LOCATE_standard___collection___array
, 490);
3427 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0]);
3428 CALL_standard___collection___abstract_collection___Sequence___pop(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3429 stack_frame_head
= fra
.me
.prev
;
3432 void standard___collection___array___ArraySet___init(val_t p0
, int* init_table
){
3433 int itpos7
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___array___ArraySet
].i
;
3434 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3436 if (init_table
[itpos7
]) return;
3437 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3438 fra
.me
.file
= LOCATE_standard___collection___array
;
3440 fra
.me
.meth
= LOCATE_standard___collection___array___ArraySet___init
;
3441 fra
.me
.has_broke
= 0;
3442 fra
.me
.REG_size
= 2;
3443 fra
.me
.nitni_local_ref_head
= NULL
;
3444 fra
.me
.REG
[0] = NIT_NULL
;
3445 fra
.me
.REG
[1] = NIT_NULL
;
3447 /* ../lib/standard/collection/array.nit:494 */
3448 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
3449 ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
3450 stack_frame_head
= fra
.me
.prev
;
3451 init_table
[itpos7
] = 1;
3454 void standard___collection___array___ArraySet___with_capacity(val_t p0
, val_t p1
, int* init_table
){
3455 int itpos8
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___array___ArraySet
].i
;
3456 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3459 if (init_table
[itpos8
]) return;
3460 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3461 fra
.me
.file
= LOCATE_standard___collection___array
;
3463 fra
.me
.meth
= LOCATE_standard___collection___array___ArraySet___with_capacity
;
3464 fra
.me
.has_broke
= 0;
3465 fra
.me
.REG_size
= 2;
3466 fra
.me
.nitni_local_ref_head
= NULL
;
3467 fra
.me
.REG
[0] = NIT_NULL
;
3468 fra
.me
.REG
[1] = NIT_NULL
;
3471 /* ../lib/standard/collection/array.nit:497 */
3472 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3473 ATTR_standard___collection___array___ArraySet____array(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
3474 stack_frame_head
= fra
.me
.prev
;
3475 init_table
[itpos8
] = 1;
3478 val_t
standard___collection___array___ArraySetIterator___is_ok(val_t p0
){
3479 struct {struct stack_frame_t me
;} fra
;
3482 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3483 fra
.me
.file
= LOCATE_standard___collection___array
;
3485 fra
.me
.meth
= LOCATE_standard___collection___array___ArraySetIterator___is_ok
;
3486 fra
.me
.has_broke
= 0;
3487 fra
.me
.REG_size
= 1;
3488 fra
.me
.nitni_local_ref_head
= NULL
;
3489 fra
.me
.REG
[0] = NIT_NULL
;
3491 /* ../lib/standard/collection/array.nit:504 */
3492 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArraySetIterator____iter(fra
.me
.REG
[0])!=NIT_NULL
);
3493 if (UNTAG_Bool(REGB0
)) {
3495 nit_abort("Uninitialized attribute %s", "_iter", LOCATE_standard___collection___array
, 504);
3497 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArraySetIterator____iter(fra
.me
.REG
[0]);
3498 REGB0
= CALL_standard___collection___abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3501 stack_frame_head
= fra
.me
.prev
;
3504 void standard___collection___array___ArraySetIterator___next(val_t p0
){
3505 struct {struct stack_frame_t me
;} fra
;
3508 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3509 fra
.me
.file
= LOCATE_standard___collection___array
;
3511 fra
.me
.meth
= LOCATE_standard___collection___array___ArraySetIterator___next
;
3512 fra
.me
.has_broke
= 0;
3513 fra
.me
.REG_size
= 1;
3514 fra
.me
.nitni_local_ref_head
= NULL
;
3515 fra
.me
.REG
[0] = NIT_NULL
;
3517 /* ../lib/standard/collection/array.nit:506 */
3518 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArraySetIterator____iter(fra
.me
.REG
[0])!=NIT_NULL
);
3519 if (UNTAG_Bool(REGB0
)) {
3521 nit_abort("Uninitialized attribute %s", "_iter", LOCATE_standard___collection___array
, 506);
3523 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArraySetIterator____iter(fra
.me
.REG
[0]);
3524 CALL_standard___collection___abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3525 stack_frame_head
= fra
.me
.prev
;
3528 val_t
standard___collection___array___ArraySetIterator___item(val_t p0
){
3529 struct {struct stack_frame_t me
;} fra
;
3532 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3533 fra
.me
.file
= LOCATE_standard___collection___array
;
3535 fra
.me
.meth
= LOCATE_standard___collection___array___ArraySetIterator___item
;
3536 fra
.me
.has_broke
= 0;
3537 fra
.me
.REG_size
= 1;
3538 fra
.me
.nitni_local_ref_head
= NULL
;
3539 fra
.me
.REG
[0] = NIT_NULL
;
3541 /* ../lib/standard/collection/array.nit:508 */
3542 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArraySetIterator____iter(fra
.me
.REG
[0])!=NIT_NULL
);
3543 if (UNTAG_Bool(REGB0
)) {
3545 nit_abort("Uninitialized attribute %s", "_iter", LOCATE_standard___collection___array
, 508);
3547 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArraySetIterator____iter(fra
.me
.REG
[0]);
3548 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3551 stack_frame_head
= fra
.me
.prev
;
3552 return fra
.me
.REG
[0];
3554 void standard___collection___array___ArraySetIterator___init(val_t p0
, val_t p1
, int* init_table
){
3555 int itpos9
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___array___ArraySetIterator
].i
;
3556 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3558 if (init_table
[itpos9
]) return;
3559 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3560 fra
.me
.file
= LOCATE_standard___collection___array
;
3562 fra
.me
.meth
= LOCATE_standard___collection___array___ArraySetIterator___init
;
3563 fra
.me
.has_broke
= 0;
3564 fra
.me
.REG_size
= 2;
3565 fra
.me
.nitni_local_ref_head
= NULL
;
3566 fra
.me
.REG
[0] = NIT_NULL
;
3567 fra
.me
.REG
[1] = NIT_NULL
;
3570 /* ../lib/standard/collection/array.nit:510 */
3571 ATTR_standard___collection___array___ArraySetIterator____iter(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
3572 stack_frame_head
= fra
.me
.prev
;
3573 init_table
[itpos9
] = 1;
3576 val_t
standard___collection___array___ArrayMap_____bra(val_t p0
, val_t p1
){
3577 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3582 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3583 fra
.me
.file
= LOCATE_standard___collection___array
;
3585 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMap_____bra
;
3586 fra
.me
.has_broke
= 0;
3587 fra
.me
.REG_size
= 2;
3588 fra
.me
.nitni_local_ref_head
= NULL
;
3589 fra
.me
.REG
[0] = NIT_NULL
;
3590 fra
.me
.REG
[1] = NIT_NULL
;
3593 /* ../lib/standard/collection/array.nit:523 */
3594 REGB0
= CALL_standard___collection___array___ArrayMap___index(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3595 /* ../lib/standard/collection/array.nit:524 */
3597 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
3598 if (UNTAG_Bool(REGB2
)) {
3600 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3602 /* ../lib/standard/kernel.nit:233 */
3603 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
3604 /* ../lib/standard/collection/array.nit:524 */
3605 if (UNTAG_Bool(REGB1
)) {
3606 /* ../lib/standard/collection/array.nit:525 */
3607 REGB1
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
3608 if (UNTAG_Bool(REGB1
)) {
3610 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 525);
3612 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
3613 /* ../lib/standard/collection/array.nit:280 */
3615 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
3616 if (UNTAG_Bool(REGB2
)) {
3618 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3620 /* ../lib/standard/kernel.nit:233 */
3621 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
3622 /* ../lib/standard/collection/array.nit:280 */
3623 if (UNTAG_Bool(REGB1
)) {
3624 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3625 if (UNTAG_Bool(REGB1
)) {
3627 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
3629 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3630 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
3631 if (UNTAG_Bool(REGB2
)) {
3633 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3635 /* ../lib/standard/kernel.nit:232 */
3636 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
3638 /* ../lib/standard/collection/array.nit:280 */
3639 REGB2
= TAG_Bool(false);
3642 if (UNTAG_Bool(REGB1
)) {
3644 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
3646 /* ../lib/standard/collection/array.nit:281 */
3647 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
3648 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3649 if (UNTAG_Bool(REGB1
)) {
3650 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
3652 /* ../lib/standard/collection/array.nit:718 */
3653 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
3654 /* ../lib/standard/collection/array.nit:281 */
3657 /* ../lib/standard/collection/array.nit:525 */
3658 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3659 if (UNTAG_Bool(REGB0
)) {
3660 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 525);
3662 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Couple___second(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3665 /* ../lib/standard/collection/array.nit:527 */
3666 nit_abort("Aborted", NULL
, LOCATE_standard___collection___array
, 527);
3669 stack_frame_head
= fra
.me
.prev
;
3670 return fra
.me
.REG
[0];
3672 void standard___collection___array___ArrayMap_____braeq(val_t p0
, val_t p1
, val_t p2
){
3673 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3678 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3679 fra
.me
.file
= LOCATE_standard___collection___array
;
3681 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMap_____braeq
;
3682 fra
.me
.has_broke
= 0;
3683 fra
.me
.REG_size
= 4;
3684 fra
.me
.nitni_local_ref_head
= NULL
;
3685 fra
.me
.REG
[0] = NIT_NULL
;
3686 fra
.me
.REG
[1] = NIT_NULL
;
3687 fra
.me
.REG
[2] = NIT_NULL
;
3688 fra
.me
.REG
[3] = NIT_NULL
;
3692 /* ../lib/standard/collection/array.nit:534 */
3693 REGB0
= CALL_standard___collection___array___ArrayMap___index(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3694 /* ../lib/standard/collection/array.nit:535 */
3696 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
3697 if (UNTAG_Bool(REGB2
)) {
3699 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3701 /* ../lib/standard/kernel.nit:233 */
3702 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
3703 /* ../lib/standard/collection/array.nit:535 */
3704 if (UNTAG_Bool(REGB1
)) {
3705 /* ../lib/standard/collection/array.nit:536 */
3706 REGB1
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
3707 if (UNTAG_Bool(REGB1
)) {
3709 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 536);
3711 fra
.me
.REG
[3] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
3712 /* ../lib/standard/collection/array.nit:280 */
3714 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
3715 if (UNTAG_Bool(REGB2
)) {
3717 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3719 /* ../lib/standard/kernel.nit:233 */
3720 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
3721 /* ../lib/standard/collection/array.nit:280 */
3722 if (UNTAG_Bool(REGB1
)) {
3723 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
3724 if (UNTAG_Bool(REGB1
)) {
3726 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
3728 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
3729 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
3730 if (UNTAG_Bool(REGB2
)) {
3732 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3734 /* ../lib/standard/kernel.nit:232 */
3735 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
3737 /* ../lib/standard/collection/array.nit:280 */
3738 REGB2
= TAG_Bool(false);
3741 if (UNTAG_Bool(REGB1
)) {
3743 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
3745 /* ../lib/standard/collection/array.nit:281 */
3746 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
3747 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3748 if (UNTAG_Bool(REGB1
)) {
3749 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
3751 /* ../lib/standard/collection/array.nit:718 */
3752 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
3753 /* ../lib/standard/collection/array.nit:281 */
3756 /* ../lib/standard/collection/array.nit:536 */
3757 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3758 if (UNTAG_Bool(REGB0
)) {
3759 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 536);
3761 CALL_standard___collection___abstract_collection___Couple___second__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3763 /* ../lib/standard/collection/array.nit:538 */
3764 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
3765 if (UNTAG_Bool(REGB0
)) {
3767 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 538);
3769 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
3770 fra
.me
.REG
[2] = NEW_Couple_standard___collection___abstract_collection___Couple___init(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3771 CALL_standard___collection___abstract_collection___Sequence___push(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
3773 stack_frame_head
= fra
.me
.prev
;
3776 val_t
standard___collection___array___ArrayMap___keys(val_t p0
){
3777 struct {struct stack_frame_t me
;} fra
;
3780 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3781 fra
.me
.file
= LOCATE_standard___collection___array
;
3783 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMap___keys
;
3784 fra
.me
.has_broke
= 0;
3785 fra
.me
.REG_size
= 1;
3786 fra
.me
.nitni_local_ref_head
= NULL
;
3787 fra
.me
.REG
[0] = NIT_NULL
;
3789 /* ../lib/standard/collection/array.nit:542 */
3790 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayMap_____atkeys(fra
.me
.REG
[0])!=NIT_NULL
);
3791 if (UNTAG_Bool(REGB0
)) {
3793 nit_abort("Uninitialized attribute %s", "@keys", LOCATE_standard___collection___array
, 542);
3795 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArrayMap_____atkeys(fra
.me
.REG
[0]);
3796 stack_frame_head
= fra
.me
.prev
;
3797 return fra
.me
.REG
[0];
3799 void standard___collection___array___ArrayMap___keys__eq(val_t p0
, val_t p1
){
3800 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3802 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3803 fra
.me
.file
= LOCATE_standard___collection___array
;
3805 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMap___keys__eq
;
3806 fra
.me
.has_broke
= 0;
3807 fra
.me
.REG_size
= 2;
3808 fra
.me
.nitni_local_ref_head
= NULL
;
3809 fra
.me
.REG
[0] = NIT_NULL
;
3810 fra
.me
.REG
[1] = NIT_NULL
;
3813 /* ../lib/standard/collection/array.nit:542 */
3814 ATTR_standard___collection___array___ArrayMap_____atkeys(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
3815 stack_frame_head
= fra
.me
.prev
;
3818 val_t
standard___collection___array___ArrayMap___values(val_t p0
){
3819 struct {struct stack_frame_t me
;} fra
;
3822 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3823 fra
.me
.file
= LOCATE_standard___collection___array
;
3825 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMap___values
;
3826 fra
.me
.has_broke
= 0;
3827 fra
.me
.REG_size
= 1;
3828 fra
.me
.nitni_local_ref_head
= NULL
;
3829 fra
.me
.REG
[0] = NIT_NULL
;
3831 /* ../lib/standard/collection/array.nit:543 */
3832 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayMap_____atvalues(fra
.me
.REG
[0])!=NIT_NULL
);
3833 if (UNTAG_Bool(REGB0
)) {
3835 nit_abort("Uninitialized attribute %s", "@values", LOCATE_standard___collection___array
, 543);
3837 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArrayMap_____atvalues(fra
.me
.REG
[0]);
3838 stack_frame_head
= fra
.me
.prev
;
3839 return fra
.me
.REG
[0];
3841 void standard___collection___array___ArrayMap___values__eq(val_t p0
, val_t p1
){
3842 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3844 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3845 fra
.me
.file
= LOCATE_standard___collection___array
;
3847 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMap___values__eq
;
3848 fra
.me
.has_broke
= 0;
3849 fra
.me
.REG_size
= 2;
3850 fra
.me
.nitni_local_ref_head
= NULL
;
3851 fra
.me
.REG
[0] = NIT_NULL
;
3852 fra
.me
.REG
[1] = NIT_NULL
;
3855 /* ../lib/standard/collection/array.nit:543 */
3856 ATTR_standard___collection___array___ArrayMap_____atvalues(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
3857 stack_frame_head
= fra
.me
.prev
;
3860 val_t
standard___collection___array___ArrayMap___length(val_t p0
){
3861 struct {struct stack_frame_t me
;} fra
;
3864 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3865 fra
.me
.file
= LOCATE_standard___collection___array
;
3867 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMap___length
;
3868 fra
.me
.has_broke
= 0;
3869 fra
.me
.REG_size
= 1;
3870 fra
.me
.nitni_local_ref_head
= NULL
;
3871 fra
.me
.REG
[0] = NIT_NULL
;
3873 /* ../lib/standard/collection/array.nit:546 */
3874 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
3875 if (UNTAG_Bool(REGB0
)) {
3877 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 546);
3879 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
3880 /* ../lib/standard/collection/array.nit:24 */
3881 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3882 if (UNTAG_Bool(REGB0
)) {
3884 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3886 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3887 /* ../lib/standard/collection/array.nit:546 */
3890 stack_frame_head
= fra
.me
.prev
;
3893 val_t
standard___collection___array___ArrayMap___iterator(val_t p0
){
3894 struct {struct stack_frame_t me
;} fra
;
3897 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3898 fra
.me
.file
= LOCATE_standard___collection___array
;
3900 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMap___iterator
;
3901 fra
.me
.has_broke
= 0;
3902 fra
.me
.REG_size
= 1;
3903 fra
.me
.nitni_local_ref_head
= NULL
;
3904 fra
.me
.REG
[0] = NIT_NULL
;
3906 /* ../lib/standard/collection/array.nit:548 */
3907 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
3908 if (UNTAG_Bool(REGB0
)) {
3910 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 548);
3912 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
3913 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3914 fra
.me
.REG
[0] = NEW_CoupleMapIterator_standard___collection___abstract_collection___CoupleMapIterator___init(fra
.me
.REG
[0]);
3917 stack_frame_head
= fra
.me
.prev
;
3918 return fra
.me
.REG
[0];
3920 val_t
standard___collection___array___ArrayMap___is_empty(val_t p0
){
3921 struct {struct stack_frame_t me
;} fra
;
3924 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3925 fra
.me
.file
= LOCATE_standard___collection___array
;
3927 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMap___is_empty
;
3928 fra
.me
.has_broke
= 0;
3929 fra
.me
.REG_size
= 1;
3930 fra
.me
.nitni_local_ref_head
= NULL
;
3931 fra
.me
.REG
[0] = NIT_NULL
;
3933 /* ../lib/standard/collection/array.nit:550 */
3934 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
3935 if (UNTAG_Bool(REGB0
)) {
3937 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 550);
3939 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
3940 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3943 stack_frame_head
= fra
.me
.prev
;
3946 void standard___collection___array___ArrayMap___clear(val_t p0
){
3947 struct {struct stack_frame_t me
;} fra
;
3950 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3951 fra
.me
.file
= LOCATE_standard___collection___array
;
3953 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMap___clear
;
3954 fra
.me
.has_broke
= 0;
3955 fra
.me
.REG_size
= 1;
3956 fra
.me
.nitni_local_ref_head
= NULL
;
3957 fra
.me
.REG
[0] = NIT_NULL
;
3959 /* ../lib/standard/collection/array.nit:552 */
3960 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
3961 if (UNTAG_Bool(REGB0
)) {
3963 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 552);
3965 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
3966 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3967 stack_frame_head
= fra
.me
.prev
;
3970 void standard___collection___array___ArrayMap___enlarge(val_t p0
, val_t p1
){
3971 struct {struct stack_frame_t me
;} fra
;
3975 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3976 fra
.me
.file
= LOCATE_standard___collection___array
;
3978 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMap___enlarge
;
3979 fra
.me
.has_broke
= 0;
3980 fra
.me
.REG_size
= 1;
3981 fra
.me
.nitni_local_ref_head
= NULL
;
3982 fra
.me
.REG
[0] = NIT_NULL
;
3985 /* ../lib/standard/collection/array.nit:555 */
3986 REGB1
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
3987 if (UNTAG_Bool(REGB1
)) {
3989 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 555);
3991 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
3992 CALL_standard___collection___array___AbstractArray___enlarge(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
3993 stack_frame_head
= fra
.me
.prev
;
3996 val_t
standard___collection___array___ArrayMap___couple_at(val_t p0
, val_t p1
){
3997 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
4002 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4003 fra
.me
.file
= LOCATE_standard___collection___array
;
4005 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMap___couple_at
;
4006 fra
.me
.has_broke
= 0;
4007 fra
.me
.REG_size
= 2;
4008 fra
.me
.nitni_local_ref_head
= NULL
;
4009 fra
.me
.REG
[0] = NIT_NULL
;
4010 fra
.me
.REG
[1] = NIT_NULL
;
4013 /* ../lib/standard/collection/array.nit:559 */
4014 REGB0
= CALL_standard___collection___array___ArrayMap___index(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4015 /* ../lib/standard/collection/array.nit:560 */
4017 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4018 if (UNTAG_Bool(REGB2
)) {
4020 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4022 /* ../lib/standard/kernel.nit:233 */
4023 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
4024 /* ../lib/standard/collection/array.nit:560 */
4025 if (UNTAG_Bool(REGB1
)) {
4026 /* ../lib/standard/collection/array.nit:561 */
4027 REGB1
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
4028 if (UNTAG_Bool(REGB1
)) {
4030 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 561);
4032 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
4033 /* ../lib/standard/collection/array.nit:280 */
4035 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4036 if (UNTAG_Bool(REGB2
)) {
4038 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4040 /* ../lib/standard/kernel.nit:233 */
4041 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
4042 /* ../lib/standard/collection/array.nit:280 */
4043 if (UNTAG_Bool(REGB1
)) {
4044 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
4045 if (UNTAG_Bool(REGB1
)) {
4047 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
4049 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
4050 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4051 if (UNTAG_Bool(REGB2
)) {
4053 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4055 /* ../lib/standard/kernel.nit:232 */
4056 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
4058 /* ../lib/standard/collection/array.nit:280 */
4059 REGB2
= TAG_Bool(false);
4062 if (UNTAG_Bool(REGB1
)) {
4064 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
4066 /* ../lib/standard/collection/array.nit:281 */
4067 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
4068 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4069 if (UNTAG_Bool(REGB1
)) {
4070 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
4072 /* ../lib/standard/collection/array.nit:718 */
4073 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
4074 /* ../lib/standard/collection/array.nit:281 */
4077 /* ../lib/standard/collection/array.nit:561 */
4080 /* ../lib/standard/collection/array.nit:563 */
4081 fra
.me
.REG
[0] = NIT_NULL
;
4085 stack_frame_head
= fra
.me
.prev
;
4086 return fra
.me
.REG
[0];
4088 void standard___collection___array___ArrayMap___remove_at_index(val_t p0
, val_t p1
){
4089 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
4093 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4094 fra
.me
.file
= LOCATE_standard___collection___array
;
4096 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMap___remove_at_index
;
4097 fra
.me
.has_broke
= 0;
4098 fra
.me
.REG_size
= 3;
4099 fra
.me
.nitni_local_ref_head
= NULL
;
4100 fra
.me
.REG
[0] = NIT_NULL
;
4101 fra
.me
.REG
[1] = NIT_NULL
;
4102 fra
.me
.REG
[2] = NIT_NULL
;
4105 /* ../lib/standard/collection/array.nit:573 */
4106 REGB1
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
4107 if (UNTAG_Bool(REGB1
)) {
4109 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 573);
4111 fra
.me
.REG
[1] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
4112 REGB1
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
4113 if (UNTAG_Bool(REGB1
)) {
4115 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 573);
4117 fra
.me
.REG
[2] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
4118 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___SequenceRead___last(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4119 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
, fra
.me
.REG
[2]);
4120 /* ../lib/standard/collection/array.nit:574 */
4121 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
4122 if (UNTAG_Bool(REGB0
)) {
4124 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 574);
4126 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
4127 CALL_standard___collection___abstract_collection___Sequence___pop(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4128 stack_frame_head
= fra
.me
.prev
;
4131 val_t
standard___collection___array___ArrayMap___index(val_t p0
, val_t p1
){
4132 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
4139 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4140 fra
.me
.file
= LOCATE_standard___collection___array
;
4142 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMap___index
;
4143 fra
.me
.has_broke
= 0;
4144 fra
.me
.REG_size
= 3;
4145 fra
.me
.nitni_local_ref_head
= NULL
;
4146 fra
.me
.REG
[0] = NIT_NULL
;
4147 fra
.me
.REG
[1] = NIT_NULL
;
4148 fra
.me
.REG
[2] = NIT_NULL
;
4151 /* ../lib/standard/collection/array.nit:584 */
4152 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____last_index(fra
.me
.REG
[0])!=NIT_NULL
);
4153 if (UNTAG_Bool(REGB0
)) {
4155 nit_abort("Uninitialized attribute %s", "_last_index", LOCATE_standard___collection___array
, 584);
4157 REGB0
= ATTR_standard___collection___array___ArrayMap____last_index(fra
.me
.REG
[0]);
4158 /* ../lib/standard/collection/array.nit:585 */
4159 REGB1
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
4160 if (UNTAG_Bool(REGB1
)) {
4162 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 585);
4164 fra
.me
.REG
[2] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
4165 /* ../lib/standard/collection/array.nit:24 */
4166 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
4167 if (UNTAG_Bool(REGB1
)) {
4169 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
4171 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
4172 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4173 if (UNTAG_Bool(REGB2
)) {
4175 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4177 /* ../lib/standard/kernel.nit:232 */
4178 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
4179 /* ../lib/standard/collection/array.nit:585 */
4180 if (UNTAG_Bool(REGB1
)) {
4181 REGB1
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
4182 if (UNTAG_Bool(REGB1
)) {
4184 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 585);
4186 fra
.me
.REG
[2] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
4187 /* ../lib/standard/collection/array.nit:278 */
4189 /* ../lib/standard/collection/array.nit:280 */
4191 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
4192 if (UNTAG_Bool(REGB3
)) {
4194 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4196 /* ../lib/standard/kernel.nit:233 */
4197 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
4198 /* ../lib/standard/collection/array.nit:280 */
4199 if (UNTAG_Bool(REGB2
)) {
4200 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
4201 if (UNTAG_Bool(REGB2
)) {
4203 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
4205 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
4206 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
4207 if (UNTAG_Bool(REGB3
)) {
4209 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4211 /* ../lib/standard/kernel.nit:232 */
4212 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
4214 /* ../lib/standard/collection/array.nit:280 */
4215 REGB3
= TAG_Bool(false);
4218 if (UNTAG_Bool(REGB2
)) {
4220 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
4222 /* ../lib/standard/collection/array.nit:281 */
4223 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
4224 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4225 if (UNTAG_Bool(REGB2
)) {
4226 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
4228 /* ../lib/standard/collection/array.nit:718 */
4229 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
4230 /* ../lib/standard/collection/array.nit:281 */
4233 /* ../lib/standard/collection/array.nit:585 */
4234 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4235 if (UNTAG_Bool(REGB1
)) {
4236 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 585);
4238 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Couple___first(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4239 REGB1
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[1],fra
.me
.REG
[2]));
4240 if (UNTAG_Bool(REGB1
)) {
4242 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4243 if (UNTAG_Bool(REGB2
)) {
4244 REGB2
= TAG_Bool(false);
4247 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
4252 REGB2
= TAG_Bool(false);
4255 if (UNTAG_Bool(REGB1
)) {
4258 /* ../lib/standard/collection/array.nit:587 */
4260 /* ../lib/standard/collection/array.nit:588 */
4262 REGB2
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
4263 if (UNTAG_Bool(REGB2
)) {
4265 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 588);
4267 fra
.me
.REG
[2] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
4268 /* ../lib/standard/collection/array.nit:24 */
4269 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
4270 if (UNTAG_Bool(REGB2
)) {
4272 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
4274 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
4275 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
4276 if (UNTAG_Bool(REGB3
)) {
4278 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4280 /* ../lib/standard/kernel.nit:232 */
4281 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
4282 /* ../lib/standard/collection/array.nit:588 */
4283 if (UNTAG_Bool(REGB2
)) {
4284 /* ../lib/standard/collection/array.nit:589 */
4285 REGB2
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
4286 if (UNTAG_Bool(REGB2
)) {
4288 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 589);
4290 fra
.me
.REG
[2] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
4291 /* ../lib/standard/collection/array.nit:278 */
4293 /* ../lib/standard/collection/array.nit:280 */
4295 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
4296 if (UNTAG_Bool(REGB4
)) {
4298 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4300 /* ../lib/standard/kernel.nit:233 */
4301 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
4302 /* ../lib/standard/collection/array.nit:280 */
4303 if (UNTAG_Bool(REGB3
)) {
4304 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
4305 if (UNTAG_Bool(REGB3
)) {
4307 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
4309 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
4310 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
4311 if (UNTAG_Bool(REGB4
)) {
4313 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4315 /* ../lib/standard/kernel.nit:232 */
4316 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
4318 /* ../lib/standard/collection/array.nit:280 */
4319 REGB4
= TAG_Bool(false);
4322 if (UNTAG_Bool(REGB3
)) {
4324 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
4326 /* ../lib/standard/collection/array.nit:281 */
4327 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
4328 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4329 if (UNTAG_Bool(REGB3
)) {
4330 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
4332 /* ../lib/standard/collection/array.nit:718 */
4333 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB2
)];
4334 /* ../lib/standard/collection/array.nit:281 */
4337 /* ../lib/standard/collection/array.nit:589 */
4338 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4339 if (UNTAG_Bool(REGB2
)) {
4340 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 589);
4342 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Couple___first(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4343 REGB2
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[1],fra
.me
.REG
[2]));
4344 if (UNTAG_Bool(REGB2
)) {
4346 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4347 if (UNTAG_Bool(REGB3
)) {
4348 REGB3
= TAG_Bool(false);
4351 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
4355 if (UNTAG_Bool(REGB2
)) {
4356 /* ../lib/standard/collection/array.nit:590 */
4357 ATTR_standard___collection___array___ArrayMap____last_index(fra
.me
.REG
[0]) = REGB1
;
4358 /* ../lib/standard/collection/array.nit:591 */
4362 /* ../lib/standard/collection/array.nit:593 */
4364 /* ../lib/standard/kernel.nit:235 */
4365 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
4366 /* ../lib/standard/collection/array.nit:593 */
4369 /* ../lib/standard/collection/array.nit:588 */
4374 /* ../lib/standard/collection/array.nit:595 */
4376 /* ../lib/standard/kernel.nit:236 */
4377 REGB1
= TAG_Int(-UNTAG_Int(REGB1
));
4378 /* ../lib/standard/collection/array.nit:595 */
4382 stack_frame_head
= fra
.me
.prev
;
4385 void standard___collection___array___ArrayMap___init(val_t p0
, int* init_table
){
4386 int itpos10
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___array___ArrayMap
].i
;
4387 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
4389 if (init_table
[itpos10
]) return;
4390 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4391 fra
.me
.file
= LOCATE_standard___collection___array
;
4393 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMap___init
;
4394 fra
.me
.has_broke
= 0;
4395 fra
.me
.REG_size
= 2;
4396 fra
.me
.nitni_local_ref_head
= NULL
;
4397 fra
.me
.REG
[0] = NIT_NULL
;
4398 fra
.me
.REG
[1] = NIT_NULL
;
4400 /* ../lib/standard/collection/array.nit:601 */
4401 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
4402 ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
4403 stack_frame_head
= fra
.me
.prev
;
4404 init_table
[itpos10
] = 1;
4407 val_t
standard___collection___array___ArrayMapKeys___map(val_t p0
){
4408 struct {struct stack_frame_t me
;} fra
;
4411 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4412 fra
.me
.file
= LOCATE_standard___collection___array
;
4414 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapKeys___map
;
4415 fra
.me
.has_broke
= 0;
4416 fra
.me
.REG_size
= 1;
4417 fra
.me
.nitni_local_ref_head
= NULL
;
4418 fra
.me
.REG
[0] = NIT_NULL
;
4420 /* ../lib/standard/collection/array.nit:607 */
4421 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayMapKeys_____atmap(fra
.me
.REG
[0])!=NIT_NULL
);
4422 if (UNTAG_Bool(REGB0
)) {
4424 nit_abort("Uninitialized attribute %s", "@map", LOCATE_standard___collection___array
, 607);
4426 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArrayMapKeys_____atmap(fra
.me
.REG
[0]);
4427 stack_frame_head
= fra
.me
.prev
;
4428 return fra
.me
.REG
[0];
4430 void standard___collection___array___ArrayMapKeys___map__eq(val_t p0
, val_t p1
){
4431 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
4433 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4434 fra
.me
.file
= LOCATE_standard___collection___array
;
4436 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapKeys___map__eq
;
4437 fra
.me
.has_broke
= 0;
4438 fra
.me
.REG_size
= 2;
4439 fra
.me
.nitni_local_ref_head
= NULL
;
4440 fra
.me
.REG
[0] = NIT_NULL
;
4441 fra
.me
.REG
[1] = NIT_NULL
;
4444 /* ../lib/standard/collection/array.nit:607 */
4445 ATTR_standard___collection___array___ArrayMapKeys_____atmap(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
4446 stack_frame_head
= fra
.me
.prev
;
4449 val_t
standard___collection___array___ArrayMapKeys___count(val_t p0
, val_t p1
){
4450 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
4454 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4455 fra
.me
.file
= LOCATE_standard___collection___array
;
4457 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapKeys___count
;
4458 fra
.me
.has_broke
= 0;
4459 fra
.me
.REG_size
= 2;
4460 fra
.me
.nitni_local_ref_head
= NULL
;
4461 fra
.me
.REG
[0] = NIT_NULL
;
4462 fra
.me
.REG
[1] = NIT_NULL
;
4465 /* ../lib/standard/collection/array.nit:609 */
4466 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4467 if (UNTAG_Bool(REGB0
)) {
4476 stack_frame_head
= fra
.me
.prev
;
4479 val_t
standard___collection___array___ArrayMapKeys___first(val_t p0
){
4480 struct {struct stack_frame_t me
;} fra
;
4483 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4484 fra
.me
.file
= LOCATE_standard___collection___array
;
4486 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapKeys___first
;
4487 fra
.me
.has_broke
= 0;
4488 fra
.me
.REG_size
= 1;
4489 fra
.me
.nitni_local_ref_head
= NULL
;
4490 fra
.me
.REG
[0] = NIT_NULL
;
4492 /* ../lib/standard/collection/array.nit:610 */
4493 fra
.me
.REG
[0] = CALL_standard___collection___array___ArrayMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4494 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
4495 if (UNTAG_Bool(REGB0
)) {
4497 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 610);
4499 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
4500 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4501 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4502 if (UNTAG_Bool(REGB0
)) {
4503 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 610);
4505 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Couple___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4508 stack_frame_head
= fra
.me
.prev
;
4509 return fra
.me
.REG
[0];
4511 val_t
standard___collection___array___ArrayMapKeys___has(val_t p0
, val_t p1
){
4512 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
4517 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4518 fra
.me
.file
= LOCATE_standard___collection___array
;
4520 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapKeys___has
;
4521 fra
.me
.has_broke
= 0;
4522 fra
.me
.REG_size
= 2;
4523 fra
.me
.nitni_local_ref_head
= NULL
;
4524 fra
.me
.REG
[0] = NIT_NULL
;
4525 fra
.me
.REG
[1] = NIT_NULL
;
4528 /* ../lib/standard/collection/array.nit:611 */
4529 fra
.me
.REG
[0] = CALL_standard___collection___array___ArrayMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4530 REGB0
= CALL_standard___collection___array___ArrayMap___index(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4532 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4533 if (UNTAG_Bool(REGB2
)) {
4535 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4537 /* ../lib/standard/kernel.nit:233 */
4538 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
4539 /* ../lib/standard/collection/array.nit:611 */
4542 stack_frame_head
= fra
.me
.prev
;
4545 val_t
standard___collection___array___ArrayMapKeys___has_only(val_t p0
, val_t p1
){
4546 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
4551 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4552 fra
.me
.file
= LOCATE_standard___collection___array
;
4554 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapKeys___has_only
;
4555 fra
.me
.has_broke
= 0;
4556 fra
.me
.REG_size
= 2;
4557 fra
.me
.nitni_local_ref_head
= NULL
;
4558 fra
.me
.REG
[0] = NIT_NULL
;
4559 fra
.me
.REG
[1] = NIT_NULL
;
4562 /* ../lib/standard/collection/array.nit:612 */
4563 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4564 if (UNTAG_Bool(REGB0
)) {
4565 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4567 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
4568 if (UNTAG_Bool(REGB2
)) {
4570 /* ../lib/standard/kernel.nit:227 */
4571 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
4572 /* ../lib/standard/collection/array.nit:612 */
4576 REGB1
= TAG_Bool(false);
4579 if (UNTAG_Bool(REGB2
)) {
4580 REGB2
= TAG_Bool(true);
4582 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4587 stack_frame_head
= fra
.me
.prev
;
4590 val_t
standard___collection___array___ArrayMapKeys___is_empty(val_t p0
){
4591 struct {struct stack_frame_t me
;} fra
;
4594 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4595 fra
.me
.file
= LOCATE_standard___collection___array
;
4597 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapKeys___is_empty
;
4598 fra
.me
.has_broke
= 0;
4599 fra
.me
.REG_size
= 1;
4600 fra
.me
.nitni_local_ref_head
= NULL
;
4601 fra
.me
.REG
[0] = NIT_NULL
;
4603 /* ../lib/standard/collection/array.nit:613 */
4604 fra
.me
.REG
[0] = CALL_standard___collection___array___ArrayMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4605 REGB0
= CALL_standard___collection___abstract_collection___MapRead___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4608 stack_frame_head
= fra
.me
.prev
;
4611 val_t
standard___collection___array___ArrayMapKeys___length(val_t p0
){
4612 struct {struct stack_frame_t me
;} fra
;
4615 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4616 fra
.me
.file
= LOCATE_standard___collection___array
;
4618 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapKeys___length
;
4619 fra
.me
.has_broke
= 0;
4620 fra
.me
.REG_size
= 1;
4621 fra
.me
.nitni_local_ref_head
= NULL
;
4622 fra
.me
.REG
[0] = NIT_NULL
;
4624 /* ../lib/standard/collection/array.nit:614 */
4625 fra
.me
.REG
[0] = CALL_standard___collection___array___ArrayMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4626 REGB0
= CALL_standard___collection___abstract_collection___MapRead___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4629 stack_frame_head
= fra
.me
.prev
;
4632 val_t
standard___collection___array___ArrayMapKeys___iterator(val_t p0
){
4633 struct {struct stack_frame_t me
;} fra
;
4635 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4636 fra
.me
.file
= LOCATE_standard___collection___array
;
4638 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapKeys___iterator
;
4639 fra
.me
.has_broke
= 0;
4640 fra
.me
.REG_size
= 1;
4641 fra
.me
.nitni_local_ref_head
= NULL
;
4642 fra
.me
.REG
[0] = NIT_NULL
;
4644 /* ../lib/standard/collection/array.nit:615 */
4645 fra
.me
.REG
[0] = CALL_standard___collection___array___ArrayMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4646 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4647 fra
.me
.REG
[0] = NEW_MapKeysIterator_standard___collection___abstract_collection___MapKeysIterator___init(fra
.me
.REG
[0]);
4650 stack_frame_head
= fra
.me
.prev
;
4651 return fra
.me
.REG
[0];
4653 void standard___collection___array___ArrayMapKeys___clear(val_t p0
){
4654 struct {struct stack_frame_t me
;} fra
;
4656 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4657 fra
.me
.file
= LOCATE_standard___collection___array
;
4659 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapKeys___clear
;
4660 fra
.me
.has_broke
= 0;
4661 fra
.me
.REG_size
= 1;
4662 fra
.me
.nitni_local_ref_head
= NULL
;
4663 fra
.me
.REG
[0] = NIT_NULL
;
4665 /* ../lib/standard/collection/array.nit:616 */
4666 fra
.me
.REG
[0] = CALL_standard___collection___array___ArrayMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4667 CALL_standard___collection___abstract_collection___Map___clear(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4668 stack_frame_head
= fra
.me
.prev
;
4671 void standard___collection___array___ArrayMapKeys___remove(val_t p0
, val_t p1
){
4672 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
4677 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4678 fra
.me
.file
= LOCATE_standard___collection___array
;
4680 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapKeys___remove
;
4681 fra
.me
.has_broke
= 0;
4682 fra
.me
.REG_size
= 3;
4683 fra
.me
.nitni_local_ref_head
= NULL
;
4684 fra
.me
.REG
[0] = NIT_NULL
;
4685 fra
.me
.REG
[1] = NIT_NULL
;
4686 fra
.me
.REG
[2] = NIT_NULL
;
4689 /* ../lib/standard/collection/array.nit:619 */
4690 fra
.me
.REG
[2] = CALL_standard___collection___array___ArrayMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4691 REGB0
= CALL_standard___collection___array___ArrayMap___index(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
4692 /* ../lib/standard/collection/array.nit:620 */
4694 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4695 if (UNTAG_Bool(REGB2
)) {
4697 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4699 /* ../lib/standard/kernel.nit:233 */
4700 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
4701 /* ../lib/standard/collection/array.nit:620 */
4702 if (UNTAG_Bool(REGB1
)) {
4703 fra
.me
.REG
[0] = CALL_standard___collection___array___ArrayMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4704 CALL_standard___collection___array___ArrayMap___remove_at_index(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
4706 stack_frame_head
= fra
.me
.prev
;
4709 void standard___collection___array___ArrayMapKeys___remove_all(val_t p0
, val_t p1
){
4710 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
4712 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4713 fra
.me
.file
= LOCATE_standard___collection___array
;
4715 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapKeys___remove_all
;
4716 fra
.me
.has_broke
= 0;
4717 fra
.me
.REG_size
= 2;
4718 fra
.me
.nitni_local_ref_head
= NULL
;
4719 fra
.me
.REG
[0] = NIT_NULL
;
4720 fra
.me
.REG
[1] = NIT_NULL
;
4723 /* ../lib/standard/collection/array.nit:622 */
4724 CALL_standard___collection___abstract_collection___RemovableCollection___remove(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4725 stack_frame_head
= fra
.me
.prev
;
4728 void standard___collection___array___ArrayMapKeys___init(val_t p0
, val_t p1
, int* init_table
){
4729 int itpos11
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___array___ArrayMapKeys
].i
;
4730 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
4732 if (init_table
[itpos11
]) return;
4733 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4734 fra
.me
.file
= LOCATE_standard___collection___array
;
4736 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapKeys___init
;
4737 fra
.me
.has_broke
= 0;
4738 fra
.me
.REG_size
= 2;
4739 fra
.me
.nitni_local_ref_head
= NULL
;
4740 fra
.me
.REG
[0] = NIT_NULL
;
4741 fra
.me
.REG
[1] = NIT_NULL
;
4744 ATTR_standard___collection___array___ArrayMapKeys_____atmap(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
4745 stack_frame_head
= fra
.me
.prev
;
4746 init_table
[itpos11
] = 1;
4749 val_t
standard___collection___array___ArrayMapValues___map(val_t p0
){
4750 struct {struct stack_frame_t me
;} fra
;
4753 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4754 fra
.me
.file
= LOCATE_standard___collection___array
;
4756 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapValues___map
;
4757 fra
.me
.has_broke
= 0;
4758 fra
.me
.REG_size
= 1;
4759 fra
.me
.nitni_local_ref_head
= NULL
;
4760 fra
.me
.REG
[0] = NIT_NULL
;
4762 /* ../lib/standard/collection/array.nit:627 */
4763 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayMapValues_____atmap(fra
.me
.REG
[0])!=NIT_NULL
);
4764 if (UNTAG_Bool(REGB0
)) {
4766 nit_abort("Uninitialized attribute %s", "@map", LOCATE_standard___collection___array
, 627);
4768 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArrayMapValues_____atmap(fra
.me
.REG
[0]);
4769 stack_frame_head
= fra
.me
.prev
;
4770 return fra
.me
.REG
[0];
4772 void standard___collection___array___ArrayMapValues___map__eq(val_t p0
, val_t p1
){
4773 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
4775 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4776 fra
.me
.file
= LOCATE_standard___collection___array
;
4778 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapValues___map__eq
;
4779 fra
.me
.has_broke
= 0;
4780 fra
.me
.REG_size
= 2;
4781 fra
.me
.nitni_local_ref_head
= NULL
;
4782 fra
.me
.REG
[0] = NIT_NULL
;
4783 fra
.me
.REG
[1] = NIT_NULL
;
4786 /* ../lib/standard/collection/array.nit:627 */
4787 ATTR_standard___collection___array___ArrayMapValues_____atmap(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
4788 stack_frame_head
= fra
.me
.prev
;
4791 val_t
standard___collection___array___ArrayMapValues___first(val_t p0
){
4792 struct {struct stack_frame_t me
;} fra
;
4795 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4796 fra
.me
.file
= LOCATE_standard___collection___array
;
4798 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapValues___first
;
4799 fra
.me
.has_broke
= 0;
4800 fra
.me
.REG_size
= 1;
4801 fra
.me
.nitni_local_ref_head
= NULL
;
4802 fra
.me
.REG
[0] = NIT_NULL
;
4804 /* ../lib/standard/collection/array.nit:629 */
4805 fra
.me
.REG
[0] = CALL_standard___collection___array___ArrayMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4806 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
4807 if (UNTAG_Bool(REGB0
)) {
4809 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 629);
4811 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
4812 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4813 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4814 if (UNTAG_Bool(REGB0
)) {
4815 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 629);
4817 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Couple___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4820 stack_frame_head
= fra
.me
.prev
;
4821 return fra
.me
.REG
[0];
4823 val_t
standard___collection___array___ArrayMapValues___is_empty(val_t p0
){
4824 struct {struct stack_frame_t me
;} fra
;
4827 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4828 fra
.me
.file
= LOCATE_standard___collection___array
;
4830 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapValues___is_empty
;
4831 fra
.me
.has_broke
= 0;
4832 fra
.me
.REG_size
= 1;
4833 fra
.me
.nitni_local_ref_head
= NULL
;
4834 fra
.me
.REG
[0] = NIT_NULL
;
4836 /* ../lib/standard/collection/array.nit:630 */
4837 fra
.me
.REG
[0] = CALL_standard___collection___array___ArrayMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4838 REGB0
= CALL_standard___collection___abstract_collection___MapRead___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4841 stack_frame_head
= fra
.me
.prev
;
4844 val_t
standard___collection___array___ArrayMapValues___length(val_t p0
){
4845 struct {struct stack_frame_t me
;} fra
;
4848 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4849 fra
.me
.file
= LOCATE_standard___collection___array
;
4851 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapValues___length
;
4852 fra
.me
.has_broke
= 0;
4853 fra
.me
.REG_size
= 1;
4854 fra
.me
.nitni_local_ref_head
= NULL
;
4855 fra
.me
.REG
[0] = NIT_NULL
;
4857 /* ../lib/standard/collection/array.nit:631 */
4858 fra
.me
.REG
[0] = CALL_standard___collection___array___ArrayMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4859 REGB0
= CALL_standard___collection___abstract_collection___MapRead___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4862 stack_frame_head
= fra
.me
.prev
;
4865 val_t
standard___collection___array___ArrayMapValues___iterator(val_t p0
){
4866 struct {struct stack_frame_t me
;} fra
;
4868 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4869 fra
.me
.file
= LOCATE_standard___collection___array
;
4871 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapValues___iterator
;
4872 fra
.me
.has_broke
= 0;
4873 fra
.me
.REG_size
= 1;
4874 fra
.me
.nitni_local_ref_head
= NULL
;
4875 fra
.me
.REG
[0] = NIT_NULL
;
4877 /* ../lib/standard/collection/array.nit:632 */
4878 fra
.me
.REG
[0] = CALL_standard___collection___array___ArrayMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4879 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4880 fra
.me
.REG
[0] = NEW_MapValuesIterator_standard___collection___abstract_collection___MapValuesIterator___init(fra
.me
.REG
[0]);
4883 stack_frame_head
= fra
.me
.prev
;
4884 return fra
.me
.REG
[0];
4886 val_t
standard___collection___array___ArrayMapValues___has(val_t p0
, val_t p1
){
4887 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4892 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4893 fra
.me
.file
= LOCATE_standard___collection___array
;
4895 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapValues___has
;
4896 fra
.me
.has_broke
= 0;
4897 fra
.me
.REG_size
= 4;
4898 fra
.me
.nitni_local_ref_head
= NULL
;
4899 fra
.me
.REG
[0] = NIT_NULL
;
4900 fra
.me
.REG
[1] = NIT_NULL
;
4901 fra
.me
.REG
[2] = NIT_NULL
;
4902 fra
.me
.REG
[3] = NIT_NULL
;
4905 /* ../lib/standard/collection/array.nit:637 */
4906 fra
.me
.REG
[0] = CALL_standard___collection___array___ArrayMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4907 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
4908 if (UNTAG_Bool(REGB0
)) {
4910 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 637);
4912 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
4913 /* ../lib/standard/collection/array.nit:269 */
4915 /* ../lib/standard/collection/array.nit:270 */
4916 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
4917 if (UNTAG_Bool(REGB1
)) {
4919 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
4921 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
4922 /* ../lib/standard/collection/array.nit:271 */
4923 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
4924 /* ../lib/standard/collection/array.nit:272 */
4926 /* ../lib/standard/collection/array.nit:24 */
4927 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
4928 if (UNTAG_Bool(REGB1
)) {
4930 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
4932 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
4933 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4934 if (UNTAG_Bool(REGB2
)) {
4936 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4938 /* ../lib/standard/kernel.nit:232 */
4939 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
4940 /* ../lib/standard/collection/array.nit:272 */
4941 if (UNTAG_Bool(REGB1
)) {
4942 /* ../lib/standard/collection/array.nit:273 */
4943 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4944 if (UNTAG_Bool(REGB1
)) {
4945 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
4947 /* ../lib/standard/collection/array.nit:718 */
4948 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
4949 /* ../lib/standard/collection/array.nit:637 */
4950 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___Couple___second(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4951 REGB1
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[3],fra
.me
.REG
[1]));
4952 if (UNTAG_Bool(REGB1
)) {
4954 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
4955 if (UNTAG_Bool(REGB2
)) {
4956 REGB2
= TAG_Bool(false);
4959 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
4963 if (UNTAG_Bool(REGB1
)) {
4964 REGB1
= TAG_Bool(true);
4967 /* ../lib/standard/collection/array.nit:274 */
4969 /* ../lib/standard/kernel.nit:235 */
4970 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
4971 /* ../lib/standard/collection/array.nit:274 */
4974 /* ../lib/standard/collection/array.nit:272 */
4979 /* ../lib/standard/collection/array.nit:638 */
4980 REGB0
= TAG_Bool(false);
4984 stack_frame_head
= fra
.me
.prev
;
4987 val_t
standard___collection___array___ArrayMapValues___has_only(val_t p0
, val_t p1
){
4988 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4993 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4994 fra
.me
.file
= LOCATE_standard___collection___array
;
4996 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapValues___has_only
;
4997 fra
.me
.has_broke
= 0;
4998 fra
.me
.REG_size
= 4;
4999 fra
.me
.nitni_local_ref_head
= NULL
;
5000 fra
.me
.REG
[0] = NIT_NULL
;
5001 fra
.me
.REG
[1] = NIT_NULL
;
5002 fra
.me
.REG
[2] = NIT_NULL
;
5003 fra
.me
.REG
[3] = NIT_NULL
;
5006 /* ../lib/standard/collection/array.nit:644 */
5007 fra
.me
.REG
[0] = CALL_standard___collection___array___ArrayMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5008 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
5009 if (UNTAG_Bool(REGB0
)) {
5011 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 644);
5013 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
5014 /* ../lib/standard/collection/array.nit:269 */
5016 /* ../lib/standard/collection/array.nit:270 */
5017 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
5018 if (UNTAG_Bool(REGB1
)) {
5020 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
5022 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
5023 /* ../lib/standard/collection/array.nit:271 */
5024 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
5025 /* ../lib/standard/collection/array.nit:272 */
5027 /* ../lib/standard/collection/array.nit:24 */
5028 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
5029 if (UNTAG_Bool(REGB1
)) {
5031 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
5033 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
5034 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
5035 if (UNTAG_Bool(REGB2
)) {
5037 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5039 /* ../lib/standard/kernel.nit:232 */
5040 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
5041 /* ../lib/standard/collection/array.nit:272 */
5042 if (UNTAG_Bool(REGB1
)) {
5043 /* ../lib/standard/collection/array.nit:273 */
5044 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5045 if (UNTAG_Bool(REGB1
)) {
5046 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
5048 /* ../lib/standard/collection/array.nit:718 */
5049 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
5050 /* ../lib/standard/collection/array.nit:644 */
5051 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___Couple___second(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5052 REGB1
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[3],fra
.me
.REG
[1]));
5053 if (UNTAG_Bool(REGB1
)) {
5055 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
5056 if (UNTAG_Bool(REGB2
)) {
5057 REGB2
= TAG_Bool(false);
5060 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
5064 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
5065 if (UNTAG_Bool(REGB1
)) {
5066 REGB1
= TAG_Bool(false);
5069 /* ../lib/standard/collection/array.nit:274 */
5071 /* ../lib/standard/kernel.nit:235 */
5072 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
5073 /* ../lib/standard/collection/array.nit:274 */
5076 /* ../lib/standard/collection/array.nit:272 */
5081 /* ../lib/standard/collection/array.nit:645 */
5082 REGB0
= TAG_Bool(true);
5086 stack_frame_head
= fra
.me
.prev
;
5089 val_t
standard___collection___array___ArrayMapValues___count(val_t p0
, val_t p1
){
5090 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5096 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5097 fra
.me
.file
= LOCATE_standard___collection___array
;
5099 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapValues___count
;
5100 fra
.me
.has_broke
= 0;
5101 fra
.me
.REG_size
= 4;
5102 fra
.me
.nitni_local_ref_head
= NULL
;
5103 fra
.me
.REG
[0] = NIT_NULL
;
5104 fra
.me
.REG
[1] = NIT_NULL
;
5105 fra
.me
.REG
[2] = NIT_NULL
;
5106 fra
.me
.REG
[3] = NIT_NULL
;
5109 /* ../lib/standard/collection/array.nit:651 */
5111 /* ../lib/standard/collection/array.nit:652 */
5112 fra
.me
.REG
[0] = CALL_standard___collection___array___ArrayMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5113 REGB1
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
5114 if (UNTAG_Bool(REGB1
)) {
5116 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 652);
5118 fra
.me
.REG
[0] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
5119 /* ../lib/standard/collection/array.nit:269 */
5121 /* ../lib/standard/collection/array.nit:270 */
5122 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
5123 if (UNTAG_Bool(REGB2
)) {
5125 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
5127 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
5128 /* ../lib/standard/collection/array.nit:271 */
5129 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
5130 /* ../lib/standard/collection/array.nit:272 */
5132 /* ../lib/standard/collection/array.nit:24 */
5133 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
5134 if (UNTAG_Bool(REGB2
)) {
5136 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
5138 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
5139 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5140 if (UNTAG_Bool(REGB3
)) {
5142 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5144 /* ../lib/standard/kernel.nit:232 */
5145 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5146 /* ../lib/standard/collection/array.nit:272 */
5147 if (UNTAG_Bool(REGB2
)) {
5148 /* ../lib/standard/collection/array.nit:273 */
5149 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5150 if (UNTAG_Bool(REGB2
)) {
5151 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
5153 /* ../lib/standard/collection/array.nit:718 */
5154 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
5155 /* ../lib/standard/collection/array.nit:652 */
5156 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___Couple___second(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5157 REGB2
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[3],fra
.me
.REG
[1]));
5158 if (UNTAG_Bool(REGB2
)) {
5160 REGB3
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
5161 if (UNTAG_Bool(REGB3
)) {
5162 REGB3
= TAG_Bool(false);
5165 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
5169 if (UNTAG_Bool(REGB2
)) {
5171 /* ../lib/standard/kernel.nit:235 */
5172 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
5173 /* ../lib/standard/collection/array.nit:652 */
5176 /* ../lib/standard/collection/array.nit:274 */
5178 /* ../lib/standard/kernel.nit:235 */
5179 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
5180 /* ../lib/standard/collection/array.nit:274 */
5183 /* ../lib/standard/collection/array.nit:272 */
5188 /* ../lib/standard/collection/array.nit:653 */
5191 stack_frame_head
= fra
.me
.prev
;
5194 void standard___collection___array___ArrayMapValues___clear(val_t p0
){
5195 struct {struct stack_frame_t me
;} fra
;
5197 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5198 fra
.me
.file
= LOCATE_standard___collection___array
;
5200 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapValues___clear
;
5201 fra
.me
.has_broke
= 0;
5202 fra
.me
.REG_size
= 1;
5203 fra
.me
.nitni_local_ref_head
= NULL
;
5204 fra
.me
.REG
[0] = NIT_NULL
;
5206 /* ../lib/standard/collection/array.nit:656 */
5207 fra
.me
.REG
[0] = CALL_standard___collection___array___ArrayMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5208 CALL_standard___collection___abstract_collection___Map___clear(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5209 stack_frame_head
= fra
.me
.prev
;
5212 void standard___collection___array___ArrayMapValues___remove(val_t p0
, val_t p1
){
5213 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
5219 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5220 fra
.me
.file
= LOCATE_standard___collection___array
;
5222 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapValues___remove
;
5223 fra
.me
.has_broke
= 0;
5224 fra
.me
.REG_size
= 3;
5225 fra
.me
.nitni_local_ref_head
= NULL
;
5226 fra
.me
.REG
[0] = NIT_NULL
;
5227 fra
.me
.REG
[1] = NIT_NULL
;
5228 fra
.me
.REG
[2] = NIT_NULL
;
5231 /* ../lib/standard/collection/array.nit:660 */
5232 fra
.me
.REG
[0] = CALL_standard___collection___array___ArrayMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5233 /* ../lib/standard/collection/array.nit:661 */
5234 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
5235 if (UNTAG_Bool(REGB0
)) {
5237 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 661);
5239 fra
.me
.REG
[2] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
5240 /* ../lib/standard/collection/array.nit:24 */
5241 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
5242 if (UNTAG_Bool(REGB0
)) {
5244 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
5246 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
5247 /* ../lib/standard/collection/array.nit:661 */
5249 /* ../lib/standard/kernel.nit:237 */
5250 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
5251 /* ../lib/standard/collection/array.nit:662 */
5254 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5255 if (UNTAG_Bool(REGB2
)) {
5257 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5259 /* ../lib/standard/kernel.nit:233 */
5260 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
5261 /* ../lib/standard/collection/array.nit:662 */
5262 if (UNTAG_Bool(REGB0
)) {
5263 /* ../lib/standard/collection/array.nit:663 */
5264 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
5265 if (UNTAG_Bool(REGB0
)) {
5267 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 663);
5269 fra
.me
.REG
[2] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
5270 /* ../lib/standard/collection/array.nit:278 */
5272 /* ../lib/standard/collection/array.nit:280 */
5274 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
5275 if (UNTAG_Bool(REGB3
)) {
5277 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5279 /* ../lib/standard/kernel.nit:233 */
5280 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB2
));
5281 /* ../lib/standard/collection/array.nit:280 */
5282 if (UNTAG_Bool(REGB2
)) {
5283 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
5284 if (UNTAG_Bool(REGB2
)) {
5286 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5288 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
5289 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
5290 if (UNTAG_Bool(REGB3
)) {
5292 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5294 /* ../lib/standard/kernel.nit:232 */
5295 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
5297 /* ../lib/standard/collection/array.nit:280 */
5298 REGB3
= TAG_Bool(false);
5301 if (UNTAG_Bool(REGB2
)) {
5303 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
5305 /* ../lib/standard/collection/array.nit:281 */
5306 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
5307 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5308 if (UNTAG_Bool(REGB2
)) {
5309 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
5311 /* ../lib/standard/collection/array.nit:718 */
5312 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
5313 /* ../lib/standard/collection/array.nit:281 */
5316 /* ../lib/standard/collection/array.nit:663 */
5317 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5318 if (UNTAG_Bool(REGB0
)) {
5319 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 663);
5321 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Couple___second(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5322 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
5323 if (UNTAG_Bool(REGB0
)) {
5325 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5326 if (UNTAG_Bool(REGB2
)) {
5327 REGB2
= TAG_Bool(false);
5330 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
5334 if (UNTAG_Bool(REGB0
)) {
5335 /* ../lib/standard/collection/array.nit:664 */
5336 CALL_standard___collection___array___ArrayMap___remove_at_index(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
5337 /* ../lib/standard/collection/array.nit:665 */
5340 /* ../lib/standard/collection/array.nit:667 */
5342 /* ../lib/standard/kernel.nit:237 */
5343 REGB0
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
5344 /* ../lib/standard/collection/array.nit:667 */
5347 /* ../lib/standard/collection/array.nit:662 */
5353 stack_frame_head
= fra
.me
.prev
;
5356 void standard___collection___array___ArrayMapValues___remove_all(val_t p0
, val_t p1
){
5357 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
5363 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5364 fra
.me
.file
= LOCATE_standard___collection___array
;
5366 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapValues___remove_all
;
5367 fra
.me
.has_broke
= 0;
5368 fra
.me
.REG_size
= 3;
5369 fra
.me
.nitni_local_ref_head
= NULL
;
5370 fra
.me
.REG
[0] = NIT_NULL
;
5371 fra
.me
.REG
[1] = NIT_NULL
;
5372 fra
.me
.REG
[2] = NIT_NULL
;
5375 /* ../lib/standard/collection/array.nit:673 */
5376 fra
.me
.REG
[0] = CALL_standard___collection___array___ArrayMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5377 /* ../lib/standard/collection/array.nit:674 */
5378 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
5379 if (UNTAG_Bool(REGB0
)) {
5381 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 674);
5383 fra
.me
.REG
[2] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
5384 /* ../lib/standard/collection/array.nit:24 */
5385 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
5386 if (UNTAG_Bool(REGB0
)) {
5388 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
5390 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
5391 /* ../lib/standard/collection/array.nit:674 */
5393 /* ../lib/standard/kernel.nit:237 */
5394 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
5395 /* ../lib/standard/collection/array.nit:675 */
5398 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5399 if (UNTAG_Bool(REGB2
)) {
5401 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5403 /* ../lib/standard/kernel.nit:233 */
5404 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
5405 /* ../lib/standard/collection/array.nit:675 */
5406 if (UNTAG_Bool(REGB0
)) {
5407 /* ../lib/standard/collection/array.nit:676 */
5408 REGB0
= TAG_Bool(ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0])!=NIT_NULL
);
5409 if (UNTAG_Bool(REGB0
)) {
5411 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___collection___array
, 676);
5413 fra
.me
.REG
[2] = ATTR_standard___collection___array___ArrayMap____items(fra
.me
.REG
[0]);
5414 /* ../lib/standard/collection/array.nit:278 */
5416 /* ../lib/standard/collection/array.nit:280 */
5418 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
5419 if (UNTAG_Bool(REGB3
)) {
5421 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5423 /* ../lib/standard/kernel.nit:233 */
5424 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB2
));
5425 /* ../lib/standard/collection/array.nit:280 */
5426 if (UNTAG_Bool(REGB2
)) {
5427 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
5428 if (UNTAG_Bool(REGB2
)) {
5430 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5432 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
5433 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
5434 if (UNTAG_Bool(REGB3
)) {
5436 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5438 /* ../lib/standard/kernel.nit:232 */
5439 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
5441 /* ../lib/standard/collection/array.nit:280 */
5442 REGB3
= TAG_Bool(false);
5445 if (UNTAG_Bool(REGB2
)) {
5447 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
5449 /* ../lib/standard/collection/array.nit:281 */
5450 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
5451 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5452 if (UNTAG_Bool(REGB2
)) {
5453 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
5455 /* ../lib/standard/collection/array.nit:718 */
5456 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
5457 /* ../lib/standard/collection/array.nit:281 */
5460 /* ../lib/standard/collection/array.nit:676 */
5461 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5462 if (UNTAG_Bool(REGB0
)) {
5463 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 676);
5465 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Couple___second(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5466 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
5467 if (UNTAG_Bool(REGB0
)) {
5469 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5470 if (UNTAG_Bool(REGB2
)) {
5471 REGB2
= TAG_Bool(false);
5474 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
5478 if (UNTAG_Bool(REGB0
)) {
5479 /* ../lib/standard/collection/array.nit:677 */
5480 CALL_standard___collection___array___ArrayMap___remove_at_index(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
5482 /* ../lib/standard/collection/array.nit:679 */
5484 /* ../lib/standard/kernel.nit:237 */
5485 REGB0
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
5486 /* ../lib/standard/collection/array.nit:679 */
5489 /* ../lib/standard/collection/array.nit:675 */
5494 stack_frame_head
= fra
.me
.prev
;
5497 void standard___collection___array___ArrayMapValues___init(val_t p0
, val_t p1
, int* init_table
){
5498 int itpos12
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___array___ArrayMapValues
].i
;
5499 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
5501 if (init_table
[itpos12
]) return;
5502 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5503 fra
.me
.file
= LOCATE_standard___collection___array
;
5505 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayMapValues___init
;
5506 fra
.me
.has_broke
= 0;
5507 fra
.me
.REG_size
= 2;
5508 fra
.me
.nitni_local_ref_head
= NULL
;
5509 fra
.me
.REG
[0] = NIT_NULL
;
5510 fra
.me
.REG
[1] = NIT_NULL
;
5513 ATTR_standard___collection___array___ArrayMapValues_____atmap(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
5514 stack_frame_head
= fra
.me
.prev
;
5515 init_table
[itpos12
] = 1;
5518 val_t
standard___collection___array___Iterator___to_a(val_t p0
){
5519 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
5522 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5523 fra
.me
.file
= LOCATE_standard___collection___array
;
5525 fra
.me
.meth
= LOCATE_standard___collection___array___Iterator___to_a
;
5526 fra
.me
.has_broke
= 0;
5527 fra
.me
.REG_size
= 3;
5528 fra
.me
.nitni_local_ref_head
= NULL
;
5529 fra
.me
.REG
[0] = NIT_NULL
;
5530 fra
.me
.REG
[1] = NIT_NULL
;
5531 fra
.me
.REG
[2] = NIT_NULL
;
5533 /* ../lib/standard/collection/array.nit:691 */
5534 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
5535 /* ../lib/standard/collection/array.nit:692 */
5537 REGB0
= CALL_standard___collection___abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5538 if (UNTAG_Bool(REGB0
)) {
5539 /* ../lib/standard/collection/array.nit:693 */
5540 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5541 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
5542 /* ../lib/standard/collection/array.nit:694 */
5543 CALL_standard___collection___abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5545 /* ../lib/standard/collection/array.nit:692 */
5550 /* ../lib/standard/collection/array.nit:696 */
5553 stack_frame_head
= fra
.me
.prev
;
5554 return fra
.me
.REG
[1];
5556 val_t
standard___collection___array___Collection___to_a(val_t p0
){
5557 struct {struct stack_frame_t me
;} fra
;
5559 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5560 fra
.me
.file
= LOCATE_standard___collection___array
;
5562 fra
.me
.meth
= LOCATE_standard___collection___array___Collection___to_a
;
5563 fra
.me
.has_broke
= 0;
5564 fra
.me
.REG_size
= 1;
5565 fra
.me
.nitni_local_ref_head
= NULL
;
5566 fra
.me
.REG
[0] = NIT_NULL
;
5568 /* ../lib/standard/collection/array.nit:704 */
5569 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5570 fra
.me
.REG
[0] = CALL_standard___collection___array___Iterator___to_a(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5573 stack_frame_head
= fra
.me
.prev
;
5574 return fra
.me
.REG
[0];
5576 val_t
standard___collection___array___ArrayCapable___calloc_array(val_t p0
, val_t p1
){
5577 struct {struct stack_frame_t me
;} fra
;
5580 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5581 fra
.me
.file
= LOCATE_standard___collection___array
;
5583 fra
.me
.meth
= LOCATE_standard___collection___array___ArrayCapable___calloc_array
;
5584 fra
.me
.has_broke
= 0;
5585 fra
.me
.REG_size
= 1;
5586 fra
.me
.nitni_local_ref_head
= NULL
;
5587 fra
.me
.REG
[0] = NIT_NULL
;
5590 /* ../lib/standard/collection/array.nit:712 */
5591 fra
.me
.REG
[0] = NEW_NativeArray(UNTAG_Int(REGB0
), sizeof(val_t
));
5592 stack_frame_head
= fra
.me
.prev
;
5593 return fra
.me
.REG
[0];
5595 val_t
standard___collection___array___NativeArray_____bra(val_t p0
, val_t p1
){
5596 struct {struct stack_frame_t me
;} fra
;
5599 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5600 fra
.me
.file
= LOCATE_standard___collection___array
;
5602 fra
.me
.meth
= LOCATE_standard___collection___array___NativeArray_____bra
;
5603 fra
.me
.has_broke
= 0;
5604 fra
.me
.REG_size
= 1;
5605 fra
.me
.nitni_local_ref_head
= NULL
;
5606 fra
.me
.REG
[0] = NIT_NULL
;
5609 /* ../lib/standard/collection/array.nit:718 */
5610 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
5611 stack_frame_head
= fra
.me
.prev
;
5612 return fra
.me
.REG
[0];
5614 void standard___collection___array___NativeArray_____braeq(val_t p0
, val_t p1
, val_t p2
){
5615 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
5618 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5619 fra
.me
.file
= LOCATE_standard___collection___array
;
5621 fra
.me
.meth
= LOCATE_standard___collection___array___NativeArray_____braeq
;
5622 fra
.me
.has_broke
= 0;
5623 fra
.me
.REG_size
= 2;
5624 fra
.me
.nitni_local_ref_head
= NULL
;
5625 fra
.me
.REG
[0] = NIT_NULL
;
5626 fra
.me
.REG
[1] = NIT_NULL
;
5630 /* ../lib/standard/collection/array.nit:719 */
5631 ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)]=fra
.me
.REG
[1];
5632 stack_frame_head
= fra
.me
.prev
;
5635 void standard___collection___array___NativeArray___copy_to(val_t p0
, val_t p1
, val_t p2
){
5636 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
5639 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5640 fra
.me
.file
= LOCATE_standard___collection___array
;
5642 fra
.me
.meth
= LOCATE_standard___collection___array___NativeArray___copy_to
;
5643 fra
.me
.has_broke
= 0;
5644 fra
.me
.REG_size
= 2;
5645 fra
.me
.nitni_local_ref_head
= NULL
;
5646 fra
.me
.REG
[0] = NIT_NULL
;
5647 fra
.me
.REG
[1] = NIT_NULL
;
5651 /* ../lib/standard/collection/array.nit:720 */
5652 (void)memcpy(((Nit_NativeArray
)fra
.me
.REG
[1])->val
, ((Nit_NativeArray
)fra
.me
.REG
[0])->val
, UNTAG_Int(REGB0
)*sizeof(val_t
));
5653 stack_frame_head
= fra
.me
.prev
;