Merge branch 'll-and-gg-operators' into wip
[nit.git] / c_src / abstract_collection._sep.c
1 /* This C file is generated by NIT to compile module abstract_collection. */
2 #include "abstract_collection._sep.h"
3 val_t abstract_collection___Collection___iterator(val_t p0){
4 struct {struct stack_frame_t me;} fra;
5 val_t tmp;
6 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7 fra.me.file = LOCATE_abstract_collection;
8 fra.me.line = 42;
9 fra.me.meth = LOCATE_abstract_collection___Collection___iterator;
10 fra.me.has_broke = 0;
11 fra.me.REG_size = 0;
12 /* ./../lib/standard//collection//abstract_collection.nit:42 */
13 fprintf(stderr, "Deferred method called");
14 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 42);
15 nit_exit(1);
16 stack_frame_head = fra.me.prev;
17 return NIT_NULL;
18 }
19 val_t abstract_collection___Collection___is_empty(val_t p0){
20 struct {struct stack_frame_t me;} fra;
21 val_t tmp;
22 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23 fra.me.file = LOCATE_abstract_collection;
24 fra.me.line = 45;
25 fra.me.meth = LOCATE_abstract_collection___Collection___is_empty;
26 fra.me.has_broke = 0;
27 fra.me.REG_size = 0;
28 /* ./../lib/standard//collection//abstract_collection.nit:45 */
29 fprintf(stderr, "Deferred method called");
30 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 45);
31 nit_exit(1);
32 stack_frame_head = fra.me.prev;
33 return NIT_NULL;
34 }
35 val_t abstract_collection___Collection___length(val_t p0){
36 struct {struct stack_frame_t me;} fra;
37 val_t tmp;
38 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39 fra.me.file = LOCATE_abstract_collection;
40 fra.me.line = 48;
41 fra.me.meth = LOCATE_abstract_collection___Collection___length;
42 fra.me.has_broke = 0;
43 fra.me.REG_size = 0;
44 /* ./../lib/standard//collection//abstract_collection.nit:48 */
45 fprintf(stderr, "Deferred method called");
46 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 48);
47 nit_exit(1);
48 stack_frame_head = fra.me.prev;
49 return NIT_NULL;
50 }
51 val_t abstract_collection___Collection___has(val_t p0, val_t p1){
52 struct {struct stack_frame_t me;} fra;
53 val_t tmp;
54 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55 fra.me.file = LOCATE_abstract_collection;
56 fra.me.line = 51;
57 fra.me.meth = LOCATE_abstract_collection___Collection___has;
58 fra.me.has_broke = 0;
59 fra.me.REG_size = 0;
60 /* ./../lib/standard//collection//abstract_collection.nit:51 */
61 fprintf(stderr, "Deferred method called");
62 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 51);
63 nit_exit(1);
64 stack_frame_head = fra.me.prev;
65 return NIT_NULL;
66 }
67 val_t abstract_collection___Collection___has_only(val_t p0, val_t p1){
68 struct {struct stack_frame_t me;} fra;
69 val_t tmp;
70 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71 fra.me.file = LOCATE_abstract_collection;
72 fra.me.line = 55;
73 fra.me.meth = LOCATE_abstract_collection___Collection___has_only;
74 fra.me.has_broke = 0;
75 fra.me.REG_size = 0;
76 /* ./../lib/standard//collection//abstract_collection.nit:55 */
77 fprintf(stderr, "Deferred method called");
78 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 55);
79 nit_exit(1);
80 stack_frame_head = fra.me.prev;
81 return NIT_NULL;
82 }
83 val_t abstract_collection___Collection___count(val_t p0, val_t p1){
84 struct {struct stack_frame_t me;} fra;
85 val_t tmp;
86 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87 fra.me.file = LOCATE_abstract_collection;
88 fra.me.line = 60;
89 fra.me.meth = LOCATE_abstract_collection___Collection___count;
90 fra.me.has_broke = 0;
91 fra.me.REG_size = 0;
92 /* ./../lib/standard//collection//abstract_collection.nit:60 */
93 fprintf(stderr, "Deferred method called");
94 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 60);
95 nit_exit(1);
96 stack_frame_head = fra.me.prev;
97 return NIT_NULL;
98 }
99 val_t abstract_collection___Collection___first(val_t p0){
100 struct {struct stack_frame_t me;} fra;
101 val_t tmp;
102 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103 fra.me.file = LOCATE_abstract_collection;
104 fra.me.line = 64;
105 fra.me.meth = LOCATE_abstract_collection___Collection___first;
106 fra.me.has_broke = 0;
107 fra.me.REG_size = 0;
108 /* ./../lib/standard//collection//abstract_collection.nit:64 */
109 fprintf(stderr, "Deferred method called");
110 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 64);
111 nit_exit(1);
112 stack_frame_head = fra.me.prev;
113 return NIT_NULL;
114 }
115 val_t abstract_collection___NaiveCollection___is_empty(val_t p0){
116 struct {struct stack_frame_t me;} fra;
117 val_t REGB0;
118 val_t REGB1;
119 val_t REGB2;
120 val_t tmp;
121 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
122 fra.me.file = LOCATE_abstract_collection;
123 fra.me.line = 72;
124 fra.me.meth = LOCATE_abstract_collection___NaiveCollection___is_empty;
125 fra.me.has_broke = 0;
126 fra.me.REG_size = 1;
127 fra.me.REG[0] = NIT_NULL;
128 fra.me.REG[0] = p0;
129 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
130 REGB1 = TAG_Int(0);
131 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
132 /* ./../lib/standard//collection//abstract_collection.nit:72 */
133 if (UNTAG_Bool(REGB2)) {
134 } else {
135 REGB1 = TAG_Bool((REGB0)==(REGB1));
136 REGB2 = REGB1;
137 /* ./../lib/standard//collection//abstract_collection.nit:72 */
138 }
139 goto label1;
140 label1: while(0);
141 stack_frame_head = fra.me.prev;
142 return REGB2;
143 }
144 val_t abstract_collection___NaiveCollection___length(val_t p0){
145 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
146 val_t REGB0;
147 val_t REGB1;
148 val_t tmp;
149 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
150 fra.me.file = LOCATE_abstract_collection;
151 fra.me.line = 74;
152 fra.me.meth = LOCATE_abstract_collection___NaiveCollection___length;
153 fra.me.has_broke = 0;
154 fra.me.REG_size = 2;
155 fra.me.REG[0] = NIT_NULL;
156 fra.me.REG[1] = NIT_NULL;
157 fra.me.REG[0] = p0;
158 REGB0 = TAG_Int(0);
159 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
160 /* ./../lib/standard//collection//abstract_collection.nit:77 */
161 while(1) {
162 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
163 if (UNTAG_Bool(REGB1)) {
164 fra.me.REG[1] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
165 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB0));
166 REGB0 = REGB1;
167 /* ./../lib/standard//collection//abstract_collection.nit:77 */
168 } else {
169 goto label1;
170 }
171 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
172 }
173 label1: while(0);
174 /* ./../lib/standard//collection//abstract_collection.nit:78 */
175 goto label2;
176 label2: while(0);
177 stack_frame_head = fra.me.prev;
178 return REGB0;
179 }
180 val_t abstract_collection___NaiveCollection___has(val_t p0, val_t p1){
181 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
182 val_t REGB0;
183 val_t REGB1;
184 val_t tmp;
185 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
186 fra.me.file = LOCATE_abstract_collection;
187 fra.me.line = 81;
188 fra.me.meth = LOCATE_abstract_collection___NaiveCollection___has;
189 fra.me.has_broke = 0;
190 fra.me.REG_size = 3;
191 fra.me.REG[0] = NIT_NULL;
192 fra.me.REG[1] = NIT_NULL;
193 fra.me.REG[2] = NIT_NULL;
194 fra.me.REG[0] = p0;
195 fra.me.REG[1] = p1;
196 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
197 /* ./../lib/standard//collection//abstract_collection.nit:83 */
198 while(1) {
199 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
200 if (UNTAG_Bool(REGB0)) {
201 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
202 REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[2],fra.me.REG[1]));
203 if (UNTAG_Bool(REGB0)) {
204 } else {
205 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
206 if (UNTAG_Bool(REGB1)) {
207 REGB1 = TAG_Bool(false);
208 REGB0 = REGB1;
209 } else {
210 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
211 REGB0 = REGB1;
212 }
213 }
214 if (UNTAG_Bool(REGB0)) {
215 REGB0 = TAG_Bool(true);
216 goto label1;
217 }
218 } else {
219 goto label2;
220 }
221 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
222 }
223 label2: while(0);
224 REGB1 = TAG_Bool(false);
225 REGB0 = REGB1;
226 /* ./../lib/standard//collection//abstract_collection.nit:84 */
227 goto label1;
228 label1: while(0);
229 stack_frame_head = fra.me.prev;
230 return REGB0;
231 }
232 val_t abstract_collection___NaiveCollection___has_only(val_t p0, val_t p1){
233 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
234 val_t REGB0;
235 val_t REGB1;
236 val_t tmp;
237 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
238 fra.me.file = LOCATE_abstract_collection;
239 fra.me.line = 87;
240 fra.me.meth = LOCATE_abstract_collection___NaiveCollection___has_only;
241 fra.me.has_broke = 0;
242 fra.me.REG_size = 3;
243 fra.me.REG[0] = NIT_NULL;
244 fra.me.REG[1] = NIT_NULL;
245 fra.me.REG[2] = NIT_NULL;
246 fra.me.REG[0] = p0;
247 fra.me.REG[1] = p1;
248 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
249 /* ./../lib/standard//collection//abstract_collection.nit:89 */
250 while(1) {
251 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
252 if (UNTAG_Bool(REGB0)) {
253 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
254 REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[2],fra.me.REG[1]));
255 if (UNTAG_Bool(REGB0)) {
256 } else {
257 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
258 if (UNTAG_Bool(REGB1)) {
259 REGB1 = TAG_Bool(false);
260 REGB0 = REGB1;
261 } else {
262 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
263 REGB0 = REGB1;
264 }
265 }
266 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
267 if (UNTAG_Bool(REGB0)) {
268 REGB0 = TAG_Bool(false);
269 goto label1;
270 }
271 } else {
272 goto label2;
273 }
274 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
275 }
276 label2: while(0);
277 REGB1 = TAG_Bool(true);
278 REGB0 = REGB1;
279 /* ./../lib/standard//collection//abstract_collection.nit:90 */
280 goto label1;
281 label1: while(0);
282 stack_frame_head = fra.me.prev;
283 return REGB0;
284 }
285 val_t abstract_collection___NaiveCollection___count(val_t p0, val_t p1){
286 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
287 val_t REGB0;
288 val_t REGB1;
289 val_t REGB2;
290 val_t tmp;
291 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
292 fra.me.file = LOCATE_abstract_collection;
293 fra.me.line = 93;
294 fra.me.meth = LOCATE_abstract_collection___NaiveCollection___count;
295 fra.me.has_broke = 0;
296 fra.me.REG_size = 3;
297 fra.me.REG[0] = NIT_NULL;
298 fra.me.REG[1] = NIT_NULL;
299 fra.me.REG[2] = NIT_NULL;
300 fra.me.REG[0] = p0;
301 fra.me.REG[1] = p1;
302 REGB0 = TAG_Int(0);
303 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
304 /* ./../lib/standard//collection//abstract_collection.nit:96 */
305 while(1) {
306 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
307 if (UNTAG_Bool(REGB1)) {
308 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
309 REGB1 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[2],fra.me.REG[1]));
310 if (UNTAG_Bool(REGB1)) {
311 } else {
312 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
313 if (UNTAG_Bool(REGB2)) {
314 REGB2 = TAG_Bool(false);
315 REGB1 = REGB2;
316 } else {
317 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
318 REGB1 = REGB2;
319 }
320 }
321 if (UNTAG_Bool(REGB1)) {
322 REGB1 = TAG_Int(1);
323 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
324 REGB0 = REGB1;
325 /* ./../lib/standard//collection//abstract_collection.nit:96 */
326 }
327 } else {
328 goto label1;
329 }
330 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
331 }
332 label1: while(0);
333 /* ./../lib/standard//collection//abstract_collection.nit:97 */
334 goto label2;
335 label2: while(0);
336 stack_frame_head = fra.me.prev;
337 return REGB0;
338 }
339 val_t abstract_collection___NaiveCollection___first(val_t p0){
340 struct {struct stack_frame_t me;} fra;
341 val_t REGB0;
342 val_t REGB1;
343 val_t tmp;
344 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
345 fra.me.file = LOCATE_abstract_collection;
346 fra.me.line = 100;
347 fra.me.meth = LOCATE_abstract_collection___NaiveCollection___first;
348 fra.me.has_broke = 0;
349 fra.me.REG_size = 1;
350 fra.me.REG[0] = NIT_NULL;
351 fra.me.REG[0] = p0;
352 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
353 REGB1 = TAG_Int(0);
354 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
355 /* ./../lib/standard//collection//abstract_collection.nit:102 */
356 if (UNTAG_Bool(REGB1)) {
357 } else {
358 fprintf(stderr, "Assert failed");
359 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 102);
360 nit_exit(1);
361 }
362 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
363 fra.me.REG[0] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
364 /* ./../lib/standard//collection//abstract_collection.nit:103 */
365 goto label1;
366 label1: while(0);
367 stack_frame_head = fra.me.prev;
368 return fra.me.REG[0];
369 }
370 val_t abstract_collection___Iterator___item(val_t p0){
371 struct {struct stack_frame_t me;} fra;
372 val_t tmp;
373 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
374 fra.me.file = LOCATE_abstract_collection;
375 fra.me.line = 110;
376 fra.me.meth = LOCATE_abstract_collection___Iterator___item;
377 fra.me.has_broke = 0;
378 fra.me.REG_size = 0;
379 /* ./../lib/standard//collection//abstract_collection.nit:110 */
380 fprintf(stderr, "Deferred method called");
381 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 110);
382 nit_exit(1);
383 stack_frame_head = fra.me.prev;
384 return NIT_NULL;
385 }
386 void abstract_collection___Iterator___next(val_t p0){
387 struct {struct stack_frame_t me;} fra;
388 val_t tmp;
389 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
390 fra.me.file = LOCATE_abstract_collection;
391 fra.me.line = 114;
392 fra.me.meth = LOCATE_abstract_collection___Iterator___next;
393 fra.me.has_broke = 0;
394 fra.me.REG_size = 0;
395 /* ./../lib/standard//collection//abstract_collection.nit:114 */
396 fprintf(stderr, "Deferred method called");
397 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 114);
398 nit_exit(1);
399 stack_frame_head = fra.me.prev;
400 return;
401 }
402 val_t abstract_collection___Iterator___is_ok(val_t p0){
403 struct {struct stack_frame_t me;} fra;
404 val_t tmp;
405 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
406 fra.me.file = LOCATE_abstract_collection;
407 fra.me.line = 118;
408 fra.me.meth = LOCATE_abstract_collection___Iterator___is_ok;
409 fra.me.has_broke = 0;
410 fra.me.REG_size = 0;
411 /* ./../lib/standard//collection//abstract_collection.nit:118 */
412 fprintf(stderr, "Deferred method called");
413 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 118);
414 nit_exit(1);
415 stack_frame_head = fra.me.prev;
416 return NIT_NULL;
417 }
418 val_t abstract_collection___Container___iterator(val_t p0){
419 struct {struct stack_frame_t me;} fra;
420 val_t tmp;
421 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
422 fra.me.file = LOCATE_abstract_collection;
423 fra.me.line = 145;
424 fra.me.meth = LOCATE_abstract_collection___Container___iterator;
425 fra.me.has_broke = 0;
426 fra.me.REG_size = 1;
427 fra.me.REG[0] = NIT_NULL;
428 fra.me.REG[0] = p0;
429 fra.me.REG[0] = NEW_ContainerIterator_abstract_collection___ContainerIterator___init(fra.me.REG[0]);
430 /* ./../lib/standard//collection//abstract_collection.nit:145 */
431 goto label1;
432 label1: while(0);
433 stack_frame_head = fra.me.prev;
434 return fra.me.REG[0];
435 }
436 val_t abstract_collection___Container___is_empty(val_t p0){
437 struct {struct stack_frame_t me;} fra;
438 val_t REGB0;
439 val_t tmp;
440 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
441 fra.me.file = LOCATE_abstract_collection;
442 fra.me.line = 128;
443 fra.me.meth = LOCATE_abstract_collection___Container___is_empty;
444 fra.me.has_broke = 0;
445 fra.me.REG_size = 1;
446 fra.me.REG[0] = NIT_NULL;
447 fra.me.REG[0] = p0;
448 REGB0 = TAG_Bool(false);
449 /* ./../lib/standard//collection//abstract_collection.nit:128 */
450 goto label1;
451 label1: while(0);
452 stack_frame_head = fra.me.prev;
453 return REGB0;
454 }
455 val_t abstract_collection___Container___length(val_t p0){
456 struct {struct stack_frame_t me;} fra;
457 val_t REGB0;
458 val_t tmp;
459 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
460 fra.me.file = LOCATE_abstract_collection;
461 fra.me.line = 130;
462 fra.me.meth = LOCATE_abstract_collection___Container___length;
463 fra.me.has_broke = 0;
464 fra.me.REG_size = 1;
465 fra.me.REG[0] = NIT_NULL;
466 fra.me.REG[0] = p0;
467 REGB0 = TAG_Int(1);
468 /* ./../lib/standard//collection//abstract_collection.nit:130 */
469 goto label1;
470 label1: while(0);
471 stack_frame_head = fra.me.prev;
472 return REGB0;
473 }
474 val_t abstract_collection___Container___has(val_t p0, val_t p1){
475 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
476 val_t REGB0;
477 val_t REGB1;
478 val_t tmp;
479 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
480 fra.me.file = LOCATE_abstract_collection;
481 fra.me.line = 132;
482 fra.me.meth = LOCATE_abstract_collection___Container___has;
483 fra.me.has_broke = 0;
484 fra.me.REG_size = 2;
485 fra.me.REG[0] = NIT_NULL;
486 fra.me.REG[1] = NIT_NULL;
487 fra.me.REG[0] = p0;
488 fra.me.REG[1] = p1;
489 fra.me.REG[0] = ATTR_abstract_collection___Container____item(fra.me.REG[0]);
490 REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[0],fra.me.REG[1]));
491 /* ./../lib/standard//collection//abstract_collection.nit:132 */
492 if (UNTAG_Bool(REGB0)) {
493 } else {
494 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
495 if (UNTAG_Bool(REGB1)) {
496 REGB1 = TAG_Bool(false);
497 REGB0 = REGB1;
498 } else {
499 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
500 REGB0 = REGB1;
501 }
502 }
503 goto label1;
504 label1: while(0);
505 stack_frame_head = fra.me.prev;
506 return REGB0;
507 }
508 val_t abstract_collection___Container___has_only(val_t p0, val_t p1){
509 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
510 val_t REGB0;
511 val_t REGB1;
512 val_t tmp;
513 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
514 fra.me.file = LOCATE_abstract_collection;
515 fra.me.line = 134;
516 fra.me.meth = LOCATE_abstract_collection___Container___has_only;
517 fra.me.has_broke = 0;
518 fra.me.REG_size = 2;
519 fra.me.REG[0] = NIT_NULL;
520 fra.me.REG[1] = NIT_NULL;
521 fra.me.REG[0] = p0;
522 fra.me.REG[1] = p1;
523 fra.me.REG[0] = ATTR_abstract_collection___Container____item(fra.me.REG[0]);
524 REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[0],fra.me.REG[1]));
525 /* ./../lib/standard//collection//abstract_collection.nit:134 */
526 if (UNTAG_Bool(REGB0)) {
527 } else {
528 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
529 if (UNTAG_Bool(REGB1)) {
530 REGB1 = TAG_Bool(false);
531 REGB0 = REGB1;
532 } else {
533 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
534 REGB0 = REGB1;
535 }
536 }
537 goto label1;
538 label1: while(0);
539 stack_frame_head = fra.me.prev;
540 return REGB0;
541 }
542 val_t abstract_collection___Container___count(val_t p0, val_t p1){
543 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
544 val_t REGB0;
545 val_t REGB1;
546 val_t tmp;
547 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
548 fra.me.file = LOCATE_abstract_collection;
549 fra.me.line = 136;
550 fra.me.meth = LOCATE_abstract_collection___Container___count;
551 fra.me.has_broke = 0;
552 fra.me.REG_size = 2;
553 fra.me.REG[0] = NIT_NULL;
554 fra.me.REG[1] = NIT_NULL;
555 fra.me.REG[0] = p0;
556 fra.me.REG[1] = p1;
557 fra.me.REG[0] = ATTR_abstract_collection___Container____item(fra.me.REG[0]);
558 REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[0],fra.me.REG[1]));
559 /* ./../lib/standard//collection//abstract_collection.nit:138 */
560 if (UNTAG_Bool(REGB0)) {
561 } else {
562 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
563 if (UNTAG_Bool(REGB1)) {
564 REGB1 = TAG_Bool(false);
565 REGB0 = REGB1;
566 } else {
567 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
568 REGB0 = REGB1;
569 }
570 }
571 if (UNTAG_Bool(REGB0)) {
572 REGB0 = TAG_Int(1);
573 /* ./../lib/standard//collection//abstract_collection.nit:139 */
574 goto label1;
575 } else {
576 REGB1 = TAG_Int(0);
577 REGB0 = REGB1;
578 /* ./../lib/standard//collection//abstract_collection.nit:141 */
579 goto label1;
580 }
581 label1: while(0);
582 stack_frame_head = fra.me.prev;
583 return REGB0;
584 }
585 val_t abstract_collection___Container___first(val_t p0){
586 struct {struct stack_frame_t me;} fra;
587 val_t tmp;
588 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
589 fra.me.file = LOCATE_abstract_collection;
590 fra.me.line = 126;
591 fra.me.meth = LOCATE_abstract_collection___Container___first;
592 fra.me.has_broke = 0;
593 fra.me.REG_size = 1;
594 fra.me.REG[0] = NIT_NULL;
595 fra.me.REG[0] = p0;
596 fra.me.REG[0] = ATTR_abstract_collection___Container____item(fra.me.REG[0]);
597 /* ./../lib/standard//collection//abstract_collection.nit:126 */
598 goto label1;
599 label1: while(0);
600 stack_frame_head = fra.me.prev;
601 return fra.me.REG[0];
602 }
603 void abstract_collection___Container___init(val_t p0, val_t p1, int* init_table){
604 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Container].i;
605 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
606 val_t tmp;
607 if (init_table[itpos0]) return;
608 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
609 fra.me.file = LOCATE_abstract_collection;
610 fra.me.line = 147;
611 fra.me.meth = LOCATE_abstract_collection___Container___init;
612 fra.me.has_broke = 0;
613 fra.me.REG_size = 2;
614 fra.me.REG[0] = NIT_NULL;
615 fra.me.REG[1] = NIT_NULL;
616 fra.me.REG[0] = p0;
617 fra.me.REG[1] = p1;
618 /* ./../lib/standard//collection//abstract_collection.nit:148 */
619 ATTR_abstract_collection___Container____item(fra.me.REG[0]) = fra.me.REG[1];
620 stack_frame_head = fra.me.prev;
621 init_table[itpos0] = 1;
622 return;
623 }
624 val_t abstract_collection___Container___item(val_t p0){
625 struct {struct stack_frame_t me;} fra;
626 val_t tmp;
627 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
628 fra.me.file = LOCATE_abstract_collection;
629 fra.me.line = 150;
630 fra.me.meth = LOCATE_abstract_collection___Container___item;
631 fra.me.has_broke = 0;
632 fra.me.REG_size = 1;
633 fra.me.REG[0] = NIT_NULL;
634 fra.me.REG[0] = p0;
635 fra.me.REG[0] = ATTR_abstract_collection___Container____item(fra.me.REG[0]);
636 /* ./../lib/standard//collection//abstract_collection.nit:150 */
637 stack_frame_head = fra.me.prev;
638 return fra.me.REG[0];
639 }
640 void abstract_collection___Container___item__eq(val_t p0, val_t p1){
641 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
642 val_t tmp;
643 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
644 fra.me.file = LOCATE_abstract_collection;
645 fra.me.line = 150;
646 fra.me.meth = LOCATE_abstract_collection___Container___item__eq;
647 fra.me.has_broke = 0;
648 fra.me.REG_size = 2;
649 fra.me.REG[0] = NIT_NULL;
650 fra.me.REG[1] = NIT_NULL;
651 fra.me.REG[0] = p0;
652 fra.me.REG[1] = p1;
653 /* ./../lib/standard//collection//abstract_collection.nit:150 */
654 ATTR_abstract_collection___Container____item(fra.me.REG[0]) = fra.me.REG[1];
655 stack_frame_head = fra.me.prev;
656 return;
657 }
658 val_t abstract_collection___ContainerIterator___item(val_t p0){
659 struct {struct stack_frame_t me;} fra;
660 val_t REGB0;
661 val_t tmp;
662 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
663 fra.me.file = LOCATE_abstract_collection;
664 fra.me.line = 157;
665 fra.me.meth = LOCATE_abstract_collection___ContainerIterator___item;
666 fra.me.has_broke = 0;
667 fra.me.REG_size = 1;
668 fra.me.REG[0] = NIT_NULL;
669 fra.me.REG[0] = p0;
670 REGB0 = TAG_Bool(ATTR_abstract_collection___ContainerIterator____container(fra.me.REG[0])!=NIT_NULL);
671 /* ./../lib/standard//collection//abstract_collection.nit:157 */
672 if (UNTAG_Bool(REGB0)) {
673 } else {
674 fprintf(stderr, "Uninitialized attribute %s", "_container");
675 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 157);
676 nit_exit(1);
677 }
678 fra.me.REG[0] = ATTR_abstract_collection___ContainerIterator____container(fra.me.REG[0]);
679 fra.me.REG[0] = CALL_abstract_collection___Container___item(fra.me.REG[0])(fra.me.REG[0]);
680 goto label1;
681 label1: while(0);
682 stack_frame_head = fra.me.prev;
683 return fra.me.REG[0];
684 }
685 void abstract_collection___ContainerIterator___next(val_t p0){
686 struct {struct stack_frame_t me;} fra;
687 val_t REGB0;
688 val_t tmp;
689 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
690 fra.me.file = LOCATE_abstract_collection;
691 fra.me.line = 159;
692 fra.me.meth = LOCATE_abstract_collection___ContainerIterator___next;
693 fra.me.has_broke = 0;
694 fra.me.REG_size = 1;
695 fra.me.REG[0] = NIT_NULL;
696 fra.me.REG[0] = p0;
697 REGB0 = TAG_Bool(false);
698 /* ./../lib/standard//collection//abstract_collection.nit:159 */
699 ATTR_abstract_collection___ContainerIterator____is_ok(fra.me.REG[0]) = REGB0;
700 stack_frame_head = fra.me.prev;
701 return;
702 }
703 val_t abstract_collection___ContainerIterator___is_ok(val_t p0){
704 struct {struct stack_frame_t me;} fra;
705 val_t REGB0;
706 val_t tmp;
707 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
708 fra.me.file = LOCATE_abstract_collection;
709 fra.me.line = 163;
710 fra.me.meth = LOCATE_abstract_collection___ContainerIterator___is_ok;
711 fra.me.has_broke = 0;
712 fra.me.REG_size = 1;
713 fra.me.REG[0] = NIT_NULL;
714 fra.me.REG[0] = p0;
715 REGB0 = TAG_Bool(ATTR_abstract_collection___ContainerIterator____is_ok(fra.me.REG[0])!=NIT_NULL);
716 /* ./../lib/standard//collection//abstract_collection.nit:163 */
717 if (UNTAG_Bool(REGB0)) {
718 } else {
719 fprintf(stderr, "Uninitialized attribute %s", "_is_ok");
720 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 163);
721 nit_exit(1);
722 }
723 REGB0 = ATTR_abstract_collection___ContainerIterator____is_ok(fra.me.REG[0]);
724 stack_frame_head = fra.me.prev;
725 return REGB0;
726 }
727 void abstract_collection___ContainerIterator___init(val_t p0, val_t p1, int* init_table){
728 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ContainerIterator].i;
729 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
730 val_t tmp;
731 if (init_table[itpos1]) return;
732 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
733 fra.me.file = LOCATE_abstract_collection;
734 fra.me.line = 161;
735 fra.me.meth = LOCATE_abstract_collection___ContainerIterator___init;
736 fra.me.has_broke = 0;
737 fra.me.REG_size = 2;
738 fra.me.REG[0] = NIT_NULL;
739 fra.me.REG[1] = NIT_NULL;
740 fra.me.REG[0] = p0;
741 fra.me.REG[1] = p1;
742 /* ./../lib/standard//collection//abstract_collection.nit:161 */
743 ATTR_abstract_collection___ContainerIterator____container(fra.me.REG[0]) = fra.me.REG[1];
744 stack_frame_head = fra.me.prev;
745 init_table[itpos1] = 1;
746 return;
747 }
748 void abstract_collection___RemovableCollection___clear(val_t p0){
749 struct {struct stack_frame_t me;} fra;
750 val_t tmp;
751 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
752 fra.me.file = LOCATE_abstract_collection;
753 fra.me.line = 171;
754 fra.me.meth = LOCATE_abstract_collection___RemovableCollection___clear;
755 fra.me.has_broke = 0;
756 fra.me.REG_size = 0;
757 /* ./../lib/standard//collection//abstract_collection.nit:171 */
758 fprintf(stderr, "Deferred method called");
759 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 171);
760 nit_exit(1);
761 stack_frame_head = fra.me.prev;
762 return;
763 }
764 void abstract_collection___RemovableCollection___remove(val_t p0, val_t p1){
765 struct {struct stack_frame_t me;} fra;
766 val_t tmp;
767 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
768 fra.me.file = LOCATE_abstract_collection;
769 fra.me.line = 174;
770 fra.me.meth = LOCATE_abstract_collection___RemovableCollection___remove;
771 fra.me.has_broke = 0;
772 fra.me.REG_size = 0;
773 /* ./../lib/standard//collection//abstract_collection.nit:174 */
774 fprintf(stderr, "Deferred method called");
775 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 174);
776 nit_exit(1);
777 stack_frame_head = fra.me.prev;
778 return;
779 }
780 void abstract_collection___RemovableCollection___remove_all(val_t p0, val_t p1){
781 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
782 val_t REGB0;
783 val_t tmp;
784 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
785 fra.me.file = LOCATE_abstract_collection;
786 fra.me.line = 177;
787 fra.me.meth = LOCATE_abstract_collection___RemovableCollection___remove_all;
788 fra.me.has_broke = 0;
789 fra.me.REG_size = 2;
790 fra.me.REG[0] = NIT_NULL;
791 fra.me.REG[1] = NIT_NULL;
792 fra.me.REG[0] = p0;
793 fra.me.REG[1] = p1;
794 /* ./../lib/standard//collection//abstract_collection.nit:178 */
795 while(1) {
796 REGB0 = CALL_abstract_collection___Collection___has(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
797 if (UNTAG_Bool(REGB0)) {
798 CALL_abstract_collection___RemovableCollection___remove(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
799 } else {
800 goto label1;
801 }
802 }
803 label1: while(0);
804 stack_frame_head = fra.me.prev;
805 return;
806 }
807 void abstract_collection___SimpleCollection___add(val_t p0, val_t p1){
808 struct {struct stack_frame_t me;} fra;
809 val_t tmp;
810 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
811 fra.me.file = LOCATE_abstract_collection;
812 fra.me.line = 184;
813 fra.me.meth = LOCATE_abstract_collection___SimpleCollection___add;
814 fra.me.has_broke = 0;
815 fra.me.REG_size = 0;
816 /* ./../lib/standard//collection//abstract_collection.nit:184 */
817 fprintf(stderr, "Deferred method called");
818 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 184);
819 nit_exit(1);
820 stack_frame_head = fra.me.prev;
821 return;
822 }
823 void abstract_collection___SimpleCollection___add_all(val_t p0, val_t p1){
824 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
825 val_t REGB0;
826 val_t tmp;
827 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
828 fra.me.file = LOCATE_abstract_collection;
829 fra.me.line = 188;
830 fra.me.meth = LOCATE_abstract_collection___SimpleCollection___add_all;
831 fra.me.has_broke = 0;
832 fra.me.REG_size = 3;
833 fra.me.REG[0] = NIT_NULL;
834 fra.me.REG[1] = NIT_NULL;
835 fra.me.REG[2] = NIT_NULL;
836 fra.me.REG[0] = p0;
837 fra.me.REG[1] = p1;
838 fra.me.REG[1] = CALL_abstract_collection___Collection___iterator(fra.me.REG[1])(fra.me.REG[1]);
839 /* ./../lib/standard//collection//abstract_collection.nit:189 */
840 while(1) {
841 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[1])(fra.me.REG[1]);
842 if (UNTAG_Bool(REGB0)) {
843 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[1])(fra.me.REG[1]);
844 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
845 } else {
846 goto label1;
847 }
848 CALL_abstract_collection___Iterator___next(fra.me.REG[1])(fra.me.REG[1]);
849 }
850 label1: while(0);
851 stack_frame_head = fra.me.prev;
852 return;
853 }
854 val_t abstract_collection___Set___has_only(val_t p0, val_t p1){
855 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
856 val_t REGB0;
857 val_t REGB1;
858 val_t REGB2;
859 val_t REGB3;
860 val_t tmp;
861 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
862 fra.me.file = LOCATE_abstract_collection;
863 fra.me.line = 204;
864 fra.me.meth = LOCATE_abstract_collection___Set___has_only;
865 fra.me.has_broke = 0;
866 fra.me.REG_size = 2;
867 fra.me.REG[0] = NIT_NULL;
868 fra.me.REG[1] = NIT_NULL;
869 fra.me.REG[0] = p0;
870 fra.me.REG[1] = p1;
871 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
872 REGB1 = TAG_Int(1);
873 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
874 /* ./../lib/standard//collection//abstract_collection.nit:207 */
875 if (UNTAG_Bool(REGB2)) {
876 } else {
877 REGB1 = TAG_Bool((REGB0)==(REGB1));
878 REGB2 = REGB1;
879 /* ./../lib/standard//collection//abstract_collection.nit:207 */
880 }
881 if (UNTAG_Bool(REGB2)) {
882 REGB2 = CALL_abstract_collection___Collection___has(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
883 /* ./../lib/standard//collection//abstract_collection.nit:208 */
884 goto label1;
885 } else {
886 REGB1 = TAG_Int(0);
887 REGB3 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
888 /* ./../lib/standard//collection//abstract_collection.nit:209 */
889 if (UNTAG_Bool(REGB3)) {
890 } else {
891 REGB1 = TAG_Bool((REGB0)==(REGB1));
892 REGB3 = REGB1;
893 /* ./../lib/standard//collection//abstract_collection.nit:209 */
894 }
895 if (UNTAG_Bool(REGB3)) {
896 REGB3 = TAG_Bool(true);
897 REGB2 = REGB3;
898 /* ./../lib/standard//collection//abstract_collection.nit:210 */
899 goto label1;
900 } else {
901 REGB3 = TAG_Bool(false);
902 REGB2 = REGB3;
903 /* ./../lib/standard//collection//abstract_collection.nit:212 */
904 goto label1;
905 }
906 }
907 label1: while(0);
908 stack_frame_head = fra.me.prev;
909 return REGB2;
910 }
911 val_t abstract_collection___Set___count(val_t p0, val_t p1){
912 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
913 val_t REGB0;
914 val_t REGB1;
915 val_t tmp;
916 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
917 fra.me.file = LOCATE_abstract_collection;
918 fra.me.line = 216;
919 fra.me.meth = LOCATE_abstract_collection___Set___count;
920 fra.me.has_broke = 0;
921 fra.me.REG_size = 2;
922 fra.me.REG[0] = NIT_NULL;
923 fra.me.REG[1] = NIT_NULL;
924 fra.me.REG[0] = p0;
925 fra.me.REG[1] = p1;
926 REGB0 = CALL_abstract_collection___Collection___has(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
927 /* ./../lib/standard//collection//abstract_collection.nit:219 */
928 if (UNTAG_Bool(REGB0)) {
929 REGB0 = TAG_Int(1);
930 /* ./../lib/standard//collection//abstract_collection.nit:220 */
931 goto label1;
932 } else {
933 REGB1 = TAG_Int(0);
934 REGB0 = REGB1;
935 /* ./../lib/standard//collection//abstract_collection.nit:222 */
936 goto label1;
937 }
938 label1: while(0);
939 stack_frame_head = fra.me.prev;
940 return REGB0;
941 }
942 void abstract_collection___Set___remove_all(val_t p0, val_t p1){
943 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
944 val_t tmp;
945 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
946 fra.me.file = LOCATE_abstract_collection;
947 fra.me.line = 226;
948 fra.me.meth = LOCATE_abstract_collection___Set___remove_all;
949 fra.me.has_broke = 0;
950 fra.me.REG_size = 2;
951 fra.me.REG[0] = NIT_NULL;
952 fra.me.REG[1] = NIT_NULL;
953 fra.me.REG[0] = p0;
954 fra.me.REG[1] = p1;
955 /* ./../lib/standard//collection//abstract_collection.nit:227 */
956 CALL_abstract_collection___RemovableCollection___remove(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
957 stack_frame_head = fra.me.prev;
958 return;
959 }
960 val_t abstract_collection___MapRead___iterator(val_t p0){
961 struct {struct stack_frame_t me;} fra;
962 val_t tmp;
963 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
964 fra.me.file = LOCATE_abstract_collection;
965 fra.me.line = 238;
966 fra.me.meth = LOCATE_abstract_collection___MapRead___iterator;
967 fra.me.has_broke = 0;
968 fra.me.REG_size = 0;
969 /* ./../lib/standard//collection//abstract_collection.nit:238 */
970 fprintf(stderr, "Deferred method called");
971 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 238);
972 nit_exit(1);
973 stack_frame_head = fra.me.prev;
974 return NIT_NULL;
975 }
976 val_t abstract_collection___MapRead_____bra(val_t p0, val_t p1){
977 struct {struct stack_frame_t me;} fra;
978 val_t tmp;
979 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
980 fra.me.file = LOCATE_abstract_collection;
981 fra.me.line = 232;
982 fra.me.meth = LOCATE_abstract_collection___MapRead_____bra;
983 fra.me.has_broke = 0;
984 fra.me.REG_size = 0;
985 /* ./../lib/standard//collection//abstract_collection.nit:232 */
986 fprintf(stderr, "Deferred method called");
987 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 232);
988 nit_exit(1);
989 stack_frame_head = fra.me.prev;
990 return NIT_NULL;
991 }
992 val_t abstract_collection___MapRead___has_key(val_t p0, val_t p1){
993 struct {struct stack_frame_t me;} fra;
994 val_t tmp;
995 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
996 fra.me.file = LOCATE_abstract_collection;
997 fra.me.line = 235;
998 fra.me.meth = LOCATE_abstract_collection___MapRead___has_key;
999 fra.me.has_broke = 0;
1000 fra.me.REG_size = 0;
1001 /* ./../lib/standard//collection//abstract_collection.nit:235 */
1002 fprintf(stderr, "Deferred method called");
1003 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 235);
1004 nit_exit(1);
1005 stack_frame_head = fra.me.prev;
1006 return NIT_NULL;
1007 }
1008 void abstract_collection___Map_____braeq(val_t p0, val_t p1, val_t p2){
1009 struct {struct stack_frame_t me;} fra;
1010 val_t tmp;
1011 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1012 fra.me.file = LOCATE_abstract_collection;
1013 fra.me.line = 256;
1014 fra.me.meth = LOCATE_abstract_collection___Map_____braeq;
1015 fra.me.has_broke = 0;
1016 fra.me.REG_size = 0;
1017 /* ./../lib/standard//collection//abstract_collection.nit:256 */
1018 fprintf(stderr, "Deferred method called");
1019 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 256);
1020 nit_exit(1);
1021 stack_frame_head = fra.me.prev;
1022 return;
1023 }
1024 void abstract_collection___Map___remove_at(val_t p0, val_t p1){
1025 struct {struct stack_frame_t me;} fra;
1026 val_t tmp;
1027 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1028 fra.me.file = LOCATE_abstract_collection;
1029 fra.me.line = 259;
1030 fra.me.meth = LOCATE_abstract_collection___Map___remove_at;
1031 fra.me.has_broke = 0;
1032 fra.me.REG_size = 0;
1033 /* ./../lib/standard//collection//abstract_collection.nit:259 */
1034 fprintf(stderr, "Deferred method called");
1035 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 259);
1036 nit_exit(1);
1037 stack_frame_head = fra.me.prev;
1038 return;
1039 }
1040 void abstract_collection___Map___recover_with(val_t p0, val_t p1){
1041 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1042 val_t REGB0;
1043 val_t tmp;
1044 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1045 fra.me.file = LOCATE_abstract_collection;
1046 fra.me.line = 262;
1047 fra.me.meth = LOCATE_abstract_collection___Map___recover_with;
1048 fra.me.has_broke = 0;
1049 fra.me.REG_size = 4;
1050 fra.me.REG[0] = NIT_NULL;
1051 fra.me.REG[1] = NIT_NULL;
1052 fra.me.REG[2] = NIT_NULL;
1053 fra.me.REG[3] = NIT_NULL;
1054 fra.me.REG[0] = p0;
1055 fra.me.REG[1] = p1;
1056 fra.me.REG[1] = CALL_abstract_collection___Collection___iterator(fra.me.REG[1])(fra.me.REG[1]);
1057 /* ./../lib/standard//collection//abstract_collection.nit:267 */
1058 while(1) {
1059 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[1])(fra.me.REG[1]);
1060 if (UNTAG_Bool(REGB0)) {
1061 fra.me.REG[2] = CALL_abstract_collection___MapIterator___key(fra.me.REG[1])(fra.me.REG[1]);
1062 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[1])(fra.me.REG[1]);
1063 /* ./../lib/standard//collection//abstract_collection.nit:268 */
1064 CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[3]);
1065 /* ./../lib/standard//collection//abstract_collection.nit:269 */
1066 CALL_abstract_collection___Iterator___next(fra.me.REG[1])(fra.me.REG[1]);
1067 } else {
1068 /* ./../lib/standard//collection//abstract_collection.nit:267 */
1069 goto label1;
1070 }
1071 }
1072 label1: while(0);
1073 stack_frame_head = fra.me.prev;
1074 return;
1075 }
1076 val_t abstract_collection___MapIterator___key(val_t p0){
1077 struct {struct stack_frame_t me;} fra;
1078 val_t tmp;
1079 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1080 fra.me.file = LOCATE_abstract_collection;
1081 fra.me.line = 277;
1082 fra.me.meth = LOCATE_abstract_collection___MapIterator___key;
1083 fra.me.has_broke = 0;
1084 fra.me.REG_size = 0;
1085 /* ./../lib/standard//collection//abstract_collection.nit:277 */
1086 fprintf(stderr, "Deferred method called");
1087 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 277);
1088 nit_exit(1);
1089 stack_frame_head = fra.me.prev;
1090 return NIT_NULL;
1091 }
1092 val_t abstract_collection___SequenceRead___iterator(val_t p0){
1093 struct {struct stack_frame_t me;} fra;
1094 val_t tmp;
1095 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1096 fra.me.file = LOCATE_abstract_collection;
1097 fra.me.line = 316;
1098 fra.me.meth = LOCATE_abstract_collection___SequenceRead___iterator;
1099 fra.me.has_broke = 0;
1100 fra.me.REG_size = 0;
1101 /* ./../lib/standard//collection//abstract_collection.nit:316 */
1102 fprintf(stderr, "Deferred method called");
1103 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 316);
1104 nit_exit(1);
1105 stack_frame_head = fra.me.prev;
1106 return NIT_NULL;
1107 }
1108 val_t abstract_collection___SequenceRead___first(val_t p0){
1109 struct {struct stack_frame_t me;} fra;
1110 val_t REGB0;
1111 val_t tmp;
1112 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1113 fra.me.file = LOCATE_abstract_collection;
1114 fra.me.line = 288;
1115 fra.me.meth = LOCATE_abstract_collection___SequenceRead___first;
1116 fra.me.has_broke = 0;
1117 fra.me.REG_size = 1;
1118 fra.me.REG[0] = NIT_NULL;
1119 fra.me.REG[0] = p0;
1120 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[0])(fra.me.REG[0]);
1121 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1122 /* ./../lib/standard//collection//abstract_collection.nit:292 */
1123 if (UNTAG_Bool(REGB0)) {
1124 } else {
1125 fprintf(stderr, "Assert %s failed", "'not_empty'");
1126 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 292);
1127 nit_exit(1);
1128 }
1129 REGB0 = TAG_Int(0);
1130 fra.me.REG[0] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[0])(fra.me.REG[0], REGB0);
1131 /* ./../lib/standard//collection//abstract_collection.nit:293 */
1132 goto label1;
1133 label1: while(0);
1134 stack_frame_head = fra.me.prev;
1135 return fra.me.REG[0];
1136 }
1137 val_t abstract_collection___SequenceRead___last(val_t p0){
1138 struct {struct stack_frame_t me;} fra;
1139 val_t REGB0;
1140 val_t REGB1;
1141 val_t tmp;
1142 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1143 fra.me.file = LOCATE_abstract_collection;
1144 fra.me.line = 296;
1145 fra.me.meth = LOCATE_abstract_collection___SequenceRead___last;
1146 fra.me.has_broke = 0;
1147 fra.me.REG_size = 1;
1148 fra.me.REG[0] = NIT_NULL;
1149 fra.me.REG[0] = p0;
1150 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[0])(fra.me.REG[0]);
1151 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1152 /* ./../lib/standard//collection//abstract_collection.nit:300 */
1153 if (UNTAG_Bool(REGB0)) {
1154 } else {
1155 fprintf(stderr, "Assert %s failed", "'not_empty'");
1156 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 300);
1157 nit_exit(1);
1158 }
1159 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
1160 REGB1 = TAG_Int(1);
1161 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1162 fra.me.REG[0] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[0])(fra.me.REG[0], REGB1);
1163 /* ./../lib/standard//collection//abstract_collection.nit:301 */
1164 goto label1;
1165 label1: while(0);
1166 stack_frame_head = fra.me.prev;
1167 return fra.me.REG[0];
1168 }
1169 val_t abstract_collection___SequenceRead___index_of(val_t p0, val_t p1){
1170 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1171 val_t REGB0;
1172 val_t REGB1;
1173 val_t tmp;
1174 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1175 fra.me.file = LOCATE_abstract_collection;
1176 fra.me.line = 304;
1177 fra.me.meth = LOCATE_abstract_collection___SequenceRead___index_of;
1178 fra.me.has_broke = 0;
1179 fra.me.REG_size = 3;
1180 fra.me.REG[0] = NIT_NULL;
1181 fra.me.REG[1] = NIT_NULL;
1182 fra.me.REG[2] = NIT_NULL;
1183 fra.me.REG[0] = p0;
1184 fra.me.REG[1] = p1;
1185 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
1186 /* ./../lib/standard//collection//abstract_collection.nit:309 */
1187 while(1) {
1188 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
1189 if (UNTAG_Bool(REGB0)) {
1190 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
1191 REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[2],fra.me.REG[1]));
1192 /* ./../lib/standard//collection//abstract_collection.nit:310 */
1193 if (UNTAG_Bool(REGB0)) {
1194 } else {
1195 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1196 if (UNTAG_Bool(REGB1)) {
1197 REGB1 = TAG_Bool(false);
1198 REGB0 = REGB1;
1199 } else {
1200 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1201 REGB0 = REGB1;
1202 }
1203 }
1204 if (UNTAG_Bool(REGB0)) {
1205 REGB0 = CALL_abstract_collection___IndexedIterator___index(fra.me.REG[0])(fra.me.REG[0]);
1206 goto label1;
1207 }
1208 /* ./../lib/standard//collection//abstract_collection.nit:311 */
1209 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
1210 } else {
1211 /* ./../lib/standard//collection//abstract_collection.nit:309 */
1212 goto label2;
1213 }
1214 }
1215 label2: while(0);
1216 REGB1 = TAG_Int(1);
1217 REGB1 = TAG_Int(-UNTAG_Int(REGB1));
1218 REGB0 = REGB1;
1219 /* ./../lib/standard//collection//abstract_collection.nit:313 */
1220 goto label1;
1221 label1: while(0);
1222 stack_frame_head = fra.me.prev;
1223 return REGB0;
1224 }
1225 void abstract_collection___Sequence___add(val_t p0, val_t p1){
1226 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1227 val_t tmp;
1228 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1229 fra.me.file = LOCATE_abstract_collection;
1230 fra.me.line = 342;
1231 fra.me.meth = LOCATE_abstract_collection___Sequence___add;
1232 fra.me.has_broke = 0;
1233 fra.me.REG_size = 2;
1234 fra.me.REG[0] = NIT_NULL;
1235 fra.me.REG[1] = NIT_NULL;
1236 fra.me.REG[0] = p0;
1237 fra.me.REG[1] = p1;
1238 /* ./../lib/standard//collection//abstract_collection.nit:343 */
1239 CALL_abstract_collection___Sequence___push(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1240 stack_frame_head = fra.me.prev;
1241 return;
1242 }
1243 void abstract_collection___Sequence___first__eq(val_t p0, val_t p1){
1244 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1245 val_t REGB0;
1246 val_t tmp;
1247 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1248 fra.me.file = LOCATE_abstract_collection;
1249 fra.me.line = 325;
1250 fra.me.meth = LOCATE_abstract_collection___Sequence___first__eq;
1251 fra.me.has_broke = 0;
1252 fra.me.REG_size = 2;
1253 fra.me.REG[0] = NIT_NULL;
1254 fra.me.REG[1] = NIT_NULL;
1255 fra.me.REG[0] = p0;
1256 fra.me.REG[1] = p1;
1257 REGB0 = TAG_Int(0);
1258 /* ./../lib/standard//collection//abstract_collection.nit:328 */
1259 CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
1260 stack_frame_head = fra.me.prev;
1261 return;
1262 }
1263 void abstract_collection___Sequence___last__eq(val_t p0, val_t p1){
1264 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1265 val_t REGB0;
1266 val_t REGB1;
1267 val_t tmp;
1268 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1269 fra.me.file = LOCATE_abstract_collection;
1270 fra.me.line = 330;
1271 fra.me.meth = LOCATE_abstract_collection___Sequence___last__eq;
1272 fra.me.has_broke = 0;
1273 fra.me.REG_size = 2;
1274 fra.me.REG[0] = NIT_NULL;
1275 fra.me.REG[1] = NIT_NULL;
1276 fra.me.REG[0] = p0;
1277 fra.me.REG[1] = p1;
1278 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
1279 REGB1 = TAG_Int(0);
1280 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
1281 /* ./../lib/standard//collection//abstract_collection.nit:335 */
1282 if (UNTAG_Bool(REGB1)) {
1283 REGB1 = TAG_Int(1);
1284 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1285 /* ./../lib/standard//collection//abstract_collection.nit:336 */
1286 CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB1, fra.me.REG[1]);
1287 } else {
1288 REGB1 = TAG_Int(0);
1289 /* ./../lib/standard//collection//abstract_collection.nit:338 */
1290 CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB1, fra.me.REG[1]);
1291 }
1292 stack_frame_head = fra.me.prev;
1293 return;
1294 }
1295 void abstract_collection___Sequence___push(val_t p0, val_t p1){
1296 struct {struct stack_frame_t me;} fra;
1297 val_t tmp;
1298 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1299 fra.me.file = LOCATE_abstract_collection;
1300 fra.me.line = 345;
1301 fra.me.meth = LOCATE_abstract_collection___Sequence___push;
1302 fra.me.has_broke = 0;
1303 fra.me.REG_size = 0;
1304 /* ./../lib/standard//collection//abstract_collection.nit:345 */
1305 fprintf(stderr, "Deferred method called");
1306 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 345);
1307 nit_exit(1);
1308 stack_frame_head = fra.me.prev;
1309 return;
1310 }
1311 void abstract_collection___Sequence___append(val_t p0, val_t p1){
1312 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1313 val_t REGB0;
1314 val_t tmp;
1315 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1316 fra.me.file = LOCATE_abstract_collection;
1317 fra.me.line = 348;
1318 fra.me.meth = LOCATE_abstract_collection___Sequence___append;
1319 fra.me.has_broke = 0;
1320 fra.me.REG_size = 3;
1321 fra.me.REG[0] = NIT_NULL;
1322 fra.me.REG[1] = NIT_NULL;
1323 fra.me.REG[2] = NIT_NULL;
1324 fra.me.REG[0] = p0;
1325 fra.me.REG[1] = p1;
1326 fra.me.REG[1] = CALL_abstract_collection___Collection___iterator(fra.me.REG[1])(fra.me.REG[1]);
1327 /* ./../lib/standard//collection//abstract_collection.nit:349 */
1328 while(1) {
1329 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[1])(fra.me.REG[1]);
1330 if (UNTAG_Bool(REGB0)) {
1331 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[1])(fra.me.REG[1]);
1332 CALL_abstract_collection___Sequence___push(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
1333 } else {
1334 goto label1;
1335 }
1336 CALL_abstract_collection___Iterator___next(fra.me.REG[1])(fra.me.REG[1]);
1337 }
1338 label1: while(0);
1339 stack_frame_head = fra.me.prev;
1340 return;
1341 }
1342 val_t abstract_collection___Sequence___pop(val_t p0){
1343 struct {struct stack_frame_t me;} fra;
1344 val_t tmp;
1345 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1346 fra.me.file = LOCATE_abstract_collection;
1347 fra.me.line = 351;
1348 fra.me.meth = LOCATE_abstract_collection___Sequence___pop;
1349 fra.me.has_broke = 0;
1350 fra.me.REG_size = 0;
1351 /* ./../lib/standard//collection//abstract_collection.nit:351 */
1352 fprintf(stderr, "Deferred method called");
1353 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 351);
1354 nit_exit(1);
1355 stack_frame_head = fra.me.prev;
1356 return NIT_NULL;
1357 }
1358 void abstract_collection___Sequence___unshift(val_t p0, val_t p1){
1359 struct {struct stack_frame_t me;} fra;
1360 val_t tmp;
1361 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1362 fra.me.file = LOCATE_abstract_collection;
1363 fra.me.line = 354;
1364 fra.me.meth = LOCATE_abstract_collection___Sequence___unshift;
1365 fra.me.has_broke = 0;
1366 fra.me.REG_size = 0;
1367 /* ./../lib/standard//collection//abstract_collection.nit:354 */
1368 fprintf(stderr, "Deferred method called");
1369 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 354);
1370 nit_exit(1);
1371 stack_frame_head = fra.me.prev;
1372 return;
1373 }
1374 val_t abstract_collection___Sequence___shift(val_t p0){
1375 struct {struct stack_frame_t me;} fra;
1376 val_t tmp;
1377 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1378 fra.me.file = LOCATE_abstract_collection;
1379 fra.me.line = 357;
1380 fra.me.meth = LOCATE_abstract_collection___Sequence___shift;
1381 fra.me.has_broke = 0;
1382 fra.me.REG_size = 0;
1383 /* ./../lib/standard//collection//abstract_collection.nit:357 */
1384 fprintf(stderr, "Deferred method called");
1385 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 357);
1386 nit_exit(1);
1387 stack_frame_head = fra.me.prev;
1388 return NIT_NULL;
1389 }
1390 val_t abstract_collection___IndexedIterator___key(val_t p0){
1391 struct {struct stack_frame_t me;} fra;
1392 val_t REGB0;
1393 val_t tmp;
1394 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1395 fra.me.file = LOCATE_abstract_collection;
1396 fra.me.line = 369;
1397 fra.me.meth = LOCATE_abstract_collection___IndexedIterator___key;
1398 fra.me.has_broke = 0;
1399 fra.me.REG_size = 1;
1400 fra.me.REG[0] = NIT_NULL;
1401 fra.me.REG[0] = p0;
1402 REGB0 = CALL_abstract_collection___IndexedIterator___index(fra.me.REG[0])(fra.me.REG[0]);
1403 /* ./../lib/standard//collection//abstract_collection.nit:370 */
1404 goto label1;
1405 label1: while(0);
1406 stack_frame_head = fra.me.prev;
1407 return REGB0;
1408 }
1409 val_t abstract_collection___IndexedIterator___index(val_t p0){
1410 struct {struct stack_frame_t me;} fra;
1411 val_t tmp;
1412 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1413 fra.me.file = LOCATE_abstract_collection;
1414 fra.me.line = 366;
1415 fra.me.meth = LOCATE_abstract_collection___IndexedIterator___index;
1416 fra.me.has_broke = 0;
1417 fra.me.REG_size = 0;
1418 /* ./../lib/standard//collection//abstract_collection.nit:366 */
1419 fprintf(stderr, "Deferred method called");
1420 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 366);
1421 nit_exit(1);
1422 stack_frame_head = fra.me.prev;
1423 return NIT_NULL;
1424 }
1425 val_t abstract_collection___CoupleMap_____bra(val_t p0, val_t p1){
1426 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1427 val_t REGB0;
1428 val_t REGB1;
1429 val_t tmp;
1430 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1431 fra.me.file = LOCATE_abstract_collection;
1432 fra.me.line = 380;
1433 fra.me.meth = LOCATE_abstract_collection___CoupleMap_____bra;
1434 fra.me.has_broke = 0;
1435 fra.me.REG_size = 2;
1436 fra.me.REG[0] = NIT_NULL;
1437 fra.me.REG[1] = NIT_NULL;
1438 fra.me.REG[0] = p0;
1439 fra.me.REG[1] = p1;
1440 fra.me.REG[1] = CALL_abstract_collection___CoupleMap___couple_at(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1441 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1442 /* ./../lib/standard//collection//abstract_collection.nit:383 */
1443 if (UNTAG_Bool(REGB0)) {
1444 } else {
1445 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1446 if (UNTAG_Bool(REGB1)) {
1447 REGB1 = TAG_Bool(false);
1448 REGB0 = REGB1;
1449 } else {
1450 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
1451 REGB0 = REGB1;
1452 }
1453 }
1454 if (UNTAG_Bool(REGB0)) {
1455 /* ./../lib/standard//collection//abstract_collection.nit:384 */
1456 fprintf(stderr, "Aborted");
1457 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 384);
1458 nit_exit(1);
1459 } else {
1460 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1461 /* ./../lib/standard//collection//abstract_collection.nit:386 */
1462 if (UNTAG_Bool(REGB0)) {
1463 fprintf(stderr, "Reciever is null");
1464 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 386);
1465 nit_exit(1);
1466 }
1467 fra.me.REG[1] = CALL_abstract_collection___Couple___second(fra.me.REG[1])(fra.me.REG[1]);
1468 goto label1;
1469 }
1470 label1: while(0);
1471 stack_frame_head = fra.me.prev;
1472 return fra.me.REG[1];
1473 }
1474 val_t abstract_collection___CoupleMap___has_key(val_t p0, val_t p1){
1475 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1476 val_t REGB0;
1477 val_t REGB1;
1478 val_t tmp;
1479 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1480 fra.me.file = LOCATE_abstract_collection;
1481 fra.me.line = 390;
1482 fra.me.meth = LOCATE_abstract_collection___CoupleMap___has_key;
1483 fra.me.has_broke = 0;
1484 fra.me.REG_size = 2;
1485 fra.me.REG[0] = NIT_NULL;
1486 fra.me.REG[1] = NIT_NULL;
1487 fra.me.REG[0] = p0;
1488 fra.me.REG[1] = p1;
1489 fra.me.REG[1] = CALL_abstract_collection___CoupleMap___couple_at(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1490 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1491 /* ./../lib/standard//collection//abstract_collection.nit:390 */
1492 if (UNTAG_Bool(REGB0)) {
1493 } else {
1494 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1495 if (UNTAG_Bool(REGB1)) {
1496 REGB1 = TAG_Bool(false);
1497 REGB0 = REGB1;
1498 } else {
1499 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
1500 REGB0 = REGB1;
1501 }
1502 }
1503 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1504 goto label1;
1505 label1: while(0);
1506 stack_frame_head = fra.me.prev;
1507 return REGB0;
1508 }
1509 val_t abstract_collection___CoupleMap___couple_at(val_t p0, val_t p1){
1510 struct {struct stack_frame_t me;} fra;
1511 val_t tmp;
1512 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1513 fra.me.file = LOCATE_abstract_collection;
1514 fra.me.line = 376;
1515 fra.me.meth = LOCATE_abstract_collection___CoupleMap___couple_at;
1516 fra.me.has_broke = 0;
1517 fra.me.REG_size = 0;
1518 /* ./../lib/standard//collection//abstract_collection.nit:376 */
1519 fprintf(stderr, "Deferred method called");
1520 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 376);
1521 nit_exit(1);
1522 stack_frame_head = fra.me.prev;
1523 return NIT_NULL;
1524 }
1525 val_t abstract_collection___CoupleMapIterator___item(val_t p0){
1526 struct {struct stack_frame_t me;} fra;
1527 val_t REGB0;
1528 val_t tmp;
1529 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1530 fra.me.file = LOCATE_abstract_collection;
1531 fra.me.line = 398;
1532 fra.me.meth = LOCATE_abstract_collection___CoupleMapIterator___item;
1533 fra.me.has_broke = 0;
1534 fra.me.REG_size = 1;
1535 fra.me.REG[0] = NIT_NULL;
1536 fra.me.REG[0] = p0;
1537 REGB0 = TAG_Bool(ATTR_abstract_collection___CoupleMapIterator____iter(fra.me.REG[0])!=NIT_NULL);
1538 /* ./../lib/standard//collection//abstract_collection.nit:398 */
1539 if (UNTAG_Bool(REGB0)) {
1540 } else {
1541 fprintf(stderr, "Uninitialized attribute %s", "_iter");
1542 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 398);
1543 nit_exit(1);
1544 }
1545 fra.me.REG[0] = ATTR_abstract_collection___CoupleMapIterator____iter(fra.me.REG[0]);
1546 fra.me.REG[0] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
1547 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
1548 if (UNTAG_Bool(REGB0)) {
1549 fprintf(stderr, "Reciever is null");
1550 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 398);
1551 nit_exit(1);
1552 }
1553 fra.me.REG[0] = CALL_abstract_collection___Couple___second(fra.me.REG[0])(fra.me.REG[0]);
1554 goto label1;
1555 label1: while(0);
1556 stack_frame_head = fra.me.prev;
1557 return fra.me.REG[0];
1558 }
1559 void abstract_collection___CoupleMapIterator___next(val_t p0){
1560 struct {struct stack_frame_t me;} fra;
1561 val_t REGB0;
1562 val_t tmp;
1563 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1564 fra.me.file = LOCATE_abstract_collection;
1565 fra.me.line = 406;
1566 fra.me.meth = LOCATE_abstract_collection___CoupleMapIterator___next;
1567 fra.me.has_broke = 0;
1568 fra.me.REG_size = 1;
1569 fra.me.REG[0] = NIT_NULL;
1570 fra.me.REG[0] = p0;
1571 REGB0 = TAG_Bool(ATTR_abstract_collection___CoupleMapIterator____iter(fra.me.REG[0])!=NIT_NULL);
1572 /* ./../lib/standard//collection//abstract_collection.nit:408 */
1573 if (UNTAG_Bool(REGB0)) {
1574 } else {
1575 fprintf(stderr, "Uninitialized attribute %s", "_iter");
1576 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 408);
1577 nit_exit(1);
1578 }
1579 fra.me.REG[0] = ATTR_abstract_collection___CoupleMapIterator____iter(fra.me.REG[0]);
1580 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
1581 stack_frame_head = fra.me.prev;
1582 return;
1583 }
1584 val_t abstract_collection___CoupleMapIterator___is_ok(val_t p0){
1585 struct {struct stack_frame_t me;} fra;
1586 val_t REGB0;
1587 val_t tmp;
1588 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1589 fra.me.file = LOCATE_abstract_collection;
1590 fra.me.line = 404;
1591 fra.me.meth = LOCATE_abstract_collection___CoupleMapIterator___is_ok;
1592 fra.me.has_broke = 0;
1593 fra.me.REG_size = 1;
1594 fra.me.REG[0] = NIT_NULL;
1595 fra.me.REG[0] = p0;
1596 REGB0 = TAG_Bool(ATTR_abstract_collection___CoupleMapIterator____iter(fra.me.REG[0])!=NIT_NULL);
1597 /* ./../lib/standard//collection//abstract_collection.nit:404 */
1598 if (UNTAG_Bool(REGB0)) {
1599 } else {
1600 fprintf(stderr, "Uninitialized attribute %s", "_iter");
1601 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 404);
1602 nit_exit(1);
1603 }
1604 fra.me.REG[0] = ATTR_abstract_collection___CoupleMapIterator____iter(fra.me.REG[0]);
1605 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
1606 goto label1;
1607 label1: while(0);
1608 stack_frame_head = fra.me.prev;
1609 return REGB0;
1610 }
1611 val_t abstract_collection___CoupleMapIterator___key(val_t p0){
1612 struct {struct stack_frame_t me;} fra;
1613 val_t REGB0;
1614 val_t tmp;
1615 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1616 fra.me.file = LOCATE_abstract_collection;
1617 fra.me.line = 402;
1618 fra.me.meth = LOCATE_abstract_collection___CoupleMapIterator___key;
1619 fra.me.has_broke = 0;
1620 fra.me.REG_size = 1;
1621 fra.me.REG[0] = NIT_NULL;
1622 fra.me.REG[0] = p0;
1623 REGB0 = TAG_Bool(ATTR_abstract_collection___CoupleMapIterator____iter(fra.me.REG[0])!=NIT_NULL);
1624 /* ./../lib/standard//collection//abstract_collection.nit:402 */
1625 if (UNTAG_Bool(REGB0)) {
1626 } else {
1627 fprintf(stderr, "Uninitialized attribute %s", "_iter");
1628 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 402);
1629 nit_exit(1);
1630 }
1631 fra.me.REG[0] = ATTR_abstract_collection___CoupleMapIterator____iter(fra.me.REG[0]);
1632 fra.me.REG[0] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
1633 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
1634 if (UNTAG_Bool(REGB0)) {
1635 fprintf(stderr, "Reciever is null");
1636 fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 402);
1637 nit_exit(1);
1638 }
1639 fra.me.REG[0] = CALL_abstract_collection___Couple___first(fra.me.REG[0])(fra.me.REG[0]);
1640 goto label1;
1641 label1: while(0);
1642 stack_frame_head = fra.me.prev;
1643 return fra.me.REG[0];
1644 }
1645 void abstract_collection___CoupleMapIterator___init(val_t p0, val_t p1, int* init_table){
1646 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_CoupleMapIterator].i;
1647 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1648 val_t tmp;
1649 if (init_table[itpos2]) return;
1650 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1651 fra.me.file = LOCATE_abstract_collection;
1652 fra.me.line = 413;
1653 fra.me.meth = LOCATE_abstract_collection___CoupleMapIterator___init;
1654 fra.me.has_broke = 0;
1655 fra.me.REG_size = 2;
1656 fra.me.REG[0] = NIT_NULL;
1657 fra.me.REG[1] = NIT_NULL;
1658 fra.me.REG[0] = p0;
1659 fra.me.REG[1] = p1;
1660 /* ./../lib/standard//collection//abstract_collection.nit:413 */
1661 ATTR_abstract_collection___CoupleMapIterator____iter(fra.me.REG[0]) = fra.me.REG[1];
1662 stack_frame_head = fra.me.prev;
1663 init_table[itpos2] = 1;
1664 return;
1665 }
1666 val_t abstract_collection___Couple___first(val_t p0){
1667 struct {struct stack_frame_t me;} fra;
1668 val_t tmp;
1669 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1670 fra.me.file = LOCATE_abstract_collection;
1671 fra.me.line = 421;
1672 fra.me.meth = LOCATE_abstract_collection___Couple___first;
1673 fra.me.has_broke = 0;
1674 fra.me.REG_size = 1;
1675 fra.me.REG[0] = NIT_NULL;
1676 fra.me.REG[0] = p0;
1677 fra.me.REG[0] = ATTR_abstract_collection___Couple____first(fra.me.REG[0]);
1678 /* ./../lib/standard//collection//abstract_collection.nit:421 */
1679 stack_frame_head = fra.me.prev;
1680 return fra.me.REG[0];
1681 }
1682 void abstract_collection___Couple___first__eq(val_t p0, val_t p1){
1683 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1684 val_t tmp;
1685 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1686 fra.me.file = LOCATE_abstract_collection;
1687 fra.me.line = 421;
1688 fra.me.meth = LOCATE_abstract_collection___Couple___first__eq;
1689 fra.me.has_broke = 0;
1690 fra.me.REG_size = 2;
1691 fra.me.REG[0] = NIT_NULL;
1692 fra.me.REG[1] = NIT_NULL;
1693 fra.me.REG[0] = p0;
1694 fra.me.REG[1] = p1;
1695 /* ./../lib/standard//collection//abstract_collection.nit:421 */
1696 ATTR_abstract_collection___Couple____first(fra.me.REG[0]) = fra.me.REG[1];
1697 stack_frame_head = fra.me.prev;
1698 return;
1699 }
1700 val_t abstract_collection___Couple___second(val_t p0){
1701 struct {struct stack_frame_t me;} fra;
1702 val_t tmp;
1703 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1704 fra.me.file = LOCATE_abstract_collection;
1705 fra.me.line = 424;
1706 fra.me.meth = LOCATE_abstract_collection___Couple___second;
1707 fra.me.has_broke = 0;
1708 fra.me.REG_size = 1;
1709 fra.me.REG[0] = NIT_NULL;
1710 fra.me.REG[0] = p0;
1711 fra.me.REG[0] = ATTR_abstract_collection___Couple____second(fra.me.REG[0]);
1712 /* ./../lib/standard//collection//abstract_collection.nit:424 */
1713 stack_frame_head = fra.me.prev;
1714 return fra.me.REG[0];
1715 }
1716 void abstract_collection___Couple___second__eq(val_t p0, val_t p1){
1717 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1718 val_t tmp;
1719 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1720 fra.me.file = LOCATE_abstract_collection;
1721 fra.me.line = 424;
1722 fra.me.meth = LOCATE_abstract_collection___Couple___second__eq;
1723 fra.me.has_broke = 0;
1724 fra.me.REG_size = 2;
1725 fra.me.REG[0] = NIT_NULL;
1726 fra.me.REG[1] = NIT_NULL;
1727 fra.me.REG[0] = p0;
1728 fra.me.REG[1] = p1;
1729 /* ./../lib/standard//collection//abstract_collection.nit:424 */
1730 ATTR_abstract_collection___Couple____second(fra.me.REG[0]) = fra.me.REG[1];
1731 stack_frame_head = fra.me.prev;
1732 return;
1733 }
1734 void abstract_collection___Couple___init(val_t p0, val_t p1, val_t p2, int* init_table){
1735 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Couple].i;
1736 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1737 val_t tmp;
1738 if (init_table[itpos3]) return;
1739 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1740 fra.me.file = LOCATE_abstract_collection;
1741 fra.me.line = 427;
1742 fra.me.meth = LOCATE_abstract_collection___Couple___init;
1743 fra.me.has_broke = 0;
1744 fra.me.REG_size = 3;
1745 fra.me.REG[0] = NIT_NULL;
1746 fra.me.REG[1] = NIT_NULL;
1747 fra.me.REG[2] = NIT_NULL;
1748 fra.me.REG[0] = p0;
1749 fra.me.REG[1] = p1;
1750 fra.me.REG[2] = p2;
1751 /* ./../lib/standard//collection//abstract_collection.nit:430 */
1752 ATTR_abstract_collection___Couple____first(fra.me.REG[0]) = fra.me.REG[1];
1753 /* ./../lib/standard//collection//abstract_collection.nit:431 */
1754 ATTR_abstract_collection___Couple____second(fra.me.REG[0]) = fra.me.REG[2];
1755 stack_frame_head = fra.me.prev;
1756 init_table[itpos3] = 1;
1757 return;
1758 }