1 /* This C file is generated by NIT to compile module standard___collection___list. */
2 #include "standard___collection___list._sep.h"
3 val_t
standard___collection___list___List_____bra(val_t p0
, val_t p1
){
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___list
;
10 fra
.me
.meth
= LOCATE_standard___collection___list___List_____bra
;
13 fra
.me
.nitni_local_ref_head
= NULL
;
14 fra
.me
.REG
[0] = NIT_NULL
;
17 /* ../lib/standard/collection/list.nit:22 */
18 fra
.me
.REG
[0] = CALL_standard___collection___list___List___get_node(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
19 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
20 if (UNTAG_Bool(REGB0
)) {
21 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 22);
23 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Container___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
26 stack_frame_head
= fra
.me
.prev
;
29 void standard___collection___list___List_____braeq(val_t p0
, val_t p1
, val_t p2
){
30 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
33 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
34 fra
.me
.file
= LOCATE_standard___collection___list
;
36 fra
.me
.meth
= LOCATE_standard___collection___list___List_____braeq
;
39 fra
.me
.nitni_local_ref_head
= NULL
;
40 fra
.me
.REG
[0] = NIT_NULL
;
41 fra
.me
.REG
[1] = NIT_NULL
;
45 /* ../lib/standard/collection/list.nit:24 */
46 fra
.me
.REG
[0] = CALL_standard___collection___list___List___get_node(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
47 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
48 if (UNTAG_Bool(REGB0
)) {
49 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 24);
51 CALL_standard___collection___abstract_collection___Container___item__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
52 stack_frame_head
= fra
.me
.prev
;
55 val_t
standard___collection___list___List___first(val_t p0
){
56 struct {struct stack_frame_t me
;} fra
;
59 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
60 fra
.me
.file
= LOCATE_standard___collection___list
;
62 fra
.me
.meth
= LOCATE_standard___collection___list___List___first
;
65 fra
.me
.nitni_local_ref_head
= NULL
;
66 fra
.me
.REG
[0] = NIT_NULL
;
68 /* ../lib/standard/collection/list.nit:27 */
69 fra
.me
.REG
[0] = ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]);
70 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
71 if (UNTAG_Bool(REGB0
)) {
72 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 27);
74 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Container___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
77 stack_frame_head
= fra
.me
.prev
;
80 void standard___collection___list___List___first__eq(val_t p0
, val_t p1
){
81 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
84 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
85 fra
.me
.file
= LOCATE_standard___collection___list
;
87 fra
.me
.meth
= LOCATE_standard___collection___list___List___first__eq
;
90 fra
.me
.nitni_local_ref_head
= NULL
;
91 fra
.me
.REG
[0] = NIT_NULL
;
92 fra
.me
.REG
[1] = NIT_NULL
;
95 /* ../lib/standard/collection/list.nit:30 */
96 fra
.me
.REG
[0] = ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]);
97 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
98 if (UNTAG_Bool(REGB0
)) {
99 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 30);
101 CALL_standard___collection___abstract_collection___Container___item__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
102 stack_frame_head
= fra
.me
.prev
;
105 val_t
standard___collection___list___List___last(val_t p0
){
106 struct {struct stack_frame_t me
;} fra
;
109 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
110 fra
.me
.file
= LOCATE_standard___collection___list
;
112 fra
.me
.meth
= LOCATE_standard___collection___list___List___last
;
113 fra
.me
.has_broke
= 0;
115 fra
.me
.nitni_local_ref_head
= NULL
;
116 fra
.me
.REG
[0] = NIT_NULL
;
118 /* ../lib/standard/collection/list.nit:33 */
119 fra
.me
.REG
[0] = ATTR_standard___collection___list___List____tail(fra
.me
.REG
[0]);
120 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
121 if (UNTAG_Bool(REGB0
)) {
122 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 33);
124 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Container___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
127 stack_frame_head
= fra
.me
.prev
;
128 return fra
.me
.REG
[0];
130 void standard___collection___list___List___last__eq(val_t p0
, val_t p1
){
131 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
134 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
135 fra
.me
.file
= LOCATE_standard___collection___list
;
137 fra
.me
.meth
= LOCATE_standard___collection___list___List___last__eq
;
138 fra
.me
.has_broke
= 0;
140 fra
.me
.nitni_local_ref_head
= NULL
;
141 fra
.me
.REG
[0] = NIT_NULL
;
142 fra
.me
.REG
[1] = NIT_NULL
;
145 /* ../lib/standard/collection/list.nit:36 */
146 fra
.me
.REG
[0] = ATTR_standard___collection___list___List____tail(fra
.me
.REG
[0]);
147 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
148 if (UNTAG_Bool(REGB0
)) {
149 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 36);
151 CALL_standard___collection___abstract_collection___Container___item__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
152 stack_frame_head
= fra
.me
.prev
;
155 val_t
standard___collection___list___List___is_empty(val_t p0
){
156 struct {struct stack_frame_t me
;} fra
;
160 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
161 fra
.me
.file
= LOCATE_standard___collection___list
;
163 fra
.me
.meth
= LOCATE_standard___collection___list___List___is_empty
;
164 fra
.me
.has_broke
= 0;
166 fra
.me
.nitni_local_ref_head
= NULL
;
167 fra
.me
.REG
[0] = NIT_NULL
;
169 /* ../lib/standard/collection/list.nit:41 */
170 fra
.me
.REG
[0] = ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]);
171 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
172 if (UNTAG_Bool(REGB0
)) {
174 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
175 if (UNTAG_Bool(REGB1
)) {
176 REGB1
= TAG_Bool(false);
179 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
185 stack_frame_head
= fra
.me
.prev
;
188 val_t
standard___collection___list___List___length(val_t p0
){
189 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
194 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
195 fra
.me
.file
= LOCATE_standard___collection___list
;
197 fra
.me
.meth
= LOCATE_standard___collection___list___List___length
;
198 fra
.me
.has_broke
= 0;
200 fra
.me
.nitni_local_ref_head
= NULL
;
201 fra
.me
.REG
[0] = NIT_NULL
;
202 fra
.me
.REG
[1] = NIT_NULL
;
204 /* ../lib/standard/collection/list.nit:46 */
206 /* ../lib/standard/collection/list.nit:47 */
207 fra
.me
.REG
[0] = ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]);
208 /* ../lib/standard/collection/list.nit:48 */
210 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
211 if (UNTAG_Bool(REGB1
)) {
213 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
214 if (UNTAG_Bool(REGB2
)) {
215 REGB2
= TAG_Bool(false);
218 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
222 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
223 if (UNTAG_Bool(REGB1
)) {
224 /* ../lib/standard/collection/list.nit:49 */
226 /* ../lib/standard/kernel.nit:235 */
227 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
228 /* ../lib/standard/collection/list.nit:49 */
230 /* ../lib/standard/collection/list.nit:50 */
231 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
232 if (UNTAG_Bool(REGB1
)) {
233 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 50);
235 fra
.me
.REG
[1] = CALL_standard___collection___list___ListNode___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
236 fra
.me
.REG
[0] = fra
.me
.REG
[1];
238 /* ../lib/standard/collection/list.nit:48 */
243 /* ../lib/standard/collection/list.nit:52 */
246 stack_frame_head
= fra
.me
.prev
;
249 val_t
standard___collection___list___List___has(val_t p0
, val_t p1
){
250 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
254 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
255 fra
.me
.file
= LOCATE_standard___collection___list
;
257 fra
.me
.meth
= LOCATE_standard___collection___list___List___has
;
258 fra
.me
.has_broke
= 0;
260 fra
.me
.nitni_local_ref_head
= NULL
;
261 fra
.me
.REG
[0] = NIT_NULL
;
262 fra
.me
.REG
[1] = NIT_NULL
;
263 fra
.me
.REG
[2] = NIT_NULL
;
266 /* ../lib/standard/collection/list.nit:56 */
267 fra
.me
.REG
[2] = ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]);
268 fra
.me
.REG
[2] = CALL_standard___collection___list___List___search_node_after(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
269 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
270 if (UNTAG_Bool(REGB0
)) {
272 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
273 if (UNTAG_Bool(REGB1
)) {
274 REGB1
= TAG_Bool(false);
277 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
281 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
284 stack_frame_head
= fra
.me
.prev
;
287 val_t
standard___collection___list___List___has_only(val_t p0
, val_t p1
){
288 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
292 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
293 fra
.me
.file
= LOCATE_standard___collection___list
;
295 fra
.me
.meth
= LOCATE_standard___collection___list___List___has_only
;
296 fra
.me
.has_broke
= 0;
298 fra
.me
.nitni_local_ref_head
= NULL
;
299 fra
.me
.REG
[0] = NIT_NULL
;
300 fra
.me
.REG
[1] = NIT_NULL
;
301 fra
.me
.REG
[2] = NIT_NULL
;
304 /* ../lib/standard/collection/list.nit:60 */
305 fra
.me
.REG
[0] = ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]);
306 /* ../lib/standard/collection/list.nit:61 */
308 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
309 if (UNTAG_Bool(REGB0
)) {
311 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
312 if (UNTAG_Bool(REGB1
)) {
313 REGB1
= TAG_Bool(false);
316 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
320 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
321 if (UNTAG_Bool(REGB0
)) {
322 /* ../lib/standard/collection/list.nit:62 */
323 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
324 if (UNTAG_Bool(REGB0
)) {
325 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 62);
327 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Container___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
328 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
329 if (UNTAG_Bool(REGB0
)) {
331 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
332 if (UNTAG_Bool(REGB1
)) {
333 REGB1
= TAG_Bool(false);
336 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
340 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
341 if (UNTAG_Bool(REGB0
)) {
342 REGB0
= TAG_Bool(false);
345 /* ../lib/standard/collection/list.nit:63 */
346 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
347 if (UNTAG_Bool(REGB1
)) {
348 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 63);
350 fra
.me
.REG
[2] = CALL_standard___collection___list___ListNode___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
351 fra
.me
.REG
[0] = fra
.me
.REG
[2];
353 /* ../lib/standard/collection/list.nit:61 */
358 /* ../lib/standard/collection/list.nit:65 */
359 REGB1
= TAG_Bool(true);
363 stack_frame_head
= fra
.me
.prev
;
366 val_t
standard___collection___list___List___count(val_t p0
, val_t p1
){
367 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
372 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
373 fra
.me
.file
= LOCATE_standard___collection___list
;
375 fra
.me
.meth
= LOCATE_standard___collection___list___List___count
;
376 fra
.me
.has_broke
= 0;
378 fra
.me
.nitni_local_ref_head
= NULL
;
379 fra
.me
.REG
[0] = NIT_NULL
;
380 fra
.me
.REG
[1] = NIT_NULL
;
381 fra
.me
.REG
[2] = NIT_NULL
;
384 /* ../lib/standard/collection/list.nit:70 */
386 /* ../lib/standard/collection/list.nit:71 */
387 fra
.me
.REG
[0] = ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]);
388 /* ../lib/standard/collection/list.nit:72 */
390 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
391 if (UNTAG_Bool(REGB1
)) {
393 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
394 if (UNTAG_Bool(REGB2
)) {
395 REGB2
= TAG_Bool(false);
398 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
402 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
403 if (UNTAG_Bool(REGB1
)) {
404 /* ../lib/standard/collection/list.nit:73 */
405 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
406 if (UNTAG_Bool(REGB1
)) {
407 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 73);
409 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Container___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
410 REGB1
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
411 if (UNTAG_Bool(REGB1
)) {
413 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
414 if (UNTAG_Bool(REGB2
)) {
415 REGB2
= TAG_Bool(false);
418 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
422 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
423 if (UNTAG_Bool(REGB1
)) {
425 /* ../lib/standard/kernel.nit:235 */
426 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
427 /* ../lib/standard/collection/list.nit:73 */
430 /* ../lib/standard/collection/list.nit:74 */
431 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
432 if (UNTAG_Bool(REGB1
)) {
433 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 74);
435 fra
.me
.REG
[2] = CALL_standard___collection___list___ListNode___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
436 fra
.me
.REG
[0] = fra
.me
.REG
[2];
438 /* ../lib/standard/collection/list.nit:72 */
443 /* ../lib/standard/collection/list.nit:76 */
446 stack_frame_head
= fra
.me
.prev
;
449 void standard___collection___list___List___push(val_t p0
, val_t p1
){
450 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
454 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
455 fra
.me
.file
= LOCATE_standard___collection___list
;
457 fra
.me
.meth
= LOCATE_standard___collection___list___List___push
;
458 fra
.me
.has_broke
= 0;
460 fra
.me
.nitni_local_ref_head
= NULL
;
461 fra
.me
.REG
[0] = NIT_NULL
;
462 fra
.me
.REG
[1] = NIT_NULL
;
463 fra
.me
.REG
[2] = NIT_NULL
;
466 /* ../lib/standard/collection/list.nit:84 */
467 fra
.me
.REG
[1] = NEW_ListNode_standard___collection___list___ListNode___init(fra
.me
.REG
[1]);
468 /* ../lib/standard/collection/list.nit:85 */
469 fra
.me
.REG
[2] = ATTR_standard___collection___list___List____tail(fra
.me
.REG
[0]);
470 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
471 if (UNTAG_Bool(REGB0
)) {
473 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
474 if (UNTAG_Bool(REGB1
)) {
475 REGB1
= TAG_Bool(false);
478 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
482 if (UNTAG_Bool(REGB0
)) {
483 /* ../lib/standard/collection/list.nit:86 */
484 ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
486 /* ../lib/standard/collection/list.nit:88 */
487 fra
.me
.REG
[2] = ATTR_standard___collection___list___List____tail(fra
.me
.REG
[0]);
488 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
489 if (UNTAG_Bool(REGB0
)) {
490 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 88);
492 CALL_standard___collection___list___ListNode___next__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
493 /* ../lib/standard/collection/list.nit:89 */
494 fra
.me
.REG
[2] = ATTR_standard___collection___list___List____tail(fra
.me
.REG
[0]);
495 CALL_standard___collection___list___ListNode___prev__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
497 /* ../lib/standard/collection/list.nit:91 */
498 ATTR_standard___collection___list___List____tail(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
499 stack_frame_head
= fra
.me
.prev
;
502 void standard___collection___list___List___unshift(val_t p0
, val_t p1
){
503 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
507 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
508 fra
.me
.file
= LOCATE_standard___collection___list
;
510 fra
.me
.meth
= LOCATE_standard___collection___list___List___unshift
;
511 fra
.me
.has_broke
= 0;
513 fra
.me
.nitni_local_ref_head
= NULL
;
514 fra
.me
.REG
[0] = NIT_NULL
;
515 fra
.me
.REG
[1] = NIT_NULL
;
516 fra
.me
.REG
[2] = NIT_NULL
;
519 /* ../lib/standard/collection/list.nit:97 */
520 fra
.me
.REG
[1] = NEW_ListNode_standard___collection___list___ListNode___init(fra
.me
.REG
[1]);
521 /* ../lib/standard/collection/list.nit:98 */
522 fra
.me
.REG
[2] = ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]);
523 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
524 if (UNTAG_Bool(REGB0
)) {
526 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
527 if (UNTAG_Bool(REGB1
)) {
528 REGB1
= TAG_Bool(false);
531 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
535 if (UNTAG_Bool(REGB0
)) {
536 /* ../lib/standard/collection/list.nit:99 */
537 ATTR_standard___collection___list___List____tail(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
539 /* ../lib/standard/collection/list.nit:101 */
540 fra
.me
.REG
[2] = ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]);
541 CALL_standard___collection___list___ListNode___next__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
542 /* ../lib/standard/collection/list.nit:102 */
543 fra
.me
.REG
[2] = ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]);
544 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
545 if (UNTAG_Bool(REGB0
)) {
546 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 102);
548 CALL_standard___collection___list___ListNode___prev__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
550 /* ../lib/standard/collection/list.nit:104 */
551 ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
552 stack_frame_head
= fra
.me
.prev
;
555 void standard___collection___list___List___link(val_t p0
, val_t p1
){
556 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
560 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
561 fra
.me
.file
= LOCATE_standard___collection___list
;
563 fra
.me
.meth
= LOCATE_standard___collection___list___List___link
;
564 fra
.me
.has_broke
= 0;
566 fra
.me
.nitni_local_ref_head
= NULL
;
567 fra
.me
.REG
[0] = NIT_NULL
;
568 fra
.me
.REG
[1] = NIT_NULL
;
569 fra
.me
.REG
[2] = NIT_NULL
;
570 fra
.me
.REG
[3] = NIT_NULL
;
573 /* ../lib/standard/collection/list.nit:112 */
574 fra
.me
.REG
[2] = ATTR_standard___collection___list___List____tail(fra
.me
.REG
[0]);
575 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
576 if (UNTAG_Bool(REGB0
)) {
578 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
579 if (UNTAG_Bool(REGB1
)) {
580 REGB1
= TAG_Bool(false);
583 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
587 if (UNTAG_Bool(REGB0
)) {
588 /* ../lib/standard/collection/list.nit:113 */
589 fra
.me
.REG
[2] = ATTR_standard___collection___list___List____head(fra
.me
.REG
[1]);
590 ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
592 /* ../lib/standard/collection/list.nit:114 */
593 fra
.me
.REG
[2] = ATTR_standard___collection___list___List____head(fra
.me
.REG
[1]);
594 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
595 if (UNTAG_Bool(REGB0
)) {
597 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
598 if (UNTAG_Bool(REGB1
)) {
599 REGB1
= TAG_Bool(false);
602 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
606 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
607 if (UNTAG_Bool(REGB0
)) {
608 /* ../lib/standard/collection/list.nit:115 */
609 fra
.me
.REG
[2] = ATTR_standard___collection___list___List____tail(fra
.me
.REG
[0]);
610 fra
.me
.REG
[3] = ATTR_standard___collection___list___List____head(fra
.me
.REG
[1]);
611 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
612 if (UNTAG_Bool(REGB0
)) {
613 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 115);
615 CALL_standard___collection___list___ListNode___next__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
616 /* ../lib/standard/collection/list.nit:116 */
617 fra
.me
.REG
[3] = ATTR_standard___collection___list___List____tail(fra
.me
.REG
[0]);
618 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
619 if (UNTAG_Bool(REGB0
)) {
620 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 116);
622 fra
.me
.REG
[3] = CALL_standard___collection___list___ListNode___next(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
623 fra
.me
.REG
[2] = ATTR_standard___collection___list___List____tail(fra
.me
.REG
[0]);
624 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
625 if (UNTAG_Bool(REGB0
)) {
626 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 116);
628 CALL_standard___collection___list___ListNode___prev__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
631 /* ../lib/standard/collection/list.nit:118 */
632 fra
.me
.REG
[2] = ATTR_standard___collection___list___List____tail(fra
.me
.REG
[1]);
633 ATTR_standard___collection___list___List____tail(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
634 /* ../lib/standard/collection/list.nit:119 */
635 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
636 stack_frame_head
= fra
.me
.prev
;
639 val_t
standard___collection___list___List___pop(val_t p0
){
640 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
644 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
645 fra
.me
.file
= LOCATE_standard___collection___list
;
647 fra
.me
.meth
= LOCATE_standard___collection___list___List___pop
;
648 fra
.me
.has_broke
= 0;
650 fra
.me
.nitni_local_ref_head
= NULL
;
651 fra
.me
.REG
[0] = NIT_NULL
;
652 fra
.me
.REG
[1] = NIT_NULL
;
653 fra
.me
.REG
[2] = NIT_NULL
;
655 /* ../lib/standard/collection/list.nit:127 */
656 fra
.me
.REG
[1] = ATTR_standard___collection___list___List____tail(fra
.me
.REG
[0]);
657 /* ../lib/standard/collection/list.nit:128 */
658 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
659 if (UNTAG_Bool(REGB0
)) {
660 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 128);
662 fra
.me
.REG
[2] = CALL_standard___collection___list___ListNode___prev(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
663 ATTR_standard___collection___list___List____tail(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
664 /* ../lib/standard/collection/list.nit:129 */
665 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
666 if (UNTAG_Bool(REGB0
)) {
667 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 129);
669 CALL_standard___collection___list___ListNode___prev__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
670 /* ../lib/standard/collection/list.nit:130 */
671 fra
.me
.REG
[2] = ATTR_standard___collection___list___List____tail(fra
.me
.REG
[0]);
672 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
673 if (UNTAG_Bool(REGB0
)) {
675 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
676 if (UNTAG_Bool(REGB1
)) {
677 REGB1
= TAG_Bool(false);
680 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
684 if (UNTAG_Bool(REGB0
)) {
685 /* ../lib/standard/collection/list.nit:131 */
686 ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]) = NIT_NULL
;
688 /* ../lib/standard/collection/list.nit:133 */
689 fra
.me
.REG
[0] = ATTR_standard___collection___list___List____tail(fra
.me
.REG
[0]);
690 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
691 if (UNTAG_Bool(REGB0
)) {
692 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 133);
694 CALL_standard___collection___list___ListNode___next__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
696 /* ../lib/standard/collection/list.nit:135 */
697 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
698 if (UNTAG_Bool(REGB0
)) {
699 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 135);
701 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___Container___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
704 stack_frame_head
= fra
.me
.prev
;
705 return fra
.me
.REG
[1];
707 val_t
standard___collection___list___List___shift(val_t p0
){
708 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
712 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
713 fra
.me
.file
= LOCATE_standard___collection___list
;
715 fra
.me
.meth
= LOCATE_standard___collection___list___List___shift
;
716 fra
.me
.has_broke
= 0;
718 fra
.me
.nitni_local_ref_head
= NULL
;
719 fra
.me
.REG
[0] = NIT_NULL
;
720 fra
.me
.REG
[1] = NIT_NULL
;
721 fra
.me
.REG
[2] = NIT_NULL
;
723 /* ../lib/standard/collection/list.nit:141 */
724 fra
.me
.REG
[1] = ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]);
725 /* ../lib/standard/collection/list.nit:142 */
726 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
727 if (UNTAG_Bool(REGB0
)) {
728 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 142);
730 fra
.me
.REG
[2] = CALL_standard___collection___list___ListNode___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
731 ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
732 /* ../lib/standard/collection/list.nit:143 */
733 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
734 if (UNTAG_Bool(REGB0
)) {
735 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 143);
737 CALL_standard___collection___list___ListNode___next__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
738 /* ../lib/standard/collection/list.nit:144 */
739 fra
.me
.REG
[2] = ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]);
740 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
741 if (UNTAG_Bool(REGB0
)) {
743 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
744 if (UNTAG_Bool(REGB1
)) {
745 REGB1
= TAG_Bool(false);
748 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
752 if (UNTAG_Bool(REGB0
)) {
753 /* ../lib/standard/collection/list.nit:145 */
754 ATTR_standard___collection___list___List____tail(fra
.me
.REG
[0]) = NIT_NULL
;
756 /* ../lib/standard/collection/list.nit:147 */
757 fra
.me
.REG
[0] = ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]);
758 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
759 if (UNTAG_Bool(REGB0
)) {
760 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 147);
762 CALL_standard___collection___list___ListNode___prev__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
764 /* ../lib/standard/collection/list.nit:149 */
765 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
766 if (UNTAG_Bool(REGB0
)) {
767 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 149);
769 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___Container___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
772 stack_frame_head
= fra
.me
.prev
;
773 return fra
.me
.REG
[1];
775 void standard___collection___list___List___remove(val_t p0
, val_t p1
){
776 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
780 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
781 fra
.me
.file
= LOCATE_standard___collection___list
;
783 fra
.me
.meth
= LOCATE_standard___collection___list___List___remove
;
784 fra
.me
.has_broke
= 0;
786 fra
.me
.nitni_local_ref_head
= NULL
;
787 fra
.me
.REG
[0] = NIT_NULL
;
788 fra
.me
.REG
[1] = NIT_NULL
;
789 fra
.me
.REG
[2] = NIT_NULL
;
792 /* ../lib/standard/collection/list.nit:154 */
793 fra
.me
.REG
[2] = ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]);
794 fra
.me
.REG
[2] = CALL_standard___collection___list___List___search_node_after(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
795 /* ../lib/standard/collection/list.nit:155 */
796 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
797 if (UNTAG_Bool(REGB0
)) {
799 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
800 if (UNTAG_Bool(REGB1
)) {
801 REGB1
= TAG_Bool(false);
804 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
808 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
809 if (UNTAG_Bool(REGB0
)) {
810 CALL_standard___collection___list___List___remove_node(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
812 stack_frame_head
= fra
.me
.prev
;
815 void standard___collection___list___List___remove_at(val_t p0
, val_t p1
){
816 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
820 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
821 fra
.me
.file
= LOCATE_standard___collection___list
;
823 fra
.me
.meth
= LOCATE_standard___collection___list___List___remove_at
;
824 fra
.me
.has_broke
= 0;
826 fra
.me
.nitni_local_ref_head
= NULL
;
827 fra
.me
.REG
[0] = NIT_NULL
;
828 fra
.me
.REG
[1] = NIT_NULL
;
831 /* ../lib/standard/collection/list.nit:160 */
832 fra
.me
.REG
[1] = CALL_standard___collection___list___List___get_node(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
833 /* ../lib/standard/collection/list.nit:161 */
834 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
835 if (UNTAG_Bool(REGB0
)) {
837 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
838 if (UNTAG_Bool(REGB1
)) {
839 REGB1
= TAG_Bool(false);
842 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
846 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
847 if (UNTAG_Bool(REGB0
)) {
848 CALL_standard___collection___list___List___remove_node(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
850 stack_frame_head
= fra
.me
.prev
;
853 void standard___collection___list___List___clear(val_t p0
){
854 struct {struct stack_frame_t me
;} fra
;
856 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
857 fra
.me
.file
= LOCATE_standard___collection___list
;
859 fra
.me
.meth
= LOCATE_standard___collection___list___List___clear
;
860 fra
.me
.has_broke
= 0;
862 fra
.me
.nitni_local_ref_head
= NULL
;
863 fra
.me
.REG
[0] = NIT_NULL
;
865 /* ../lib/standard/collection/list.nit:166 */
866 ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]) = NIT_NULL
;
867 /* ../lib/standard/collection/list.nit:167 */
868 ATTR_standard___collection___list___List____tail(fra
.me
.REG
[0]) = NIT_NULL
;
869 stack_frame_head
= fra
.me
.prev
;
872 val_t
standard___collection___list___List___iterator(val_t p0
){
873 struct {struct stack_frame_t me
;} fra
;
875 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
876 fra
.me
.file
= LOCATE_standard___collection___list
;
878 fra
.me
.meth
= LOCATE_standard___collection___list___List___iterator
;
879 fra
.me
.has_broke
= 0;
881 fra
.me
.nitni_local_ref_head
= NULL
;
882 fra
.me
.REG
[0] = NIT_NULL
;
884 /* ../lib/standard/collection/list.nit:171 */
885 fra
.me
.REG
[0] = NEW_ListIterator_standard___collection___list___ListIterator___init(fra
.me
.REG
[0]);
888 stack_frame_head
= fra
.me
.prev
;
889 return fra
.me
.REG
[0];
891 void standard___collection___list___List___init(val_t p0
, int* init_table
){
892 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___list___List
].i
;
893 struct {struct stack_frame_t me
;} fra
;
895 if (init_table
[itpos0
]) return;
896 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
897 fra
.me
.file
= LOCATE_standard___collection___list
;
899 fra
.me
.meth
= LOCATE_standard___collection___list___List___init
;
900 fra
.me
.has_broke
= 0;
902 fra
.me
.nitni_local_ref_head
= NULL
;
903 fra
.me
.REG
[0] = NIT_NULL
;
905 stack_frame_head
= fra
.me
.prev
;
906 init_table
[itpos0
] = 1;
909 void standard___collection___list___List___from(val_t p0
, val_t p1
, int* init_table
){
910 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___list___List
].i
;
911 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
913 if (init_table
[itpos1
]) return;
914 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
915 fra
.me
.file
= LOCATE_standard___collection___list
;
917 fra
.me
.meth
= LOCATE_standard___collection___list___List___from
;
918 fra
.me
.has_broke
= 0;
920 fra
.me
.nitni_local_ref_head
= NULL
;
921 fra
.me
.REG
[0] = NIT_NULL
;
922 fra
.me
.REG
[1] = NIT_NULL
;
925 /* ../lib/standard/collection/list.nit:177 */
926 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
927 stack_frame_head
= fra
.me
.prev
;
928 init_table
[itpos1
] = 1;
931 val_t
standard___collection___list___List___get_node(val_t p0
, val_t p1
){
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___list
;
940 fra
.me
.meth
= LOCATE_standard___collection___list___List___get_node
;
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
;
949 /* ../lib/standard/collection/list.nit:188 */
950 fra
.me
.REG
[0] = ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]);
951 /* ../lib/standard/collection/list.nit:189 */
953 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
954 if (UNTAG_Bool(REGB2
)) {
956 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
958 /* ../lib/standard/kernel.nit:232 */
959 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
960 /* ../lib/standard/collection/list.nit:189 */
961 if (UNTAG_Bool(REGB1
)) {
962 /* ../lib/standard/collection/list.nit:190 */
963 fra
.me
.REG
[1] = NIT_NULL
;
966 /* ../lib/standard/collection/list.nit:192 */
968 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
969 if (UNTAG_Bool(REGB1
)) {
971 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
972 if (UNTAG_Bool(REGB2
)) {
973 REGB2
= TAG_Bool(false);
976 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
980 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
981 if (UNTAG_Bool(REGB1
)) {
983 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
984 if (UNTAG_Bool(REGB2
)) {
986 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
988 /* ../lib/standard/kernel.nit:234 */
989 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
991 /* ../lib/standard/collection/list.nit:192 */
992 REGB2
= TAG_Bool(false);
995 if (UNTAG_Bool(REGB1
)) {
996 /* ../lib/standard/collection/list.nit:193 */
997 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
998 if (UNTAG_Bool(REGB1
)) {
999 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 193);
1001 fra
.me
.REG
[2] = CALL_standard___collection___list___ListNode___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1002 fra
.me
.REG
[0] = fra
.me
.REG
[2];
1003 /* ../lib/standard/collection/list.nit:194 */
1005 /* ../lib/standard/kernel.nit:237 */
1006 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
1007 /* ../lib/standard/collection/list.nit:194 */
1010 /* ../lib/standard/collection/list.nit:192 */
1015 /* ../lib/standard/collection/list.nit:196 */
1016 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1019 stack_frame_head
= fra
.me
.prev
;
1020 return fra
.me
.REG
[1];
1022 val_t
standard___collection___list___List___search_node_after(val_t p0
, val_t p1
, val_t p2
){
1023 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1027 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1028 fra
.me
.file
= LOCATE_standard___collection___list
;
1030 fra
.me
.meth
= LOCATE_standard___collection___list___List___search_node_after
;
1031 fra
.me
.has_broke
= 0;
1032 fra
.me
.REG_size
= 3;
1033 fra
.me
.nitni_local_ref_head
= NULL
;
1034 fra
.me
.REG
[0] = NIT_NULL
;
1035 fra
.me
.REG
[1] = NIT_NULL
;
1036 fra
.me
.REG
[2] = NIT_NULL
;
1040 /* ../lib/standard/collection/list.nit:203 */
1042 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1043 if (UNTAG_Bool(REGB0
)) {
1045 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1046 if (UNTAG_Bool(REGB1
)) {
1047 REGB1
= TAG_Bool(false);
1050 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1054 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1055 if (UNTAG_Bool(REGB0
)) {
1056 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1057 if (UNTAG_Bool(REGB0
)) {
1058 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 203);
1060 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Container___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1061 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[0],fra
.me
.REG
[1]));
1062 if (UNTAG_Bool(REGB0
)) {
1064 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1065 if (UNTAG_Bool(REGB1
)) {
1066 REGB1
= TAG_Bool(false);
1069 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1073 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1075 REGB1
= TAG_Bool(false);
1078 if (UNTAG_Bool(REGB0
)) {
1079 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1080 if (UNTAG_Bool(REGB0
)) {
1081 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 203);
1083 fra
.me
.REG
[0] = CALL_standard___collection___list___ListNode___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1084 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1090 /* ../lib/standard/collection/list.nit:204 */
1093 stack_frame_head
= fra
.me
.prev
;
1094 return fra
.me
.REG
[2];
1096 void standard___collection___list___List___remove_node(val_t p0
, val_t p1
){
1097 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1101 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1102 fra
.me
.file
= LOCATE_standard___collection___list
;
1104 fra
.me
.meth
= LOCATE_standard___collection___list___List___remove_node
;
1105 fra
.me
.has_broke
= 0;
1106 fra
.me
.REG_size
= 3;
1107 fra
.me
.nitni_local_ref_head
= NULL
;
1108 fra
.me
.REG
[0] = NIT_NULL
;
1109 fra
.me
.REG
[1] = NIT_NULL
;
1110 fra
.me
.REG
[2] = NIT_NULL
;
1113 /* ../lib/standard/collection/list.nit:210 */
1114 fra
.me
.REG
[2] = CALL_standard___collection___list___ListNode___prev(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1115 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1116 if (UNTAG_Bool(REGB0
)) {
1118 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1119 if (UNTAG_Bool(REGB1
)) {
1120 REGB1
= TAG_Bool(false);
1123 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1127 if (UNTAG_Bool(REGB0
)) {
1128 /* ../lib/standard/collection/list.nit:211 */
1129 fra
.me
.REG
[2] = CALL_standard___collection___list___ListNode___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1130 ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
1131 /* ../lib/standard/collection/list.nit:212 */
1132 fra
.me
.REG
[2] = CALL_standard___collection___list___ListNode___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1133 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1134 if (UNTAG_Bool(REGB0
)) {
1136 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1137 if (UNTAG_Bool(REGB1
)) {
1138 REGB1
= TAG_Bool(false);
1141 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1145 if (UNTAG_Bool(REGB0
)) {
1146 /* ../lib/standard/collection/list.nit:213 */
1147 ATTR_standard___collection___list___List____tail(fra
.me
.REG
[0]) = NIT_NULL
;
1149 /* ../lib/standard/collection/list.nit:215 */
1150 fra
.me
.REG
[2] = CALL_standard___collection___list___ListNode___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1151 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1152 if (UNTAG_Bool(REGB0
)) {
1153 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 215);
1155 CALL_standard___collection___list___ListNode___prev__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1158 /* ../lib/standard/collection/list.nit:217 */
1159 fra
.me
.REG
[2] = CALL_standard___collection___list___ListNode___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1160 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1161 if (UNTAG_Bool(REGB0
)) {
1163 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1164 if (UNTAG_Bool(REGB1
)) {
1165 REGB1
= TAG_Bool(false);
1168 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1172 if (UNTAG_Bool(REGB0
)) {
1173 /* ../lib/standard/collection/list.nit:218 */
1174 fra
.me
.REG
[2] = CALL_standard___collection___list___ListNode___prev(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1175 ATTR_standard___collection___list___List____tail(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
1176 /* ../lib/standard/collection/list.nit:219 */
1177 fra
.me
.REG
[2] = CALL_standard___collection___list___ListNode___prev(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1178 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1179 if (UNTAG_Bool(REGB0
)) {
1180 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 219);
1182 CALL_standard___collection___list___ListNode___next__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1184 /* ../lib/standard/collection/list.nit:221 */
1185 fra
.me
.REG
[2] = CALL_standard___collection___list___ListNode___prev(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1186 fra
.me
.REG
[0] = CALL_standard___collection___list___ListNode___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1187 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1188 if (UNTAG_Bool(REGB0
)) {
1189 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 221);
1191 CALL_standard___collection___list___ListNode___next__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1192 /* ../lib/standard/collection/list.nit:222 */
1193 fra
.me
.REG
[0] = CALL_standard___collection___list___ListNode___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1194 fra
.me
.REG
[1] = CALL_standard___collection___list___ListNode___prev(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1195 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1196 if (UNTAG_Bool(REGB0
)) {
1197 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 222);
1199 CALL_standard___collection___list___ListNode___prev__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1202 stack_frame_head
= fra
.me
.prev
;
1205 void standard___collection___list___List___insert_before(val_t p0
, val_t p1
, val_t p2
){
1206 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1210 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1211 fra
.me
.file
= LOCATE_standard___collection___list
;
1213 fra
.me
.meth
= LOCATE_standard___collection___list___List___insert_before
;
1214 fra
.me
.has_broke
= 0;
1215 fra
.me
.REG_size
= 4;
1216 fra
.me
.nitni_local_ref_head
= NULL
;
1217 fra
.me
.REG
[0] = NIT_NULL
;
1218 fra
.me
.REG
[1] = NIT_NULL
;
1219 fra
.me
.REG
[2] = NIT_NULL
;
1220 fra
.me
.REG
[3] = NIT_NULL
;
1224 /* ../lib/standard/collection/list.nit:228 */
1225 fra
.me
.REG
[1] = NEW_ListNode_standard___collection___list___ListNode___init(fra
.me
.REG
[1]);
1226 /* ../lib/standard/collection/list.nit:229 */
1227 fra
.me
.REG
[3] = CALL_standard___collection___list___ListNode___prev(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1228 /* ../lib/standard/collection/list.nit:230 */
1229 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1230 if (UNTAG_Bool(REGB0
)) {
1232 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1233 if (UNTAG_Bool(REGB1
)) {
1234 REGB1
= TAG_Bool(false);
1237 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1241 if (UNTAG_Bool(REGB0
)) {
1242 /* ../lib/standard/collection/list.nit:231 */
1243 ATTR_standard___collection___list___List____head(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1245 /* ../lib/standard/collection/list.nit:233 */
1246 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1247 if (UNTAG_Bool(REGB0
)) {
1248 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 233);
1250 CALL_standard___collection___list___ListNode___next__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1252 /* ../lib/standard/collection/list.nit:235 */
1253 CALL_standard___collection___list___ListNode___prev__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1254 /* ../lib/standard/collection/list.nit:236 */
1255 CALL_standard___collection___list___ListNode___next__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1256 /* ../lib/standard/collection/list.nit:237 */
1257 CALL_standard___collection___list___ListNode___prev__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1258 stack_frame_head
= fra
.me
.prev
;
1261 val_t
standard___collection___list___ListIterator___item(val_t p0
){
1262 struct {struct stack_frame_t me
;} fra
;
1265 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1266 fra
.me
.file
= LOCATE_standard___collection___list
;
1268 fra
.me
.meth
= LOCATE_standard___collection___list___ListIterator___item
;
1269 fra
.me
.has_broke
= 0;
1270 fra
.me
.REG_size
= 1;
1271 fra
.me
.nitni_local_ref_head
= NULL
;
1272 fra
.me
.REG
[0] = NIT_NULL
;
1274 /* ../lib/standard/collection/list.nit:244 */
1275 fra
.me
.REG
[0] = ATTR_standard___collection___list___ListIterator____node(fra
.me
.REG
[0]);
1276 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1277 if (UNTAG_Bool(REGB0
)) {
1278 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 244);
1280 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Container___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1283 stack_frame_head
= fra
.me
.prev
;
1284 return fra
.me
.REG
[0];
1286 void standard___collection___list___ListIterator___item__eq(val_t p0
, val_t p1
){
1287 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1290 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1291 fra
.me
.file
= LOCATE_standard___collection___list
;
1293 fra
.me
.meth
= LOCATE_standard___collection___list___ListIterator___item__eq
;
1294 fra
.me
.has_broke
= 0;
1295 fra
.me
.REG_size
= 2;
1296 fra
.me
.nitni_local_ref_head
= NULL
;
1297 fra
.me
.REG
[0] = NIT_NULL
;
1298 fra
.me
.REG
[1] = NIT_NULL
;
1301 /* ../lib/standard/collection/list.nit:246 */
1302 fra
.me
.REG
[0] = ATTR_standard___collection___list___ListIterator____node(fra
.me
.REG
[0]);
1303 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1304 if (UNTAG_Bool(REGB0
)) {
1305 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 246);
1307 CALL_standard___collection___abstract_collection___Container___item__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1308 stack_frame_head
= fra
.me
.prev
;
1311 val_t
standard___collection___list___ListIterator___is_ok(val_t p0
){
1312 struct {struct stack_frame_t me
;} fra
;
1316 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1317 fra
.me
.file
= LOCATE_standard___collection___list
;
1319 fra
.me
.meth
= LOCATE_standard___collection___list___ListIterator___is_ok
;
1320 fra
.me
.has_broke
= 0;
1321 fra
.me
.REG_size
= 1;
1322 fra
.me
.nitni_local_ref_head
= NULL
;
1323 fra
.me
.REG
[0] = NIT_NULL
;
1325 /* ../lib/standard/collection/list.nit:248 */
1326 fra
.me
.REG
[0] = ATTR_standard___collection___list___ListIterator____node(fra
.me
.REG
[0]);
1327 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1328 if (UNTAG_Bool(REGB0
)) {
1330 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1331 if (UNTAG_Bool(REGB1
)) {
1332 REGB1
= TAG_Bool(false);
1335 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
1339 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1342 stack_frame_head
= fra
.me
.prev
;
1345 void standard___collection___list___ListIterator___next(val_t p0
){
1346 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1350 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1351 fra
.me
.file
= LOCATE_standard___collection___list
;
1353 fra
.me
.meth
= LOCATE_standard___collection___list___ListIterator___next
;
1354 fra
.me
.has_broke
= 0;
1355 fra
.me
.REG_size
= 2;
1356 fra
.me
.nitni_local_ref_head
= NULL
;
1357 fra
.me
.REG
[0] = NIT_NULL
;
1358 fra
.me
.REG
[1] = NIT_NULL
;
1360 /* ../lib/standard/collection/list.nit:252 */
1361 fra
.me
.REG
[1] = ATTR_standard___collection___list___ListIterator____node(fra
.me
.REG
[0]);
1362 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1363 if (UNTAG_Bool(REGB0
)) {
1364 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___list
, 252);
1366 fra
.me
.REG
[1] = CALL_standard___collection___list___ListNode___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1367 ATTR_standard___collection___list___ListIterator____node(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1368 /* ../lib/standard/collection/list.nit:253 */
1369 REGB0
= ATTR_standard___collection___list___ListIterator____index(fra
.me
.REG
[0]);
1371 /* ../lib/standard/kernel.nit:235 */
1372 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1373 /* ../lib/standard/collection/list.nit:253 */
1374 ATTR_standard___collection___list___ListIterator____index(fra
.me
.REG
[0]) = REGB1
;
1375 stack_frame_head
= fra
.me
.prev
;
1378 void standard___collection___list___ListIterator___init(val_t p0
, val_t p1
, int* init_table
){
1379 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___list___ListIterator
].i
;
1380 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1383 if (init_table
[itpos2
]) return;
1384 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1385 fra
.me
.file
= LOCATE_standard___collection___list
;
1387 fra
.me
.meth
= LOCATE_standard___collection___list___ListIterator___init
;
1388 fra
.me
.has_broke
= 0;
1389 fra
.me
.REG_size
= 2;
1390 fra
.me
.nitni_local_ref_head
= NULL
;
1391 fra
.me
.REG
[0] = NIT_NULL
;
1392 fra
.me
.REG
[1] = NIT_NULL
;
1395 /* ../lib/standard/collection/list.nit:259 */
1396 ATTR_standard___collection___list___ListIterator____list(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1397 /* ../lib/standard/collection/list.nit:260 */
1398 fra
.me
.REG
[1] = ATTR_standard___collection___list___List____head(fra
.me
.REG
[1]);
1399 ATTR_standard___collection___list___ListIterator____node(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1400 /* ../lib/standard/collection/list.nit:261 */
1402 ATTR_standard___collection___list___ListIterator____index(fra
.me
.REG
[0]) = REGB0
;
1403 stack_frame_head
= fra
.me
.prev
;
1404 init_table
[itpos2
] = 1;
1407 val_t
standard___collection___list___ListIterator___index(val_t p0
){
1408 struct {struct stack_frame_t me
;} fra
;
1411 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1412 fra
.me
.file
= LOCATE_standard___collection___list
;
1414 fra
.me
.meth
= LOCATE_standard___collection___list___ListIterator___index
;
1415 fra
.me
.has_broke
= 0;
1416 fra
.me
.REG_size
= 1;
1417 fra
.me
.nitni_local_ref_head
= NULL
;
1418 fra
.me
.REG
[0] = NIT_NULL
;
1420 /* ../lib/standard/collection/list.nit:270 */
1421 REGB0
= TAG_Bool(ATTR_standard___collection___list___ListIterator____index(fra
.me
.REG
[0])!=NIT_NULL
);
1422 if (UNTAG_Bool(REGB0
)) {
1424 nit_abort("Uninitialized attribute %s", "_index", LOCATE_standard___collection___list
, 270);
1426 REGB0
= ATTR_standard___collection___list___ListIterator____index(fra
.me
.REG
[0]);
1427 stack_frame_head
= fra
.me
.prev
;
1430 void standard___collection___list___ListIterator___delete(val_t p0
){
1431 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1434 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1435 fra
.me
.file
= LOCATE_standard___collection___list
;
1437 fra
.me
.meth
= LOCATE_standard___collection___list___ListIterator___delete
;
1438 fra
.me
.has_broke
= 0;
1439 fra
.me
.REG_size
= 3;
1440 fra
.me
.nitni_local_ref_head
= NULL
;
1441 fra
.me
.REG
[0] = NIT_NULL
;
1442 fra
.me
.REG
[1] = NIT_NULL
;
1443 fra
.me
.REG
[2] = NIT_NULL
;
1445 /* ../lib/standard/collection/list.nit:273 */
1446 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1447 /* ../lib/standard/collection/list.nit:276 */
1448 REGB0
= TAG_Bool(ATTR_standard___collection___list___ListIterator____list(fra
.me
.REG
[1])!=NIT_NULL
);
1449 if (UNTAG_Bool(REGB0
)) {
1451 nit_abort("Uninitialized attribute %s", "_list", LOCATE_standard___collection___list
, 276);
1453 fra
.me
.REG
[2] = ATTR_standard___collection___list___ListIterator____list(fra
.me
.REG
[1]);
1454 fra
.me
.REG
[1] = ATTR_standard___collection___list___ListIterator____node(fra
.me
.REG
[1]);
1455 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
1456 if (UNTAG_Bool(REGB0
)) {
1458 nit_abort("Cast failed", NULL
, LOCATE_standard___collection___list
, 276);
1460 CALL_standard___collection___list___List___remove_node(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1461 stack_frame_head
= fra
.me
.prev
;
1464 void standard___collection___list___ListIterator___insert_before(val_t p0
, val_t p1
){
1465 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1468 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1469 fra
.me
.file
= LOCATE_standard___collection___list
;
1471 fra
.me
.meth
= LOCATE_standard___collection___list___ListIterator___insert_before
;
1472 fra
.me
.has_broke
= 0;
1473 fra
.me
.REG_size
= 4;
1474 fra
.me
.nitni_local_ref_head
= NULL
;
1475 fra
.me
.REG
[0] = NIT_NULL
;
1476 fra
.me
.REG
[1] = NIT_NULL
;
1477 fra
.me
.REG
[2] = NIT_NULL
;
1478 fra
.me
.REG
[3] = NIT_NULL
;
1481 /* ../lib/standard/collection/list.nit:279 */
1482 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1483 /* ../lib/standard/collection/list.nit:282 */
1484 REGB0
= TAG_Bool(ATTR_standard___collection___list___ListIterator____list(fra
.me
.REG
[2])!=NIT_NULL
);
1485 if (UNTAG_Bool(REGB0
)) {
1487 nit_abort("Uninitialized attribute %s", "_list", LOCATE_standard___collection___list
, 282);
1489 fra
.me
.REG
[3] = ATTR_standard___collection___list___ListIterator____list(fra
.me
.REG
[2]);
1490 fra
.me
.REG
[2] = ATTR_standard___collection___list___ListIterator____node(fra
.me
.REG
[2]);
1491 REGB0
= TAG_Bool(fra
.me
.REG
[2]!=NIT_NULL
);
1492 if (UNTAG_Bool(REGB0
)) {
1494 nit_abort("Cast failed", NULL
, LOCATE_standard___collection___list
, 282);
1496 CALL_standard___collection___list___List___insert_before(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[2]);
1497 stack_frame_head
= fra
.me
.prev
;
1500 void standard___collection___list___ListNode___init(val_t p0
, val_t p1
, int* init_table
){
1501 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___list___ListNode
].i
;
1502 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1504 if (init_table
[itpos3
]) return;
1505 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1506 fra
.me
.file
= LOCATE_standard___collection___list
;
1508 fra
.me
.meth
= LOCATE_standard___collection___list___ListNode___init
;
1509 fra
.me
.has_broke
= 0;
1510 fra
.me
.REG_size
= 4;
1511 fra
.me
.nitni_local_ref_head
= NULL
;
1512 fra
.me
.REG
[0] = NIT_NULL
;
1513 fra
.me
.REG
[1] = NIT_NULL
;
1514 fra
.me
.REG
[2] = NIT_NULL
;
1515 fra
.me
.REG
[3] = NIT_NULL
;
1518 /* ../lib/standard/collection/list.nit:289 */
1519 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1520 fra
.me
.REG
[3] = fra
.me
.REG
[1];
1521 CALL_standard___collection___abstract_collection___Container___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], init_table
);
1522 /* ../lib/standard/collection/list.nit:291 */
1523 CALL_standard___collection___abstract_collection___Container___item__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1524 stack_frame_head
= fra
.me
.prev
;
1525 init_table
[itpos3
] = 1;
1528 val_t
standard___collection___list___ListNode___next(val_t p0
){
1529 struct {struct stack_frame_t me
;} fra
;
1531 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1532 fra
.me
.file
= LOCATE_standard___collection___list
;
1534 fra
.me
.meth
= LOCATE_standard___collection___list___ListNode___next
;
1535 fra
.me
.has_broke
= 0;
1536 fra
.me
.REG_size
= 1;
1537 fra
.me
.nitni_local_ref_head
= NULL
;
1538 fra
.me
.REG
[0] = NIT_NULL
;
1540 /* ../lib/standard/collection/list.nit:294 */
1541 fra
.me
.REG
[0] = ATTR_standard___collection___list___ListNode____next(fra
.me
.REG
[0]);
1542 stack_frame_head
= fra
.me
.prev
;
1543 return fra
.me
.REG
[0];
1545 void standard___collection___list___ListNode___next__eq(val_t p0
, val_t p1
){
1546 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1548 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1549 fra
.me
.file
= LOCATE_standard___collection___list
;
1551 fra
.me
.meth
= LOCATE_standard___collection___list___ListNode___next__eq
;
1552 fra
.me
.has_broke
= 0;
1553 fra
.me
.REG_size
= 2;
1554 fra
.me
.nitni_local_ref_head
= NULL
;
1555 fra
.me
.REG
[0] = NIT_NULL
;
1556 fra
.me
.REG
[1] = NIT_NULL
;
1559 /* ../lib/standard/collection/list.nit:294 */
1560 ATTR_standard___collection___list___ListNode____next(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1561 stack_frame_head
= fra
.me
.prev
;
1564 val_t
standard___collection___list___ListNode___prev(val_t p0
){
1565 struct {struct stack_frame_t me
;} fra
;
1567 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1568 fra
.me
.file
= LOCATE_standard___collection___list
;
1570 fra
.me
.meth
= LOCATE_standard___collection___list___ListNode___prev
;
1571 fra
.me
.has_broke
= 0;
1572 fra
.me
.REG_size
= 1;
1573 fra
.me
.nitni_local_ref_head
= NULL
;
1574 fra
.me
.REG
[0] = NIT_NULL
;
1576 /* ../lib/standard/collection/list.nit:297 */
1577 fra
.me
.REG
[0] = ATTR_standard___collection___list___ListNode____prev(fra
.me
.REG
[0]);
1578 stack_frame_head
= fra
.me
.prev
;
1579 return fra
.me
.REG
[0];
1581 void standard___collection___list___ListNode___prev__eq(val_t p0
, val_t p1
){
1582 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1584 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1585 fra
.me
.file
= LOCATE_standard___collection___list
;
1587 fra
.me
.meth
= LOCATE_standard___collection___list___ListNode___prev__eq
;
1588 fra
.me
.has_broke
= 0;
1589 fra
.me
.REG_size
= 2;
1590 fra
.me
.nitni_local_ref_head
= NULL
;
1591 fra
.me
.REG
[0] = NIT_NULL
;
1592 fra
.me
.REG
[1] = NIT_NULL
;
1595 /* ../lib/standard/collection/list.nit:297 */
1596 ATTR_standard___collection___list___ListNode____prev(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1597 stack_frame_head
= fra
.me
.prev
;