prepare changelog for v0.5
[nit.git] / c_src / standard___collection___abstract_collection._sep.c
1 /* This C file is generated by NIT to compile module standard___collection___abstract_collection. */
2 #include "standard___collection___abstract_collection._sep.h"
3 val_t standard___collection___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_standard___collection___abstract_collection;
8 fra.me.line = 42;
9 fra.me.meth = LOCATE_standard___collection___abstract_collection___Collection___iterator;
10 fra.me.has_broke = 0;
11 fra.me.REG_size = 0;
12 fra.me.nitni_local_ref_head = NULL;
13 /* ../lib/standard/collection/abstract_collection.nit:42 */
14 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 42);
15 stack_frame_head = fra.me.prev;
16 return NIT_NULL;
17 }
18 void standard___collection___abstract_collection___Collection___iterate(val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
19 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
20 val_t REGB0;
21 fun_t CREG[1];
22 val_t tmp;
23 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24 fra.me.file = LOCATE_standard___collection___abstract_collection;
25 fra.me.line = 45;
26 fra.me.meth = LOCATE_standard___collection___abstract_collection___Collection___iterate;
27 fra.me.has_broke = 0;
28 fra.me.REG_size = 2;
29 fra.me.nitni_local_ref_head = NULL;
30 fra.me.REG[0] = NIT_NULL;
31 fra.me.REG[1] = NIT_NULL;
32 fra.me.closure_ctx = closctx_param;
33 fra.me.closure_funs = CREG;
34 fra.me.REG[0] = p0;
35 CREG[0] = clos_fun0;
36 /* ../lib/standard/collection/abstract_collection.nit:49 */
37 fra.me.REG[0] = CALL_standard___collection___abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
38 /* ../lib/standard/collection/abstract_collection.nit:50 */
39 while(1) {
40 REGB0 = CALL_standard___collection___abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
41 if (UNTAG_Bool(REGB0)) {
42 /* ../lib/standard/collection/abstract_collection.nit:51 */
43 fra.me.REG[1] = CALL_standard___collection___abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
44 ((void (*)(struct stack_frame_t *, val_t))(CREG[0]))(closctx_param, fra.me.REG[1]);
45 if (closctx_param->has_broke) {
46 goto label1;
47 }
48 /* ../lib/standard/collection/abstract_collection.nit:52 */
49 CALL_standard___collection___abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
50 } else {
51 /* ../lib/standard/collection/abstract_collection.nit:50 */
52 goto label2;
53 }
54 }
55 label2: while(0);
56 label1: while(0);
57 stack_frame_head = fra.me.prev;
58 return;
59 }
60 val_t standard___collection___abstract_collection___Collection___is_empty(val_t p0){
61 struct {struct stack_frame_t me;} fra;
62 val_t tmp;
63 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64 fra.me.file = LOCATE_standard___collection___abstract_collection;
65 fra.me.line = 56;
66 fra.me.meth = LOCATE_standard___collection___abstract_collection___Collection___is_empty;
67 fra.me.has_broke = 0;
68 fra.me.REG_size = 0;
69 fra.me.nitni_local_ref_head = NULL;
70 /* ../lib/standard/collection/abstract_collection.nit:56 */
71 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 56);
72 stack_frame_head = fra.me.prev;
73 return NIT_NULL;
74 }
75 val_t standard___collection___abstract_collection___Collection___length(val_t p0){
76 struct {struct stack_frame_t me;} fra;
77 val_t tmp;
78 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
79 fra.me.file = LOCATE_standard___collection___abstract_collection;
80 fra.me.line = 59;
81 fra.me.meth = LOCATE_standard___collection___abstract_collection___Collection___length;
82 fra.me.has_broke = 0;
83 fra.me.REG_size = 0;
84 fra.me.nitni_local_ref_head = NULL;
85 /* ../lib/standard/collection/abstract_collection.nit:59 */
86 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 59);
87 stack_frame_head = fra.me.prev;
88 return NIT_NULL;
89 }
90 val_t standard___collection___abstract_collection___Collection___has(val_t p0, val_t p1){
91 struct {struct stack_frame_t me;} fra;
92 val_t tmp;
93 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94 fra.me.file = LOCATE_standard___collection___abstract_collection;
95 fra.me.line = 62;
96 fra.me.meth = LOCATE_standard___collection___abstract_collection___Collection___has;
97 fra.me.has_broke = 0;
98 fra.me.REG_size = 0;
99 fra.me.nitni_local_ref_head = NULL;
100 /* ../lib/standard/collection/abstract_collection.nit:62 */
101 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 62);
102 stack_frame_head = fra.me.prev;
103 return NIT_NULL;
104 }
105 val_t standard___collection___abstract_collection___Collection___has_only(val_t p0, val_t p1){
106 struct {struct stack_frame_t me;} fra;
107 val_t tmp;
108 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109 fra.me.file = LOCATE_standard___collection___abstract_collection;
110 fra.me.line = 66;
111 fra.me.meth = LOCATE_standard___collection___abstract_collection___Collection___has_only;
112 fra.me.has_broke = 0;
113 fra.me.REG_size = 0;
114 fra.me.nitni_local_ref_head = NULL;
115 /* ../lib/standard/collection/abstract_collection.nit:66 */
116 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 66);
117 stack_frame_head = fra.me.prev;
118 return NIT_NULL;
119 }
120 val_t standard___collection___abstract_collection___Collection___count(val_t p0, val_t p1){
121 struct {struct stack_frame_t me;} fra;
122 val_t tmp;
123 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
124 fra.me.file = LOCATE_standard___collection___abstract_collection;
125 fra.me.line = 71;
126 fra.me.meth = LOCATE_standard___collection___abstract_collection___Collection___count;
127 fra.me.has_broke = 0;
128 fra.me.REG_size = 0;
129 fra.me.nitni_local_ref_head = NULL;
130 /* ../lib/standard/collection/abstract_collection.nit:71 */
131 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 71);
132 stack_frame_head = fra.me.prev;
133 return NIT_NULL;
134 }
135 val_t standard___collection___abstract_collection___Collection___first(val_t p0){
136 struct {struct stack_frame_t me;} fra;
137 val_t tmp;
138 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
139 fra.me.file = LOCATE_standard___collection___abstract_collection;
140 fra.me.line = 75;
141 fra.me.meth = LOCATE_standard___collection___abstract_collection___Collection___first;
142 fra.me.has_broke = 0;
143 fra.me.REG_size = 0;
144 fra.me.nitni_local_ref_head = NULL;
145 /* ../lib/standard/collection/abstract_collection.nit:75 */
146 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 75);
147 stack_frame_head = fra.me.prev;
148 return NIT_NULL;
149 }
150 val_t standard___collection___abstract_collection___NaiveCollection___is_empty(val_t p0){
151 struct {struct stack_frame_t me;} fra;
152 val_t REGB0;
153 val_t REGB1;
154 val_t REGB2;
155 val_t tmp;
156 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
157 fra.me.file = LOCATE_standard___collection___abstract_collection;
158 fra.me.line = 83;
159 fra.me.meth = LOCATE_standard___collection___abstract_collection___NaiveCollection___is_empty;
160 fra.me.has_broke = 0;
161 fra.me.REG_size = 1;
162 fra.me.nitni_local_ref_head = NULL;
163 fra.me.REG[0] = NIT_NULL;
164 fra.me.REG[0] = p0;
165 /* ../lib/standard/collection/abstract_collection.nit:83 */
166 REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
167 REGB1 = TAG_Int(0);
168 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
169 if (UNTAG_Bool(REGB2)) {
170 } else {
171 /* ../lib/standard/kernel.nit:227 */
172 REGB1 = TAG_Bool((REGB0)==(REGB1));
173 /* ../lib/standard/collection/abstract_collection.nit:83 */
174 REGB2 = REGB1;
175 }
176 goto label1;
177 label1: while(0);
178 stack_frame_head = fra.me.prev;
179 return REGB2;
180 }
181 val_t standard___collection___abstract_collection___NaiveCollection___length(val_t p0){
182 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
183 val_t REGB0;
184 val_t tmp;
185 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
186 fra.me.file = LOCATE_standard___collection___abstract_collection;
187 fra.me.line = 85;
188 fra.me.meth = LOCATE_standard___collection___abstract_collection___NaiveCollection___length;
189 fra.me.has_broke = 0;
190 fra.me.REG_size = 2;
191 fra.me.nitni_local_ref_head = NULL;
192 fra.me.REG[0] = NIT_NULL;
193 fra.me.REG[1] = NIT_NULL;
194 fra.me.REG[0] = p0;
195 /* ../lib/standard/collection/abstract_collection.nit:87 */
196 REGB0 = TAG_Int(0);
197 fra.me.REG[1] = REGB0;
198 CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[0])(fra.me.REG[0], (&(fra.me)), ((fun_t)OC_standard___collection___abstract_collection___NaiveCollection___length_1));
199 /* ../lib/standard/collection/abstract_collection.nit:89 */
200 REGB0 = fra.me.REG[1];
201 goto label2;
202 label2: while(0);
203 stack_frame_head = fra.me.prev;
204 return REGB0;
205 }
206 void OC_standard___collection___abstract_collection___NaiveCollection___length_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
207 struct {struct stack_frame_t me;} fra;
208 val_t REGB0;
209 fun_t CREG[1];
210 val_t tmp;
211 /* ../lib/standard/collection/abstract_collection.nit:88 */
212 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
213 fra.me.file = LOCATE_standard___collection___abstract_collection;
214 fra.me.line = 0;
215 fra.me.meth = LOCATE_standard___collection___abstract_collection___NaiveCollection___length;
216 fra.me.has_broke = 0;
217 fra.me.REG_size = 1;
218 fra.me.nitni_local_ref_head = NULL;
219 fra.me.REG[0] = NIT_NULL;
220 fra.me.closure_ctx = closctx_param;
221 fra.me.closure_funs = CREG;
222 fra.me.REG[0] = p0;
223 CREG[0] = clos_fun0;
224 REGB0 = TAG_Int(1);
225 /* ../lib/standard/kernel.nit:235 */
226 REGB0 = TAG_Int(UNTAG_Int(closctx->REG[1])+UNTAG_Int(REGB0));
227 /* ../lib/standard/collection/abstract_collection.nit:88 */
228 closctx->REG[1] = REGB0;
229 stack_frame_head = fra.me.prev;
230 return;
231 }
232 val_t standard___collection___abstract_collection___NaiveCollection___has(val_t p0, val_t p1){
233 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
234 val_t REGB0;
235 val_t tmp;
236 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
237 fra.me.file = LOCATE_standard___collection___abstract_collection;
238 fra.me.line = 92;
239 fra.me.meth = LOCATE_standard___collection___abstract_collection___NaiveCollection___has;
240 fra.me.has_broke = 0;
241 fra.me.REG_size = 2;
242 fra.me.nitni_local_ref_head = NULL;
243 fra.me.REG[0] = NIT_NULL;
244 fra.me.REG[1] = NIT_NULL;
245 fra.me.REG[0] = p0;
246 fra.me.REG[1] = p1;
247 CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[0])(fra.me.REG[0], (&(fra.me)), ((fun_t)OC_standard___collection___abstract_collection___NaiveCollection___has_1));
248 switch ((&(fra.me))->has_broke) {
249 case 0: break;
250 case 1: (&(fra.me))->has_broke = 0; goto label3;
251 }
252 /* ../lib/standard/collection/abstract_collection.nit:95 */
253 REGB0 = TAG_Bool(false);
254 fra.me.REG[0] = REGB0;
255 goto label3;
256 label3: while(0);
257 stack_frame_head = fra.me.prev;
258 return fra.me.REG[0];
259 }
260 void OC_standard___collection___abstract_collection___NaiveCollection___has_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
261 struct {struct stack_frame_t me;} fra;
262 val_t REGB0;
263 val_t REGB1;
264 fun_t CREG[1];
265 val_t tmp;
266 /* ../lib/standard/collection/abstract_collection.nit:94 */
267 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
268 fra.me.file = LOCATE_standard___collection___abstract_collection;
269 fra.me.line = 0;
270 fra.me.meth = LOCATE_standard___collection___abstract_collection___NaiveCollection___has;
271 fra.me.has_broke = 0;
272 fra.me.REG_size = 1;
273 fra.me.nitni_local_ref_head = NULL;
274 fra.me.REG[0] = NIT_NULL;
275 fra.me.closure_ctx = closctx_param;
276 fra.me.closure_funs = CREG;
277 fra.me.REG[0] = p0;
278 CREG[0] = clos_fun0;
279 REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[0],closctx->REG[1]));
280 if (UNTAG_Bool(REGB0)) {
281 } else {
282 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
283 if (UNTAG_Bool(REGB1)) {
284 REGB1 = TAG_Bool(false);
285 REGB0 = REGB1;
286 } else {
287 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1]);
288 REGB0 = REGB1;
289 }
290 }
291 if (UNTAG_Bool(REGB0)) {
292 REGB0 = TAG_Bool(true);
293 closctx->REG[0] = REGB0;
294 closctx->has_broke = 1;
295 goto label2;
296 }
297 label2: while(0);
298 stack_frame_head = fra.me.prev;
299 return;
300 }
301 val_t standard___collection___abstract_collection___NaiveCollection___has_only(val_t p0, val_t p1){
302 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
303 val_t REGB0;
304 val_t tmp;
305 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
306 fra.me.file = LOCATE_standard___collection___abstract_collection;
307 fra.me.line = 98;
308 fra.me.meth = LOCATE_standard___collection___abstract_collection___NaiveCollection___has_only;
309 fra.me.has_broke = 0;
310 fra.me.REG_size = 2;
311 fra.me.nitni_local_ref_head = NULL;
312 fra.me.REG[0] = NIT_NULL;
313 fra.me.REG[1] = NIT_NULL;
314 fra.me.REG[0] = p0;
315 fra.me.REG[1] = p1;
316 CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[0])(fra.me.REG[0], (&(fra.me)), ((fun_t)OC_standard___collection___abstract_collection___NaiveCollection___has_only_1));
317 switch ((&(fra.me))->has_broke) {
318 case 0: break;
319 case 1: (&(fra.me))->has_broke = 0; goto label3;
320 }
321 /* ../lib/standard/collection/abstract_collection.nit:101 */
322 REGB0 = TAG_Bool(true);
323 fra.me.REG[0] = REGB0;
324 goto label3;
325 label3: while(0);
326 stack_frame_head = fra.me.prev;
327 return fra.me.REG[0];
328 }
329 void OC_standard___collection___abstract_collection___NaiveCollection___has_only_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
330 struct {struct stack_frame_t me;} fra;
331 val_t REGB0;
332 val_t REGB1;
333 fun_t CREG[1];
334 val_t tmp;
335 /* ../lib/standard/collection/abstract_collection.nit:100 */
336 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
337 fra.me.file = LOCATE_standard___collection___abstract_collection;
338 fra.me.line = 0;
339 fra.me.meth = LOCATE_standard___collection___abstract_collection___NaiveCollection___has_only;
340 fra.me.has_broke = 0;
341 fra.me.REG_size = 1;
342 fra.me.nitni_local_ref_head = NULL;
343 fra.me.REG[0] = NIT_NULL;
344 fra.me.closure_ctx = closctx_param;
345 fra.me.closure_funs = CREG;
346 fra.me.REG[0] = p0;
347 CREG[0] = clos_fun0;
348 REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[0],closctx->REG[1]));
349 if (UNTAG_Bool(REGB0)) {
350 } else {
351 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
352 if (UNTAG_Bool(REGB1)) {
353 REGB1 = TAG_Bool(false);
354 REGB0 = REGB1;
355 } else {
356 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1]);
357 REGB0 = REGB1;
358 }
359 }
360 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
361 if (UNTAG_Bool(REGB0)) {
362 REGB0 = TAG_Bool(false);
363 closctx->REG[0] = REGB0;
364 closctx->has_broke = 1;
365 goto label2;
366 }
367 label2: while(0);
368 stack_frame_head = fra.me.prev;
369 return;
370 }
371 val_t standard___collection___abstract_collection___NaiveCollection___count(val_t p0, val_t p1){
372 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
373 val_t REGB0;
374 val_t tmp;
375 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
376 fra.me.file = LOCATE_standard___collection___abstract_collection;
377 fra.me.line = 104;
378 fra.me.meth = LOCATE_standard___collection___abstract_collection___NaiveCollection___count;
379 fra.me.has_broke = 0;
380 fra.me.REG_size = 3;
381 fra.me.nitni_local_ref_head = NULL;
382 fra.me.REG[0] = NIT_NULL;
383 fra.me.REG[1] = NIT_NULL;
384 fra.me.REG[2] = NIT_NULL;
385 fra.me.REG[0] = p0;
386 fra.me.REG[1] = p1;
387 /* ../lib/standard/collection/abstract_collection.nit:106 */
388 REGB0 = TAG_Int(0);
389 fra.me.REG[2] = REGB0;
390 CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[0])(fra.me.REG[0], (&(fra.me)), ((fun_t)OC_standard___collection___abstract_collection___NaiveCollection___count_1));
391 /* ../lib/standard/collection/abstract_collection.nit:108 */
392 REGB0 = fra.me.REG[2];
393 goto label2;
394 label2: while(0);
395 stack_frame_head = fra.me.prev;
396 return REGB0;
397 }
398 void OC_standard___collection___abstract_collection___NaiveCollection___count_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
399 struct {struct stack_frame_t me;} fra;
400 val_t REGB0;
401 val_t REGB1;
402 fun_t CREG[1];
403 val_t tmp;
404 /* ../lib/standard/collection/abstract_collection.nit:107 */
405 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
406 fra.me.file = LOCATE_standard___collection___abstract_collection;
407 fra.me.line = 0;
408 fra.me.meth = LOCATE_standard___collection___abstract_collection___NaiveCollection___count;
409 fra.me.has_broke = 0;
410 fra.me.REG_size = 1;
411 fra.me.nitni_local_ref_head = NULL;
412 fra.me.REG[0] = NIT_NULL;
413 fra.me.closure_ctx = closctx_param;
414 fra.me.closure_funs = CREG;
415 fra.me.REG[0] = p0;
416 CREG[0] = clos_fun0;
417 REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[0],closctx->REG[1]));
418 if (UNTAG_Bool(REGB0)) {
419 } else {
420 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
421 if (UNTAG_Bool(REGB1)) {
422 REGB1 = TAG_Bool(false);
423 REGB0 = REGB1;
424 } else {
425 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1]);
426 REGB0 = REGB1;
427 }
428 }
429 if (UNTAG_Bool(REGB0)) {
430 REGB0 = TAG_Int(1);
431 /* ../lib/standard/kernel.nit:235 */
432 REGB0 = TAG_Int(UNTAG_Int(closctx->REG[2])+UNTAG_Int(REGB0));
433 /* ../lib/standard/collection/abstract_collection.nit:107 */
434 closctx->REG[2] = REGB0;
435 }
436 stack_frame_head = fra.me.prev;
437 return;
438 }
439 val_t standard___collection___abstract_collection___NaiveCollection___first(val_t p0){
440 struct {struct stack_frame_t me;} fra;
441 val_t REGB0;
442 val_t REGB1;
443 val_t REGB2;
444 val_t tmp;
445 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
446 fra.me.file = LOCATE_standard___collection___abstract_collection;
447 fra.me.line = 111;
448 fra.me.meth = LOCATE_standard___collection___abstract_collection___NaiveCollection___first;
449 fra.me.has_broke = 0;
450 fra.me.REG_size = 1;
451 fra.me.nitni_local_ref_head = NULL;
452 fra.me.REG[0] = NIT_NULL;
453 fra.me.REG[0] = p0;
454 /* ../lib/standard/collection/abstract_collection.nit:113 */
455 REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
456 REGB1 = TAG_Int(0);
457 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
458 if (UNTAG_Bool(REGB2)) {
459 } else {
460 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
461 }
462 /* ../lib/standard/kernel.nit:234 */
463 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
464 /* ../lib/standard/collection/abstract_collection.nit:113 */
465 if (UNTAG_Bool(REGB1)) {
466 } else {
467 nit_abort("Assert failed", NULL, LOCATE_standard___collection___abstract_collection, 113);
468 }
469 /* ../lib/standard/collection/abstract_collection.nit:114 */
470 fra.me.REG[0] = CALL_standard___collection___abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
471 fra.me.REG[0] = CALL_standard___collection___abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
472 goto label1;
473 label1: while(0);
474 stack_frame_head = fra.me.prev;
475 return fra.me.REG[0];
476 }
477 val_t standard___collection___abstract_collection___Iterator___item(val_t p0){
478 struct {struct stack_frame_t me;} fra;
479 val_t tmp;
480 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
481 fra.me.file = LOCATE_standard___collection___abstract_collection;
482 fra.me.line = 121;
483 fra.me.meth = LOCATE_standard___collection___abstract_collection___Iterator___item;
484 fra.me.has_broke = 0;
485 fra.me.REG_size = 0;
486 fra.me.nitni_local_ref_head = NULL;
487 /* ../lib/standard/collection/abstract_collection.nit:121 */
488 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 121);
489 stack_frame_head = fra.me.prev;
490 return NIT_NULL;
491 }
492 void standard___collection___abstract_collection___Iterator___next(val_t p0){
493 struct {struct stack_frame_t me;} fra;
494 val_t tmp;
495 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
496 fra.me.file = LOCATE_standard___collection___abstract_collection;
497 fra.me.line = 125;
498 fra.me.meth = LOCATE_standard___collection___abstract_collection___Iterator___next;
499 fra.me.has_broke = 0;
500 fra.me.REG_size = 0;
501 fra.me.nitni_local_ref_head = NULL;
502 /* ../lib/standard/collection/abstract_collection.nit:125 */
503 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 125);
504 stack_frame_head = fra.me.prev;
505 return;
506 }
507 val_t standard___collection___abstract_collection___Iterator___is_ok(val_t p0){
508 struct {struct stack_frame_t me;} fra;
509 val_t tmp;
510 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
511 fra.me.file = LOCATE_standard___collection___abstract_collection;
512 fra.me.line = 129;
513 fra.me.meth = LOCATE_standard___collection___abstract_collection___Iterator___is_ok;
514 fra.me.has_broke = 0;
515 fra.me.REG_size = 0;
516 fra.me.nitni_local_ref_head = NULL;
517 /* ../lib/standard/collection/abstract_collection.nit:129 */
518 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 129);
519 stack_frame_head = fra.me.prev;
520 return NIT_NULL;
521 }
522 val_t standard___collection___abstract_collection___Container___first(val_t p0){
523 struct {struct stack_frame_t me;} fra;
524 val_t tmp;
525 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
526 fra.me.file = LOCATE_standard___collection___abstract_collection;
527 fra.me.line = 137;
528 fra.me.meth = LOCATE_standard___collection___abstract_collection___Container___first;
529 fra.me.has_broke = 0;
530 fra.me.REG_size = 1;
531 fra.me.nitni_local_ref_head = NULL;
532 fra.me.REG[0] = NIT_NULL;
533 fra.me.REG[0] = p0;
534 /* ../lib/standard/collection/abstract_collection.nit:137 */
535 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___Container____item(fra.me.REG[0]);
536 goto label1;
537 label1: while(0);
538 stack_frame_head = fra.me.prev;
539 return fra.me.REG[0];
540 }
541 val_t standard___collection___abstract_collection___Container___is_empty(val_t p0){
542 struct {struct stack_frame_t me;} fra;
543 val_t REGB0;
544 val_t tmp;
545 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
546 fra.me.file = LOCATE_standard___collection___abstract_collection;
547 fra.me.line = 139;
548 fra.me.meth = LOCATE_standard___collection___abstract_collection___Container___is_empty;
549 fra.me.has_broke = 0;
550 fra.me.REG_size = 1;
551 fra.me.nitni_local_ref_head = NULL;
552 fra.me.REG[0] = NIT_NULL;
553 fra.me.REG[0] = p0;
554 /* ../lib/standard/collection/abstract_collection.nit:139 */
555 REGB0 = TAG_Bool(false);
556 goto label1;
557 label1: while(0);
558 stack_frame_head = fra.me.prev;
559 return REGB0;
560 }
561 val_t standard___collection___abstract_collection___Container___length(val_t p0){
562 struct {struct stack_frame_t me;} fra;
563 val_t REGB0;
564 val_t tmp;
565 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
566 fra.me.file = LOCATE_standard___collection___abstract_collection;
567 fra.me.line = 141;
568 fra.me.meth = LOCATE_standard___collection___abstract_collection___Container___length;
569 fra.me.has_broke = 0;
570 fra.me.REG_size = 1;
571 fra.me.nitni_local_ref_head = NULL;
572 fra.me.REG[0] = NIT_NULL;
573 fra.me.REG[0] = p0;
574 /* ../lib/standard/collection/abstract_collection.nit:141 */
575 REGB0 = TAG_Int(1);
576 goto label1;
577 label1: while(0);
578 stack_frame_head = fra.me.prev;
579 return REGB0;
580 }
581 val_t standard___collection___abstract_collection___Container___has(val_t p0, val_t p1){
582 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
583 val_t REGB0;
584 val_t REGB1;
585 val_t tmp;
586 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
587 fra.me.file = LOCATE_standard___collection___abstract_collection;
588 fra.me.line = 143;
589 fra.me.meth = LOCATE_standard___collection___abstract_collection___Container___has;
590 fra.me.has_broke = 0;
591 fra.me.REG_size = 2;
592 fra.me.nitni_local_ref_head = NULL;
593 fra.me.REG[0] = NIT_NULL;
594 fra.me.REG[1] = NIT_NULL;
595 fra.me.REG[0] = p0;
596 fra.me.REG[1] = p1;
597 /* ../lib/standard/collection/abstract_collection.nit:143 */
598 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___Container____item(fra.me.REG[0]);
599 REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[0],fra.me.REG[1]));
600 if (UNTAG_Bool(REGB0)) {
601 } else {
602 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
603 if (UNTAG_Bool(REGB1)) {
604 REGB1 = TAG_Bool(false);
605 REGB0 = REGB1;
606 } else {
607 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
608 REGB0 = REGB1;
609 }
610 }
611 goto label1;
612 label1: while(0);
613 stack_frame_head = fra.me.prev;
614 return REGB0;
615 }
616 val_t standard___collection___abstract_collection___Container___has_only(val_t p0, val_t p1){
617 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
618 val_t REGB0;
619 val_t REGB1;
620 val_t tmp;
621 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
622 fra.me.file = LOCATE_standard___collection___abstract_collection;
623 fra.me.line = 145;
624 fra.me.meth = LOCATE_standard___collection___abstract_collection___Container___has_only;
625 fra.me.has_broke = 0;
626 fra.me.REG_size = 2;
627 fra.me.nitni_local_ref_head = NULL;
628 fra.me.REG[0] = NIT_NULL;
629 fra.me.REG[1] = NIT_NULL;
630 fra.me.REG[0] = p0;
631 fra.me.REG[1] = p1;
632 /* ../lib/standard/collection/abstract_collection.nit:145 */
633 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___Container____item(fra.me.REG[0]);
634 REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[0],fra.me.REG[1]));
635 if (UNTAG_Bool(REGB0)) {
636 } else {
637 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
638 if (UNTAG_Bool(REGB1)) {
639 REGB1 = TAG_Bool(false);
640 REGB0 = REGB1;
641 } else {
642 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
643 REGB0 = REGB1;
644 }
645 }
646 goto label1;
647 label1: while(0);
648 stack_frame_head = fra.me.prev;
649 return REGB0;
650 }
651 val_t standard___collection___abstract_collection___Container___count(val_t p0, val_t p1){
652 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
653 val_t REGB0;
654 val_t REGB1;
655 val_t tmp;
656 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
657 fra.me.file = LOCATE_standard___collection___abstract_collection;
658 fra.me.line = 147;
659 fra.me.meth = LOCATE_standard___collection___abstract_collection___Container___count;
660 fra.me.has_broke = 0;
661 fra.me.REG_size = 2;
662 fra.me.nitni_local_ref_head = NULL;
663 fra.me.REG[0] = NIT_NULL;
664 fra.me.REG[1] = NIT_NULL;
665 fra.me.REG[0] = p0;
666 fra.me.REG[1] = p1;
667 /* ../lib/standard/collection/abstract_collection.nit:149 */
668 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___Container____item(fra.me.REG[0]);
669 REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[0],fra.me.REG[1]));
670 if (UNTAG_Bool(REGB0)) {
671 } else {
672 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
673 if (UNTAG_Bool(REGB1)) {
674 REGB1 = TAG_Bool(false);
675 REGB0 = REGB1;
676 } else {
677 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
678 REGB0 = REGB1;
679 }
680 }
681 if (UNTAG_Bool(REGB0)) {
682 /* ../lib/standard/collection/abstract_collection.nit:150 */
683 REGB0 = TAG_Int(1);
684 goto label1;
685 } else {
686 /* ../lib/standard/collection/abstract_collection.nit:152 */
687 REGB1 = TAG_Int(0);
688 REGB0 = REGB1;
689 goto label1;
690 }
691 label1: while(0);
692 stack_frame_head = fra.me.prev;
693 return REGB0;
694 }
695 val_t standard___collection___abstract_collection___Container___iterator(val_t p0){
696 struct {struct stack_frame_t me;} fra;
697 val_t tmp;
698 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
699 fra.me.file = LOCATE_standard___collection___abstract_collection;
700 fra.me.line = 156;
701 fra.me.meth = LOCATE_standard___collection___abstract_collection___Container___iterator;
702 fra.me.has_broke = 0;
703 fra.me.REG_size = 1;
704 fra.me.nitni_local_ref_head = NULL;
705 fra.me.REG[0] = NIT_NULL;
706 fra.me.REG[0] = p0;
707 /* ../lib/standard/collection/abstract_collection.nit:156 */
708 fra.me.REG[0] = NEW_ContainerIterator_standard___collection___abstract_collection___ContainerIterator___init(fra.me.REG[0]);
709 goto label1;
710 label1: while(0);
711 stack_frame_head = fra.me.prev;
712 return fra.me.REG[0];
713 }
714 void standard___collection___abstract_collection___Container___init(val_t p0, val_t p1, int* init_table){
715 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___collection___abstract_collection___Container].i;
716 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
717 val_t tmp;
718 if (init_table[itpos0]) return;
719 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
720 fra.me.file = LOCATE_standard___collection___abstract_collection;
721 fra.me.line = 158;
722 fra.me.meth = LOCATE_standard___collection___abstract_collection___Container___init;
723 fra.me.has_broke = 0;
724 fra.me.REG_size = 2;
725 fra.me.nitni_local_ref_head = NULL;
726 fra.me.REG[0] = NIT_NULL;
727 fra.me.REG[1] = NIT_NULL;
728 fra.me.REG[0] = p0;
729 fra.me.REG[1] = p1;
730 /* ../lib/standard/collection/abstract_collection.nit:159 */
731 ATTR_standard___collection___abstract_collection___Container____item(fra.me.REG[0]) = fra.me.REG[1];
732 stack_frame_head = fra.me.prev;
733 init_table[itpos0] = 1;
734 return;
735 }
736 val_t standard___collection___abstract_collection___Container___item(val_t p0){
737 struct {struct stack_frame_t me;} fra;
738 val_t tmp;
739 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
740 fra.me.file = LOCATE_standard___collection___abstract_collection;
741 fra.me.line = 161;
742 fra.me.meth = LOCATE_standard___collection___abstract_collection___Container___item;
743 fra.me.has_broke = 0;
744 fra.me.REG_size = 1;
745 fra.me.nitni_local_ref_head = NULL;
746 fra.me.REG[0] = NIT_NULL;
747 fra.me.REG[0] = p0;
748 /* ../lib/standard/collection/abstract_collection.nit:161 */
749 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___Container____item(fra.me.REG[0]);
750 stack_frame_head = fra.me.prev;
751 return fra.me.REG[0];
752 }
753 void standard___collection___abstract_collection___Container___item__eq(val_t p0, val_t p1){
754 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
755 val_t tmp;
756 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
757 fra.me.file = LOCATE_standard___collection___abstract_collection;
758 fra.me.line = 161;
759 fra.me.meth = LOCATE_standard___collection___abstract_collection___Container___item__eq;
760 fra.me.has_broke = 0;
761 fra.me.REG_size = 2;
762 fra.me.nitni_local_ref_head = NULL;
763 fra.me.REG[0] = NIT_NULL;
764 fra.me.REG[1] = NIT_NULL;
765 fra.me.REG[0] = p0;
766 fra.me.REG[1] = p1;
767 /* ../lib/standard/collection/abstract_collection.nit:161 */
768 ATTR_standard___collection___abstract_collection___Container____item(fra.me.REG[0]) = fra.me.REG[1];
769 stack_frame_head = fra.me.prev;
770 return;
771 }
772 val_t standard___collection___abstract_collection___ContainerIterator___item(val_t p0){
773 struct {struct stack_frame_t me;} fra;
774 val_t REGB0;
775 val_t tmp;
776 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
777 fra.me.file = LOCATE_standard___collection___abstract_collection;
778 fra.me.line = 168;
779 fra.me.meth = LOCATE_standard___collection___abstract_collection___ContainerIterator___item;
780 fra.me.has_broke = 0;
781 fra.me.REG_size = 1;
782 fra.me.nitni_local_ref_head = NULL;
783 fra.me.REG[0] = NIT_NULL;
784 fra.me.REG[0] = p0;
785 /* ../lib/standard/collection/abstract_collection.nit:168 */
786 REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___ContainerIterator____container(fra.me.REG[0])!=NIT_NULL);
787 if (UNTAG_Bool(REGB0)) {
788 } else {
789 nit_abort("Uninitialized attribute %s", "_container", LOCATE_standard___collection___abstract_collection, 168);
790 }
791 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___ContainerIterator____container(fra.me.REG[0]);
792 fra.me.REG[0] = CALL_standard___collection___abstract_collection___Container___item(fra.me.REG[0])(fra.me.REG[0]);
793 goto label1;
794 label1: while(0);
795 stack_frame_head = fra.me.prev;
796 return fra.me.REG[0];
797 }
798 void standard___collection___abstract_collection___ContainerIterator___next(val_t p0){
799 struct {struct stack_frame_t me;} fra;
800 val_t REGB0;
801 val_t tmp;
802 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
803 fra.me.file = LOCATE_standard___collection___abstract_collection;
804 fra.me.line = 170;
805 fra.me.meth = LOCATE_standard___collection___abstract_collection___ContainerIterator___next;
806 fra.me.has_broke = 0;
807 fra.me.REG_size = 1;
808 fra.me.nitni_local_ref_head = NULL;
809 fra.me.REG[0] = NIT_NULL;
810 fra.me.REG[0] = p0;
811 /* ../lib/standard/collection/abstract_collection.nit:170 */
812 REGB0 = TAG_Bool(false);
813 ATTR_standard___collection___abstract_collection___ContainerIterator____is_ok(fra.me.REG[0]) = REGB0;
814 stack_frame_head = fra.me.prev;
815 return;
816 }
817 void standard___collection___abstract_collection___ContainerIterator___init(val_t p0, val_t p1, int* init_table){
818 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___collection___abstract_collection___ContainerIterator].i;
819 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
820 val_t tmp;
821 if (init_table[itpos1]) return;
822 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
823 fra.me.file = LOCATE_standard___collection___abstract_collection;
824 fra.me.line = 172;
825 fra.me.meth = LOCATE_standard___collection___abstract_collection___ContainerIterator___init;
826 fra.me.has_broke = 0;
827 fra.me.REG_size = 2;
828 fra.me.nitni_local_ref_head = NULL;
829 fra.me.REG[0] = NIT_NULL;
830 fra.me.REG[1] = NIT_NULL;
831 fra.me.REG[0] = p0;
832 fra.me.REG[1] = p1;
833 /* ../lib/standard/collection/abstract_collection.nit:172 */
834 ATTR_standard___collection___abstract_collection___ContainerIterator____container(fra.me.REG[0]) = fra.me.REG[1];
835 stack_frame_head = fra.me.prev;
836 init_table[itpos1] = 1;
837 return;
838 }
839 val_t standard___collection___abstract_collection___ContainerIterator___is_ok(val_t p0){
840 struct {struct stack_frame_t me;} fra;
841 val_t REGB0;
842 val_t tmp;
843 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
844 fra.me.file = LOCATE_standard___collection___abstract_collection;
845 fra.me.line = 174;
846 fra.me.meth = LOCATE_standard___collection___abstract_collection___ContainerIterator___is_ok;
847 fra.me.has_broke = 0;
848 fra.me.REG_size = 1;
849 fra.me.nitni_local_ref_head = NULL;
850 fra.me.REG[0] = NIT_NULL;
851 fra.me.REG[0] = p0;
852 /* ../lib/standard/collection/abstract_collection.nit:174 */
853 REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___ContainerIterator____is_ok(fra.me.REG[0])!=NIT_NULL);
854 if (UNTAG_Bool(REGB0)) {
855 } else {
856 nit_abort("Uninitialized attribute %s", "_is_ok", LOCATE_standard___collection___abstract_collection, 174);
857 }
858 REGB0 = ATTR_standard___collection___abstract_collection___ContainerIterator____is_ok(fra.me.REG[0]);
859 stack_frame_head = fra.me.prev;
860 return REGB0;
861 }
862 void standard___collection___abstract_collection___RemovableCollection___clear(val_t p0){
863 struct {struct stack_frame_t me;} fra;
864 val_t tmp;
865 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
866 fra.me.file = LOCATE_standard___collection___abstract_collection;
867 fra.me.line = 182;
868 fra.me.meth = LOCATE_standard___collection___abstract_collection___RemovableCollection___clear;
869 fra.me.has_broke = 0;
870 fra.me.REG_size = 0;
871 fra.me.nitni_local_ref_head = NULL;
872 /* ../lib/standard/collection/abstract_collection.nit:182 */
873 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 182);
874 stack_frame_head = fra.me.prev;
875 return;
876 }
877 void standard___collection___abstract_collection___RemovableCollection___remove(val_t p0, val_t p1){
878 struct {struct stack_frame_t me;} fra;
879 val_t tmp;
880 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
881 fra.me.file = LOCATE_standard___collection___abstract_collection;
882 fra.me.line = 185;
883 fra.me.meth = LOCATE_standard___collection___abstract_collection___RemovableCollection___remove;
884 fra.me.has_broke = 0;
885 fra.me.REG_size = 0;
886 fra.me.nitni_local_ref_head = NULL;
887 /* ../lib/standard/collection/abstract_collection.nit:185 */
888 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 185);
889 stack_frame_head = fra.me.prev;
890 return;
891 }
892 void standard___collection___abstract_collection___RemovableCollection___remove_all(val_t p0, val_t p1){
893 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
894 val_t REGB0;
895 val_t tmp;
896 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
897 fra.me.file = LOCATE_standard___collection___abstract_collection;
898 fra.me.line = 188;
899 fra.me.meth = LOCATE_standard___collection___abstract_collection___RemovableCollection___remove_all;
900 fra.me.has_broke = 0;
901 fra.me.REG_size = 2;
902 fra.me.nitni_local_ref_head = NULL;
903 fra.me.REG[0] = NIT_NULL;
904 fra.me.REG[1] = NIT_NULL;
905 fra.me.REG[0] = p0;
906 fra.me.REG[1] = p1;
907 /* ../lib/standard/collection/abstract_collection.nit:189 */
908 while(1) {
909 REGB0 = CALL_standard___collection___abstract_collection___Collection___has(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
910 if (UNTAG_Bool(REGB0)) {
911 CALL_standard___collection___abstract_collection___RemovableCollection___remove(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
912 } else {
913 goto label1;
914 }
915 }
916 label1: while(0);
917 stack_frame_head = fra.me.prev;
918 return;
919 }
920 void standard___collection___abstract_collection___SimpleCollection___add(val_t p0, val_t p1){
921 struct {struct stack_frame_t me;} fra;
922 val_t tmp;
923 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
924 fra.me.file = LOCATE_standard___collection___abstract_collection;
925 fra.me.line = 195;
926 fra.me.meth = LOCATE_standard___collection___abstract_collection___SimpleCollection___add;
927 fra.me.has_broke = 0;
928 fra.me.REG_size = 0;
929 fra.me.nitni_local_ref_head = NULL;
930 /* ../lib/standard/collection/abstract_collection.nit:195 */
931 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 195);
932 stack_frame_head = fra.me.prev;
933 return;
934 }
935 void standard___collection___abstract_collection___SimpleCollection___add_all(val_t p0, val_t p1){
936 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
937 val_t tmp;
938 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
939 fra.me.file = LOCATE_standard___collection___abstract_collection;
940 fra.me.line = 199;
941 fra.me.meth = LOCATE_standard___collection___abstract_collection___SimpleCollection___add_all;
942 fra.me.has_broke = 0;
943 fra.me.REG_size = 2;
944 fra.me.nitni_local_ref_head = NULL;
945 fra.me.REG[0] = NIT_NULL;
946 fra.me.REG[1] = NIT_NULL;
947 fra.me.REG[0] = p0;
948 fra.me.REG[1] = p1;
949 CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[1])(fra.me.REG[1], (&(fra.me)), ((fun_t)OC_standard___collection___abstract_collection___SimpleCollection___add_all_1));
950 stack_frame_head = fra.me.prev;
951 return;
952 }
953 void OC_standard___collection___abstract_collection___SimpleCollection___add_all_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
954 struct {struct stack_frame_t me;} fra;
955 fun_t CREG[1];
956 val_t tmp;
957 /* ../lib/standard/collection/abstract_collection.nit:200 */
958 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
959 fra.me.file = LOCATE_standard___collection___abstract_collection;
960 fra.me.line = 0;
961 fra.me.meth = LOCATE_standard___collection___abstract_collection___SimpleCollection___add_all;
962 fra.me.has_broke = 0;
963 fra.me.REG_size = 1;
964 fra.me.nitni_local_ref_head = NULL;
965 fra.me.REG[0] = NIT_NULL;
966 fra.me.closure_ctx = closctx_param;
967 fra.me.closure_funs = CREG;
968 fra.me.REG[0] = p0;
969 CREG[0] = clos_fun0;
970 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx->REG[0])(closctx->REG[0], fra.me.REG[0]);
971 stack_frame_head = fra.me.prev;
972 return;
973 }
974 val_t standard___collection___abstract_collection___Set___has_only(val_t p0, val_t p1){
975 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
976 val_t REGB0;
977 val_t REGB1;
978 val_t REGB2;
979 val_t REGB3;
980 val_t tmp;
981 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
982 fra.me.file = LOCATE_standard___collection___abstract_collection;
983 fra.me.line = 215;
984 fra.me.meth = LOCATE_standard___collection___abstract_collection___Set___has_only;
985 fra.me.has_broke = 0;
986 fra.me.REG_size = 2;
987 fra.me.nitni_local_ref_head = NULL;
988 fra.me.REG[0] = NIT_NULL;
989 fra.me.REG[1] = NIT_NULL;
990 fra.me.REG[0] = p0;
991 fra.me.REG[1] = p1;
992 /* ../lib/standard/collection/abstract_collection.nit:217 */
993 REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
994 /* ../lib/standard/collection/abstract_collection.nit:218 */
995 REGB1 = TAG_Int(1);
996 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
997 if (UNTAG_Bool(REGB2)) {
998 } else {
999 /* ../lib/standard/kernel.nit:227 */
1000 REGB1 = TAG_Bool((REGB0)==(REGB1));
1001 /* ../lib/standard/collection/abstract_collection.nit:218 */
1002 REGB2 = REGB1;
1003 }
1004 if (UNTAG_Bool(REGB2)) {
1005 /* ../lib/standard/collection/abstract_collection.nit:219 */
1006 REGB2 = CALL_standard___collection___abstract_collection___Collection___has(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1007 goto label1;
1008 } else {
1009 /* ../lib/standard/collection/abstract_collection.nit:220 */
1010 REGB1 = TAG_Int(0);
1011 REGB3 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
1012 if (UNTAG_Bool(REGB3)) {
1013 } else {
1014 /* ../lib/standard/kernel.nit:227 */
1015 REGB1 = TAG_Bool((REGB0)==(REGB1));
1016 /* ../lib/standard/collection/abstract_collection.nit:220 */
1017 REGB3 = REGB1;
1018 }
1019 if (UNTAG_Bool(REGB3)) {
1020 /* ../lib/standard/collection/abstract_collection.nit:221 */
1021 REGB3 = TAG_Bool(true);
1022 REGB2 = REGB3;
1023 goto label1;
1024 } else {
1025 /* ../lib/standard/collection/abstract_collection.nit:223 */
1026 REGB3 = TAG_Bool(false);
1027 REGB2 = REGB3;
1028 goto label1;
1029 }
1030 }
1031 label1: while(0);
1032 stack_frame_head = fra.me.prev;
1033 return REGB2;
1034 }
1035 val_t standard___collection___abstract_collection___Set___count(val_t p0, val_t p1){
1036 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1037 val_t REGB0;
1038 val_t REGB1;
1039 val_t tmp;
1040 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1041 fra.me.file = LOCATE_standard___collection___abstract_collection;
1042 fra.me.line = 227;
1043 fra.me.meth = LOCATE_standard___collection___abstract_collection___Set___count;
1044 fra.me.has_broke = 0;
1045 fra.me.REG_size = 2;
1046 fra.me.nitni_local_ref_head = NULL;
1047 fra.me.REG[0] = NIT_NULL;
1048 fra.me.REG[1] = NIT_NULL;
1049 fra.me.REG[0] = p0;
1050 fra.me.REG[1] = p1;
1051 /* ../lib/standard/collection/abstract_collection.nit:230 */
1052 REGB0 = CALL_standard___collection___abstract_collection___Collection___has(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1053 if (UNTAG_Bool(REGB0)) {
1054 /* ../lib/standard/collection/abstract_collection.nit:231 */
1055 REGB0 = TAG_Int(1);
1056 goto label1;
1057 } else {
1058 /* ../lib/standard/collection/abstract_collection.nit:233 */
1059 REGB1 = TAG_Int(0);
1060 REGB0 = REGB1;
1061 goto label1;
1062 }
1063 label1: while(0);
1064 stack_frame_head = fra.me.prev;
1065 return REGB0;
1066 }
1067 void standard___collection___abstract_collection___Set___remove_all(val_t p0, val_t p1){
1068 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1069 val_t tmp;
1070 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1071 fra.me.file = LOCATE_standard___collection___abstract_collection;
1072 fra.me.line = 237;
1073 fra.me.meth = LOCATE_standard___collection___abstract_collection___Set___remove_all;
1074 fra.me.has_broke = 0;
1075 fra.me.REG_size = 2;
1076 fra.me.nitni_local_ref_head = NULL;
1077 fra.me.REG[0] = NIT_NULL;
1078 fra.me.REG[1] = NIT_NULL;
1079 fra.me.REG[0] = p0;
1080 fra.me.REG[1] = p1;
1081 /* ../lib/standard/collection/abstract_collection.nit:238 */
1082 CALL_standard___collection___abstract_collection___RemovableCollection___remove(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1083 stack_frame_head = fra.me.prev;
1084 return;
1085 }
1086 val_t standard___collection___abstract_collection___MapRead_____bra(val_t p0, val_t p1){
1087 struct {struct stack_frame_t me;} fra;
1088 val_t tmp;
1089 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1090 fra.me.file = LOCATE_standard___collection___abstract_collection;
1091 fra.me.line = 243;
1092 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead_____bra;
1093 fra.me.has_broke = 0;
1094 fra.me.REG_size = 0;
1095 fra.me.nitni_local_ref_head = NULL;
1096 /* ../lib/standard/collection/abstract_collection.nit:243 */
1097 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 243);
1098 stack_frame_head = fra.me.prev;
1099 return NIT_NULL;
1100 }
1101 val_t standard___collection___abstract_collection___MapRead___has_key(val_t p0, val_t p1){
1102 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1103 val_t REGB0;
1104 val_t tmp;
1105 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1106 fra.me.file = LOCATE_standard___collection___abstract_collection;
1107 fra.me.line = 246;
1108 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___has_key;
1109 fra.me.has_broke = 0;
1110 fra.me.REG_size = 2;
1111 fra.me.nitni_local_ref_head = NULL;
1112 fra.me.REG[0] = NIT_NULL;
1113 fra.me.REG[1] = NIT_NULL;
1114 fra.me.REG[0] = p0;
1115 fra.me.REG[1] = p1;
1116 /* ../lib/standard/collection/abstract_collection.nit:247 */
1117 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapRead___keys(fra.me.REG[0])(fra.me.REG[0]);
1118 REGB0 = CALL_standard___collection___abstract_collection___Collection___has(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1119 goto label1;
1120 label1: while(0);
1121 stack_frame_head = fra.me.prev;
1122 return REGB0;
1123 }
1124 val_t standard___collection___abstract_collection___MapRead___iterator(val_t p0){
1125 struct {struct stack_frame_t me;} fra;
1126 val_t tmp;
1127 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1128 fra.me.file = LOCATE_standard___collection___abstract_collection;
1129 fra.me.line = 249;
1130 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___iterator;
1131 fra.me.has_broke = 0;
1132 fra.me.REG_size = 0;
1133 fra.me.nitni_local_ref_head = NULL;
1134 /* ../lib/standard/collection/abstract_collection.nit:249 */
1135 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 249);
1136 stack_frame_head = fra.me.prev;
1137 return NIT_NULL;
1138 }
1139 void standard___collection___abstract_collection___MapRead___iterate(val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
1140 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1141 val_t REGB0;
1142 fun_t CREG[1];
1143 val_t tmp;
1144 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1145 fra.me.file = LOCATE_standard___collection___abstract_collection;
1146 fra.me.line = 252;
1147 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___iterate;
1148 fra.me.has_broke = 0;
1149 fra.me.REG_size = 3;
1150 fra.me.nitni_local_ref_head = NULL;
1151 fra.me.REG[0] = NIT_NULL;
1152 fra.me.REG[1] = NIT_NULL;
1153 fra.me.REG[2] = NIT_NULL;
1154 fra.me.closure_ctx = closctx_param;
1155 fra.me.closure_funs = CREG;
1156 fra.me.REG[0] = p0;
1157 CREG[0] = clos_fun0;
1158 /* ../lib/standard/collection/abstract_collection.nit:256 */
1159 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra.me.REG[0])(fra.me.REG[0]);
1160 /* ../lib/standard/collection/abstract_collection.nit:257 */
1161 while(1) {
1162 REGB0 = CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
1163 if (UNTAG_Bool(REGB0)) {
1164 /* ../lib/standard/collection/abstract_collection.nit:258 */
1165 fra.me.REG[1] = CALL_standard___collection___abstract_collection___MapIterator___key(fra.me.REG[0])(fra.me.REG[0]);
1166 fra.me.REG[2] = CALL_standard___collection___abstract_collection___MapIterator___item(fra.me.REG[0])(fra.me.REG[0]);
1167 ((void (*)(struct stack_frame_t *, val_t, val_t))(CREG[0]))(closctx_param, fra.me.REG[1], fra.me.REG[2]);
1168 if (closctx_param->has_broke) {
1169 goto label1;
1170 }
1171 /* ../lib/standard/collection/abstract_collection.nit:259 */
1172 CALL_standard___collection___abstract_collection___MapIterator___next(fra.me.REG[0])(fra.me.REG[0]);
1173 } else {
1174 /* ../lib/standard/collection/abstract_collection.nit:257 */
1175 goto label2;
1176 }
1177 }
1178 label2: while(0);
1179 label1: while(0);
1180 stack_frame_head = fra.me.prev;
1181 return;
1182 }
1183 val_t standard___collection___abstract_collection___MapRead___values(val_t p0){
1184 struct {struct stack_frame_t me;} fra;
1185 val_t tmp;
1186 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1187 fra.me.file = LOCATE_standard___collection___abstract_collection;
1188 fra.me.line = 263;
1189 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___values;
1190 fra.me.has_broke = 0;
1191 fra.me.REG_size = 0;
1192 fra.me.nitni_local_ref_head = NULL;
1193 /* ../lib/standard/collection/abstract_collection.nit:263 */
1194 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 263);
1195 stack_frame_head = fra.me.prev;
1196 return NIT_NULL;
1197 }
1198 val_t standard___collection___abstract_collection___MapRead___keys(val_t p0){
1199 struct {struct stack_frame_t me;} fra;
1200 val_t tmp;
1201 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1202 fra.me.file = LOCATE_standard___collection___abstract_collection;
1203 fra.me.line = 268;
1204 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___keys;
1205 fra.me.has_broke = 0;
1206 fra.me.REG_size = 0;
1207 fra.me.nitni_local_ref_head = NULL;
1208 /* ../lib/standard/collection/abstract_collection.nit:268 */
1209 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 268);
1210 stack_frame_head = fra.me.prev;
1211 return NIT_NULL;
1212 }
1213 val_t standard___collection___abstract_collection___MapRead___is_empty(val_t p0){
1214 struct {struct stack_frame_t me;} fra;
1215 val_t tmp;
1216 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1217 fra.me.file = LOCATE_standard___collection___abstract_collection;
1218 fra.me.line = 273;
1219 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___is_empty;
1220 fra.me.has_broke = 0;
1221 fra.me.REG_size = 0;
1222 fra.me.nitni_local_ref_head = NULL;
1223 /* ../lib/standard/collection/abstract_collection.nit:273 */
1224 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 273);
1225 stack_frame_head = fra.me.prev;
1226 return NIT_NULL;
1227 }
1228 val_t standard___collection___abstract_collection___MapRead___length(val_t p0){
1229 struct {struct stack_frame_t me;} fra;
1230 val_t tmp;
1231 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1232 fra.me.file = LOCATE_standard___collection___abstract_collection;
1233 fra.me.line = 276;
1234 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___length;
1235 fra.me.has_broke = 0;
1236 fra.me.REG_size = 0;
1237 fra.me.nitni_local_ref_head = NULL;
1238 /* ../lib/standard/collection/abstract_collection.nit:276 */
1239 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 276);
1240 stack_frame_head = fra.me.prev;
1241 return NIT_NULL;
1242 }
1243 void standard___collection___abstract_collection___Map_____braeq(val_t p0, val_t p1, val_t p2){
1244 struct {struct stack_frame_t me;} fra;
1245 val_t tmp;
1246 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1247 fra.me.file = LOCATE_standard___collection___abstract_collection;
1248 fra.me.line = 304;
1249 fra.me.meth = LOCATE_standard___collection___abstract_collection___Map_____braeq;
1250 fra.me.has_broke = 0;
1251 fra.me.REG_size = 0;
1252 fra.me.nitni_local_ref_head = NULL;
1253 /* ../lib/standard/collection/abstract_collection.nit:304 */
1254 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 304);
1255 stack_frame_head = fra.me.prev;
1256 return;
1257 }
1258 void standard___collection___abstract_collection___Map___recover_with(val_t p0, val_t p1){
1259 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1260 val_t REGB0;
1261 val_t tmp;
1262 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1263 fra.me.file = LOCATE_standard___collection___abstract_collection;
1264 fra.me.line = 307;
1265 fra.me.meth = LOCATE_standard___collection___abstract_collection___Map___recover_with;
1266 fra.me.has_broke = 0;
1267 fra.me.REG_size = 4;
1268 fra.me.nitni_local_ref_head = NULL;
1269 fra.me.REG[0] = NIT_NULL;
1270 fra.me.REG[1] = NIT_NULL;
1271 fra.me.REG[2] = NIT_NULL;
1272 fra.me.REG[3] = NIT_NULL;
1273 fra.me.REG[0] = p0;
1274 fra.me.REG[1] = p1;
1275 /* ../lib/standard/collection/abstract_collection.nit:311 */
1276 fra.me.REG[1] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra.me.REG[1])(fra.me.REG[1]);
1277 /* ../lib/standard/collection/abstract_collection.nit:312 */
1278 while(1) {
1279 REGB0 = CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra.me.REG[1])(fra.me.REG[1]);
1280 if (UNTAG_Bool(REGB0)) {
1281 /* ../lib/standard/collection/abstract_collection.nit:313 */
1282 fra.me.REG[2] = CALL_standard___collection___abstract_collection___MapIterator___key(fra.me.REG[1])(fra.me.REG[1]);
1283 fra.me.REG[3] = CALL_standard___collection___abstract_collection___MapIterator___item(fra.me.REG[1])(fra.me.REG[1]);
1284 CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[3]);
1285 /* ../lib/standard/collection/abstract_collection.nit:314 */
1286 CALL_standard___collection___abstract_collection___MapIterator___next(fra.me.REG[1])(fra.me.REG[1]);
1287 } else {
1288 /* ../lib/standard/collection/abstract_collection.nit:312 */
1289 goto label1;
1290 }
1291 }
1292 label1: while(0);
1293 stack_frame_head = fra.me.prev;
1294 return;
1295 }
1296 void standard___collection___abstract_collection___Map___clear(val_t p0){
1297 struct {struct stack_frame_t me;} fra;
1298 val_t tmp;
1299 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1300 fra.me.file = LOCATE_standard___collection___abstract_collection;
1301 fra.me.line = 318;
1302 fra.me.meth = LOCATE_standard___collection___abstract_collection___Map___clear;
1303 fra.me.has_broke = 0;
1304 fra.me.REG_size = 0;
1305 fra.me.nitni_local_ref_head = NULL;
1306 /* ../lib/standard/collection/abstract_collection.nit:318 */
1307 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 318);
1308 stack_frame_head = fra.me.prev;
1309 return;
1310 }
1311 val_t standard___collection___abstract_collection___Map___values(val_t p0){
1312 struct {struct stack_frame_t me;} fra;
1313 val_t tmp;
1314 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1315 fra.me.file = LOCATE_standard___collection___abstract_collection;
1316 fra.me.line = 321;
1317 fra.me.meth = LOCATE_standard___collection___abstract_collection___Map___values;
1318 fra.me.has_broke = 0;
1319 fra.me.REG_size = 0;
1320 fra.me.nitni_local_ref_head = NULL;
1321 /* ../lib/standard/collection/abstract_collection.nit:321 */
1322 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 321);
1323 stack_frame_head = fra.me.prev;
1324 return NIT_NULL;
1325 }
1326 val_t standard___collection___abstract_collection___Map___keys(val_t p0){
1327 struct {struct stack_frame_t me;} fra;
1328 val_t tmp;
1329 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1330 fra.me.file = LOCATE_standard___collection___abstract_collection;
1331 fra.me.line = 323;
1332 fra.me.meth = LOCATE_standard___collection___abstract_collection___Map___keys;
1333 fra.me.has_broke = 0;
1334 fra.me.REG_size = 0;
1335 fra.me.nitni_local_ref_head = NULL;
1336 /* ../lib/standard/collection/abstract_collection.nit:323 */
1337 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 323);
1338 stack_frame_head = fra.me.prev;
1339 return NIT_NULL;
1340 }
1341 val_t standard___collection___abstract_collection___MapIterator___item(val_t p0){
1342 struct {struct stack_frame_t me;} fra;
1343 val_t tmp;
1344 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1345 fra.me.file = LOCATE_standard___collection___abstract_collection;
1346 fra.me.line = 328;
1347 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapIterator___item;
1348 fra.me.has_broke = 0;
1349 fra.me.REG_size = 0;
1350 fra.me.nitni_local_ref_head = NULL;
1351 /* ../lib/standard/collection/abstract_collection.nit:328 */
1352 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 328);
1353 stack_frame_head = fra.me.prev;
1354 return NIT_NULL;
1355 }
1356 val_t standard___collection___abstract_collection___MapIterator___key(val_t p0){
1357 struct {struct stack_frame_t me;} fra;
1358 val_t tmp;
1359 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1360 fra.me.file = LOCATE_standard___collection___abstract_collection;
1361 fra.me.line = 332;
1362 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapIterator___key;
1363 fra.me.has_broke = 0;
1364 fra.me.REG_size = 0;
1365 fra.me.nitni_local_ref_head = NULL;
1366 /* ../lib/standard/collection/abstract_collection.nit:332 */
1367 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 332);
1368 stack_frame_head = fra.me.prev;
1369 return NIT_NULL;
1370 }
1371 void standard___collection___abstract_collection___MapIterator___next(val_t p0){
1372 struct {struct stack_frame_t me;} fra;
1373 val_t tmp;
1374 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1375 fra.me.file = LOCATE_standard___collection___abstract_collection;
1376 fra.me.line = 336;
1377 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapIterator___next;
1378 fra.me.has_broke = 0;
1379 fra.me.REG_size = 0;
1380 fra.me.nitni_local_ref_head = NULL;
1381 /* ../lib/standard/collection/abstract_collection.nit:336 */
1382 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 336);
1383 stack_frame_head = fra.me.prev;
1384 return;
1385 }
1386 val_t standard___collection___abstract_collection___MapIterator___is_ok(val_t p0){
1387 struct {struct stack_frame_t me;} fra;
1388 val_t tmp;
1389 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1390 fra.me.file = LOCATE_standard___collection___abstract_collection;
1391 fra.me.line = 340;
1392 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapIterator___is_ok;
1393 fra.me.has_broke = 0;
1394 fra.me.REG_size = 0;
1395 fra.me.nitni_local_ref_head = NULL;
1396 /* ../lib/standard/collection/abstract_collection.nit:340 */
1397 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 340);
1398 stack_frame_head = fra.me.prev;
1399 return NIT_NULL;
1400 }
1401 val_t standard___collection___abstract_collection___MapKeysIterator___iterator(val_t p0){
1402 struct {struct stack_frame_t me;} fra;
1403 val_t REGB0;
1404 val_t tmp;
1405 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1406 fra.me.file = LOCATE_standard___collection___abstract_collection;
1407 fra.me.line = 350;
1408 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapKeysIterator___iterator;
1409 fra.me.has_broke = 0;
1410 fra.me.REG_size = 1;
1411 fra.me.nitni_local_ref_head = NULL;
1412 fra.me.REG[0] = NIT_NULL;
1413 fra.me.REG[0] = p0;
1414 /* ../lib/standard/collection/abstract_collection.nit:350 */
1415 REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___MapKeysIterator_____atiterator(fra.me.REG[0])!=NIT_NULL);
1416 if (UNTAG_Bool(REGB0)) {
1417 } else {
1418 nit_abort("Uninitialized attribute %s", "@iterator", LOCATE_standard___collection___abstract_collection, 350);
1419 }
1420 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___MapKeysIterator_____atiterator(fra.me.REG[0]);
1421 stack_frame_head = fra.me.prev;
1422 return fra.me.REG[0];
1423 }
1424 void standard___collection___abstract_collection___MapKeysIterator___iterator__eq(val_t p0, val_t p1){
1425 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1426 val_t tmp;
1427 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1428 fra.me.file = LOCATE_standard___collection___abstract_collection;
1429 fra.me.line = 350;
1430 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapKeysIterator___iterator__eq;
1431 fra.me.has_broke = 0;
1432 fra.me.REG_size = 2;
1433 fra.me.nitni_local_ref_head = NULL;
1434 fra.me.REG[0] = NIT_NULL;
1435 fra.me.REG[1] = NIT_NULL;
1436 fra.me.REG[0] = p0;
1437 fra.me.REG[1] = p1;
1438 /* ../lib/standard/collection/abstract_collection.nit:350 */
1439 ATTR_standard___collection___abstract_collection___MapKeysIterator_____atiterator(fra.me.REG[0]) = fra.me.REG[1];
1440 stack_frame_head = fra.me.prev;
1441 return;
1442 }
1443 val_t standard___collection___abstract_collection___MapKeysIterator___is_ok(val_t p0){
1444 struct {struct stack_frame_t me;} fra;
1445 val_t REGB0;
1446 val_t tmp;
1447 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1448 fra.me.file = LOCATE_standard___collection___abstract_collection;
1449 fra.me.line = 353;
1450 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapKeysIterator___is_ok;
1451 fra.me.has_broke = 0;
1452 fra.me.REG_size = 1;
1453 fra.me.nitni_local_ref_head = NULL;
1454 fra.me.REG[0] = NIT_NULL;
1455 fra.me.REG[0] = p0;
1456 /* ../lib/standard/collection/abstract_collection.nit:353 */
1457 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapKeysIterator___iterator(fra.me.REG[0])(fra.me.REG[0]);
1458 REGB0 = CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
1459 goto label1;
1460 label1: while(0);
1461 stack_frame_head = fra.me.prev;
1462 return REGB0;
1463 }
1464 void standard___collection___abstract_collection___MapKeysIterator___next(val_t p0){
1465 struct {struct stack_frame_t me;} fra;
1466 val_t tmp;
1467 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1468 fra.me.file = LOCATE_standard___collection___abstract_collection;
1469 fra.me.line = 354;
1470 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapKeysIterator___next;
1471 fra.me.has_broke = 0;
1472 fra.me.REG_size = 1;
1473 fra.me.nitni_local_ref_head = NULL;
1474 fra.me.REG[0] = NIT_NULL;
1475 fra.me.REG[0] = p0;
1476 /* ../lib/standard/collection/abstract_collection.nit:354 */
1477 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapKeysIterator___iterator(fra.me.REG[0])(fra.me.REG[0]);
1478 CALL_standard___collection___abstract_collection___MapIterator___next(fra.me.REG[0])(fra.me.REG[0]);
1479 stack_frame_head = fra.me.prev;
1480 return;
1481 }
1482 val_t standard___collection___abstract_collection___MapKeysIterator___item(val_t p0){
1483 struct {struct stack_frame_t me;} fra;
1484 val_t tmp;
1485 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1486 fra.me.file = LOCATE_standard___collection___abstract_collection;
1487 fra.me.line = 355;
1488 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapKeysIterator___item;
1489 fra.me.has_broke = 0;
1490 fra.me.REG_size = 1;
1491 fra.me.nitni_local_ref_head = NULL;
1492 fra.me.REG[0] = NIT_NULL;
1493 fra.me.REG[0] = p0;
1494 /* ../lib/standard/collection/abstract_collection.nit:355 */
1495 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapKeysIterator___iterator(fra.me.REG[0])(fra.me.REG[0]);
1496 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapIterator___key(fra.me.REG[0])(fra.me.REG[0]);
1497 goto label1;
1498 label1: while(0);
1499 stack_frame_head = fra.me.prev;
1500 return fra.me.REG[0];
1501 }
1502 void standard___collection___abstract_collection___MapKeysIterator___init(val_t p0, val_t p1, int* init_table){
1503 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___collection___abstract_collection___MapKeysIterator].i;
1504 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1505 val_t tmp;
1506 if (init_table[itpos2]) return;
1507 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1508 fra.me.file = LOCATE_standard___collection___abstract_collection;
1509 fra.me.line = 0;
1510 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapKeysIterator___init;
1511 fra.me.has_broke = 0;
1512 fra.me.REG_size = 2;
1513 fra.me.nitni_local_ref_head = NULL;
1514 fra.me.REG[0] = NIT_NULL;
1515 fra.me.REG[1] = NIT_NULL;
1516 fra.me.REG[0] = p0;
1517 fra.me.REG[1] = p1;
1518 ATTR_standard___collection___abstract_collection___MapKeysIterator_____atiterator(fra.me.REG[0]) = fra.me.REG[1];
1519 stack_frame_head = fra.me.prev;
1520 init_table[itpos2] = 1;
1521 return;
1522 }
1523 val_t standard___collection___abstract_collection___MapValuesIterator___iterator(val_t p0){
1524 struct {struct stack_frame_t me;} fra;
1525 val_t REGB0;
1526 val_t tmp;
1527 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1528 fra.me.file = LOCATE_standard___collection___abstract_collection;
1529 fra.me.line = 361;
1530 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapValuesIterator___iterator;
1531 fra.me.has_broke = 0;
1532 fra.me.REG_size = 1;
1533 fra.me.nitni_local_ref_head = NULL;
1534 fra.me.REG[0] = NIT_NULL;
1535 fra.me.REG[0] = p0;
1536 /* ../lib/standard/collection/abstract_collection.nit:361 */
1537 REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___MapValuesIterator_____atiterator(fra.me.REG[0])!=NIT_NULL);
1538 if (UNTAG_Bool(REGB0)) {
1539 } else {
1540 nit_abort("Uninitialized attribute %s", "@iterator", LOCATE_standard___collection___abstract_collection, 361);
1541 }
1542 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___MapValuesIterator_____atiterator(fra.me.REG[0]);
1543 stack_frame_head = fra.me.prev;
1544 return fra.me.REG[0];
1545 }
1546 void standard___collection___abstract_collection___MapValuesIterator___iterator__eq(val_t p0, val_t p1){
1547 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1548 val_t tmp;
1549 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1550 fra.me.file = LOCATE_standard___collection___abstract_collection;
1551 fra.me.line = 361;
1552 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapValuesIterator___iterator__eq;
1553 fra.me.has_broke = 0;
1554 fra.me.REG_size = 2;
1555 fra.me.nitni_local_ref_head = NULL;
1556 fra.me.REG[0] = NIT_NULL;
1557 fra.me.REG[1] = NIT_NULL;
1558 fra.me.REG[0] = p0;
1559 fra.me.REG[1] = p1;
1560 /* ../lib/standard/collection/abstract_collection.nit:361 */
1561 ATTR_standard___collection___abstract_collection___MapValuesIterator_____atiterator(fra.me.REG[0]) = fra.me.REG[1];
1562 stack_frame_head = fra.me.prev;
1563 return;
1564 }
1565 val_t standard___collection___abstract_collection___MapValuesIterator___is_ok(val_t p0){
1566 struct {struct stack_frame_t me;} fra;
1567 val_t REGB0;
1568 val_t tmp;
1569 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1570 fra.me.file = LOCATE_standard___collection___abstract_collection;
1571 fra.me.line = 364;
1572 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapValuesIterator___is_ok;
1573 fra.me.has_broke = 0;
1574 fra.me.REG_size = 1;
1575 fra.me.nitni_local_ref_head = NULL;
1576 fra.me.REG[0] = NIT_NULL;
1577 fra.me.REG[0] = p0;
1578 /* ../lib/standard/collection/abstract_collection.nit:364 */
1579 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapValuesIterator___iterator(fra.me.REG[0])(fra.me.REG[0]);
1580 REGB0 = CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
1581 goto label1;
1582 label1: while(0);
1583 stack_frame_head = fra.me.prev;
1584 return REGB0;
1585 }
1586 void standard___collection___abstract_collection___MapValuesIterator___next(val_t p0){
1587 struct {struct stack_frame_t me;} fra;
1588 val_t tmp;
1589 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1590 fra.me.file = LOCATE_standard___collection___abstract_collection;
1591 fra.me.line = 365;
1592 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapValuesIterator___next;
1593 fra.me.has_broke = 0;
1594 fra.me.REG_size = 1;
1595 fra.me.nitni_local_ref_head = NULL;
1596 fra.me.REG[0] = NIT_NULL;
1597 fra.me.REG[0] = p0;
1598 /* ../lib/standard/collection/abstract_collection.nit:365 */
1599 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapValuesIterator___iterator(fra.me.REG[0])(fra.me.REG[0]);
1600 CALL_standard___collection___abstract_collection___MapIterator___next(fra.me.REG[0])(fra.me.REG[0]);
1601 stack_frame_head = fra.me.prev;
1602 return;
1603 }
1604 val_t standard___collection___abstract_collection___MapValuesIterator___item(val_t p0){
1605 struct {struct stack_frame_t me;} fra;
1606 val_t tmp;
1607 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1608 fra.me.file = LOCATE_standard___collection___abstract_collection;
1609 fra.me.line = 366;
1610 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapValuesIterator___item;
1611 fra.me.has_broke = 0;
1612 fra.me.REG_size = 1;
1613 fra.me.nitni_local_ref_head = NULL;
1614 fra.me.REG[0] = NIT_NULL;
1615 fra.me.REG[0] = p0;
1616 /* ../lib/standard/collection/abstract_collection.nit:366 */
1617 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapValuesIterator___iterator(fra.me.REG[0])(fra.me.REG[0]);
1618 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapIterator___item(fra.me.REG[0])(fra.me.REG[0]);
1619 goto label1;
1620 label1: while(0);
1621 stack_frame_head = fra.me.prev;
1622 return fra.me.REG[0];
1623 }
1624 void standard___collection___abstract_collection___MapValuesIterator___init(val_t p0, val_t p1, int* init_table){
1625 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___collection___abstract_collection___MapValuesIterator].i;
1626 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1627 val_t tmp;
1628 if (init_table[itpos3]) return;
1629 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1630 fra.me.file = LOCATE_standard___collection___abstract_collection;
1631 fra.me.line = 0;
1632 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapValuesIterator___init;
1633 fra.me.has_broke = 0;
1634 fra.me.REG_size = 2;
1635 fra.me.nitni_local_ref_head = NULL;
1636 fra.me.REG[0] = NIT_NULL;
1637 fra.me.REG[1] = NIT_NULL;
1638 fra.me.REG[0] = p0;
1639 fra.me.REG[1] = p1;
1640 ATTR_standard___collection___abstract_collection___MapValuesIterator_____atiterator(fra.me.REG[0]) = fra.me.REG[1];
1641 stack_frame_head = fra.me.prev;
1642 init_table[itpos3] = 1;
1643 return;
1644 }
1645 val_t standard___collection___abstract_collection___SequenceRead___first(val_t p0){
1646 struct {struct stack_frame_t me;} fra;
1647 val_t REGB0;
1648 val_t tmp;
1649 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1650 fra.me.file = LOCATE_standard___collection___abstract_collection;
1651 fra.me.line = 373;
1652 fra.me.meth = LOCATE_standard___collection___abstract_collection___SequenceRead___first;
1653 fra.me.has_broke = 0;
1654 fra.me.REG_size = 1;
1655 fra.me.nitni_local_ref_head = NULL;
1656 fra.me.REG[0] = NIT_NULL;
1657 fra.me.REG[0] = p0;
1658 /* ../lib/standard/collection/abstract_collection.nit:377 */
1659 REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[0])(fra.me.REG[0]);
1660 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1661 if (UNTAG_Bool(REGB0)) {
1662 } else {
1663 nit_abort("Assert '%s' failed", "not_empty", LOCATE_standard___collection___abstract_collection, 377);
1664 }
1665 /* ../lib/standard/collection/abstract_collection.nit:378 */
1666 REGB0 = TAG_Int(0);
1667 fra.me.REG[0] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[0])(fra.me.REG[0], REGB0);
1668 goto label1;
1669 label1: while(0);
1670 stack_frame_head = fra.me.prev;
1671 return fra.me.REG[0];
1672 }
1673 val_t standard___collection___abstract_collection___SequenceRead_____bra(val_t p0, val_t p1){
1674 struct {struct stack_frame_t me;} fra;
1675 val_t tmp;
1676 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1677 fra.me.file = LOCATE_standard___collection___abstract_collection;
1678 fra.me.line = 381;
1679 fra.me.meth = LOCATE_standard___collection___abstract_collection___SequenceRead_____bra;
1680 fra.me.has_broke = 0;
1681 fra.me.REG_size = 0;
1682 fra.me.nitni_local_ref_head = NULL;
1683 /* ../lib/standard/collection/abstract_collection.nit:381 */
1684 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 381);
1685 stack_frame_head = fra.me.prev;
1686 return NIT_NULL;
1687 }
1688 val_t standard___collection___abstract_collection___SequenceRead___last(val_t p0){
1689 struct {struct stack_frame_t me;} fra;
1690 val_t REGB0;
1691 val_t REGB1;
1692 val_t tmp;
1693 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1694 fra.me.file = LOCATE_standard___collection___abstract_collection;
1695 fra.me.line = 386;
1696 fra.me.meth = LOCATE_standard___collection___abstract_collection___SequenceRead___last;
1697 fra.me.has_broke = 0;
1698 fra.me.REG_size = 1;
1699 fra.me.nitni_local_ref_head = NULL;
1700 fra.me.REG[0] = NIT_NULL;
1701 fra.me.REG[0] = p0;
1702 /* ../lib/standard/collection/abstract_collection.nit:390 */
1703 REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[0])(fra.me.REG[0]);
1704 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1705 if (UNTAG_Bool(REGB0)) {
1706 } else {
1707 nit_abort("Assert '%s' failed", "not_empty", LOCATE_standard___collection___abstract_collection, 390);
1708 }
1709 /* ../lib/standard/collection/abstract_collection.nit:391 */
1710 REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
1711 REGB1 = TAG_Int(1);
1712 /* ../lib/standard/kernel.nit:237 */
1713 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1714 /* ../lib/standard/collection/abstract_collection.nit:391 */
1715 fra.me.REG[0] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[0])(fra.me.REG[0], REGB1);
1716 goto label1;
1717 label1: while(0);
1718 stack_frame_head = fra.me.prev;
1719 return fra.me.REG[0];
1720 }
1721 val_t standard___collection___abstract_collection___SequenceRead___index_of(val_t p0, val_t p1){
1722 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1723 val_t REGB0;
1724 val_t REGB1;
1725 val_t tmp;
1726 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1727 fra.me.file = LOCATE_standard___collection___abstract_collection;
1728 fra.me.line = 394;
1729 fra.me.meth = LOCATE_standard___collection___abstract_collection___SequenceRead___index_of;
1730 fra.me.has_broke = 0;
1731 fra.me.REG_size = 3;
1732 fra.me.nitni_local_ref_head = NULL;
1733 fra.me.REG[0] = NIT_NULL;
1734 fra.me.REG[1] = NIT_NULL;
1735 fra.me.REG[2] = NIT_NULL;
1736 fra.me.REG[0] = p0;
1737 fra.me.REG[1] = p1;
1738 /* ../lib/standard/collection/abstract_collection.nit:399 */
1739 fra.me.REG[0] = CALL_standard___collection___abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
1740 /* ../lib/standard/collection/abstract_collection.nit:400 */
1741 while(1) {
1742 REGB0 = CALL_standard___collection___abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
1743 if (UNTAG_Bool(REGB0)) {
1744 /* ../lib/standard/collection/abstract_collection.nit:401 */
1745 fra.me.REG[2] = CALL_standard___collection___abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
1746 REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[2],fra.me.REG[1]));
1747 if (UNTAG_Bool(REGB0)) {
1748 } else {
1749 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1750 if (UNTAG_Bool(REGB1)) {
1751 REGB1 = TAG_Bool(false);
1752 REGB0 = REGB1;
1753 } else {
1754 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1755 REGB0 = REGB1;
1756 }
1757 }
1758 if (UNTAG_Bool(REGB0)) {
1759 REGB0 = CALL_standard___collection___abstract_collection___IndexedIterator___index(fra.me.REG[0])(fra.me.REG[0]);
1760 goto label1;
1761 }
1762 /* ../lib/standard/collection/abstract_collection.nit:402 */
1763 CALL_standard___collection___abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
1764 } else {
1765 /* ../lib/standard/collection/abstract_collection.nit:400 */
1766 goto label2;
1767 }
1768 }
1769 label2: while(0);
1770 /* ../lib/standard/collection/abstract_collection.nit:404 */
1771 REGB1 = TAG_Int(1);
1772 /* ../lib/standard/kernel.nit:236 */
1773 REGB1 = TAG_Int(-UNTAG_Int(REGB1));
1774 /* ../lib/standard/collection/abstract_collection.nit:404 */
1775 REGB0 = REGB1;
1776 goto label1;
1777 label1: while(0);
1778 stack_frame_head = fra.me.prev;
1779 return REGB0;
1780 }
1781 val_t standard___collection___abstract_collection___SequenceRead___iterator(val_t p0){
1782 struct {struct stack_frame_t me;} fra;
1783 val_t tmp;
1784 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1785 fra.me.file = LOCATE_standard___collection___abstract_collection;
1786 fra.me.line = 407;
1787 fra.me.meth = LOCATE_standard___collection___abstract_collection___SequenceRead___iterator;
1788 fra.me.has_broke = 0;
1789 fra.me.REG_size = 0;
1790 fra.me.nitni_local_ref_head = NULL;
1791 /* ../lib/standard/collection/abstract_collection.nit:407 */
1792 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 407);
1793 stack_frame_head = fra.me.prev;
1794 return NIT_NULL;
1795 }
1796 void standard___collection___abstract_collection___Sequence___first__eq(val_t p0, val_t p1){
1797 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1798 val_t REGB0;
1799 val_t tmp;
1800 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1801 fra.me.file = LOCATE_standard___collection___abstract_collection;
1802 fra.me.line = 416;
1803 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___first__eq;
1804 fra.me.has_broke = 0;
1805 fra.me.REG_size = 2;
1806 fra.me.nitni_local_ref_head = NULL;
1807 fra.me.REG[0] = NIT_NULL;
1808 fra.me.REG[1] = NIT_NULL;
1809 fra.me.REG[0] = p0;
1810 fra.me.REG[1] = p1;
1811 /* ../lib/standard/collection/abstract_collection.nit:419 */
1812 REGB0 = TAG_Int(0);
1813 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
1814 stack_frame_head = fra.me.prev;
1815 return;
1816 }
1817 void standard___collection___abstract_collection___Sequence___last__eq(val_t p0, val_t p1){
1818 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1819 val_t REGB0;
1820 val_t REGB1;
1821 val_t REGB2;
1822 val_t tmp;
1823 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1824 fra.me.file = LOCATE_standard___collection___abstract_collection;
1825 fra.me.line = 421;
1826 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___last__eq;
1827 fra.me.has_broke = 0;
1828 fra.me.REG_size = 2;
1829 fra.me.nitni_local_ref_head = NULL;
1830 fra.me.REG[0] = NIT_NULL;
1831 fra.me.REG[1] = NIT_NULL;
1832 fra.me.REG[0] = p0;
1833 fra.me.REG[1] = p1;
1834 /* ../lib/standard/collection/abstract_collection.nit:425 */
1835 REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
1836 /* ../lib/standard/collection/abstract_collection.nit:426 */
1837 REGB1 = TAG_Int(0);
1838 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1839 if (UNTAG_Bool(REGB2)) {
1840 } else {
1841 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1842 }
1843 /* ../lib/standard/kernel.nit:234 */
1844 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
1845 /* ../lib/standard/collection/abstract_collection.nit:426 */
1846 if (UNTAG_Bool(REGB1)) {
1847 /* ../lib/standard/collection/abstract_collection.nit:427 */
1848 REGB1 = TAG_Int(1);
1849 /* ../lib/standard/kernel.nit:237 */
1850 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1851 /* ../lib/standard/collection/abstract_collection.nit:427 */
1852 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB1, fra.me.REG[1]);
1853 } else {
1854 /* ../lib/standard/collection/abstract_collection.nit:429 */
1855 REGB1 = TAG_Int(0);
1856 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB1, fra.me.REG[1]);
1857 }
1858 stack_frame_head = fra.me.prev;
1859 return;
1860 }
1861 void standard___collection___abstract_collection___Sequence___add(val_t p0, val_t p1){
1862 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1863 val_t tmp;
1864 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1865 fra.me.file = LOCATE_standard___collection___abstract_collection;
1866 fra.me.line = 433;
1867 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___add;
1868 fra.me.has_broke = 0;
1869 fra.me.REG_size = 2;
1870 fra.me.nitni_local_ref_head = NULL;
1871 fra.me.REG[0] = NIT_NULL;
1872 fra.me.REG[1] = NIT_NULL;
1873 fra.me.REG[0] = p0;
1874 fra.me.REG[1] = p1;
1875 /* ../lib/standard/collection/abstract_collection.nit:434 */
1876 CALL_standard___collection___abstract_collection___Sequence___push(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1877 stack_frame_head = fra.me.prev;
1878 return;
1879 }
1880 void standard___collection___abstract_collection___Sequence___push(val_t p0, val_t p1){
1881 struct {struct stack_frame_t me;} fra;
1882 val_t tmp;
1883 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1884 fra.me.file = LOCATE_standard___collection___abstract_collection;
1885 fra.me.line = 436;
1886 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___push;
1887 fra.me.has_broke = 0;
1888 fra.me.REG_size = 0;
1889 fra.me.nitni_local_ref_head = NULL;
1890 /* ../lib/standard/collection/abstract_collection.nit:436 */
1891 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 436);
1892 stack_frame_head = fra.me.prev;
1893 return;
1894 }
1895 void standard___collection___abstract_collection___Sequence___append(val_t p0, val_t p1){
1896 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1897 val_t tmp;
1898 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1899 fra.me.file = LOCATE_standard___collection___abstract_collection;
1900 fra.me.line = 439;
1901 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___append;
1902 fra.me.has_broke = 0;
1903 fra.me.REG_size = 2;
1904 fra.me.nitni_local_ref_head = NULL;
1905 fra.me.REG[0] = NIT_NULL;
1906 fra.me.REG[1] = NIT_NULL;
1907 fra.me.REG[0] = p0;
1908 fra.me.REG[1] = p1;
1909 CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[1])(fra.me.REG[1], (&(fra.me)), ((fun_t)OC_standard___collection___abstract_collection___Sequence___append_1));
1910 stack_frame_head = fra.me.prev;
1911 return;
1912 }
1913 void OC_standard___collection___abstract_collection___Sequence___append_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
1914 struct {struct stack_frame_t me;} fra;
1915 fun_t CREG[1];
1916 val_t tmp;
1917 /* ../lib/standard/collection/abstract_collection.nit:440 */
1918 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1919 fra.me.file = LOCATE_standard___collection___abstract_collection;
1920 fra.me.line = 0;
1921 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___append;
1922 fra.me.has_broke = 0;
1923 fra.me.REG_size = 1;
1924 fra.me.nitni_local_ref_head = NULL;
1925 fra.me.REG[0] = NIT_NULL;
1926 fra.me.closure_ctx = closctx_param;
1927 fra.me.closure_funs = CREG;
1928 fra.me.REG[0] = p0;
1929 CREG[0] = clos_fun0;
1930 CALL_standard___collection___abstract_collection___Sequence___push(closctx->REG[0])(closctx->REG[0], fra.me.REG[0]);
1931 stack_frame_head = fra.me.prev;
1932 return;
1933 }
1934 val_t standard___collection___abstract_collection___Sequence___pop(val_t p0){
1935 struct {struct stack_frame_t me;} fra;
1936 val_t tmp;
1937 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1938 fra.me.file = LOCATE_standard___collection___abstract_collection;
1939 fra.me.line = 442;
1940 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___pop;
1941 fra.me.has_broke = 0;
1942 fra.me.REG_size = 0;
1943 fra.me.nitni_local_ref_head = NULL;
1944 /* ../lib/standard/collection/abstract_collection.nit:442 */
1945 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 442);
1946 stack_frame_head = fra.me.prev;
1947 return NIT_NULL;
1948 }
1949 void standard___collection___abstract_collection___Sequence___unshift(val_t p0, val_t p1){
1950 struct {struct stack_frame_t me;} fra;
1951 val_t tmp;
1952 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1953 fra.me.file = LOCATE_standard___collection___abstract_collection;
1954 fra.me.line = 445;
1955 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___unshift;
1956 fra.me.has_broke = 0;
1957 fra.me.REG_size = 0;
1958 fra.me.nitni_local_ref_head = NULL;
1959 /* ../lib/standard/collection/abstract_collection.nit:445 */
1960 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 445);
1961 stack_frame_head = fra.me.prev;
1962 return;
1963 }
1964 val_t standard___collection___abstract_collection___Sequence___shift(val_t p0){
1965 struct {struct stack_frame_t me;} fra;
1966 val_t tmp;
1967 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1968 fra.me.file = LOCATE_standard___collection___abstract_collection;
1969 fra.me.line = 448;
1970 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___shift;
1971 fra.me.has_broke = 0;
1972 fra.me.REG_size = 0;
1973 fra.me.nitni_local_ref_head = NULL;
1974 /* ../lib/standard/collection/abstract_collection.nit:448 */
1975 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 448);
1976 stack_frame_head = fra.me.prev;
1977 return NIT_NULL;
1978 }
1979 void standard___collection___abstract_collection___Sequence_____braeq(val_t p0, val_t p1, val_t p2){
1980 struct {struct stack_frame_t me;} fra;
1981 val_t tmp;
1982 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1983 fra.me.file = LOCATE_standard___collection___abstract_collection;
1984 fra.me.line = 452;
1985 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence_____braeq;
1986 fra.me.has_broke = 0;
1987 fra.me.REG_size = 0;
1988 fra.me.nitni_local_ref_head = NULL;
1989 /* ../lib/standard/collection/abstract_collection.nit:452 */
1990 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 452);
1991 stack_frame_head = fra.me.prev;
1992 return;
1993 }
1994 void standard___collection___abstract_collection___Sequence___remove_at(val_t p0, val_t p1){
1995 struct {struct stack_frame_t me;} fra;
1996 val_t tmp;
1997 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1998 fra.me.file = LOCATE_standard___collection___abstract_collection;
1999 fra.me.line = 455;
2000 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___remove_at;
2001 fra.me.has_broke = 0;
2002 fra.me.REG_size = 0;
2003 fra.me.nitni_local_ref_head = NULL;
2004 /* ../lib/standard/collection/abstract_collection.nit:455 */
2005 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 455);
2006 stack_frame_head = fra.me.prev;
2007 return;
2008 }
2009 val_t standard___collection___abstract_collection___IndexedIterator___index(val_t p0){
2010 struct {struct stack_frame_t me;} fra;
2011 val_t tmp;
2012 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2013 fra.me.file = LOCATE_standard___collection___abstract_collection;
2014 fra.me.line = 462;
2015 fra.me.meth = LOCATE_standard___collection___abstract_collection___IndexedIterator___index;
2016 fra.me.has_broke = 0;
2017 fra.me.REG_size = 0;
2018 fra.me.nitni_local_ref_head = NULL;
2019 /* ../lib/standard/collection/abstract_collection.nit:462 */
2020 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 462);
2021 stack_frame_head = fra.me.prev;
2022 return NIT_NULL;
2023 }
2024 val_t standard___collection___abstract_collection___CoupleMap___couple_at(val_t p0, val_t p1){
2025 struct {struct stack_frame_t me;} fra;
2026 val_t tmp;
2027 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2028 fra.me.file = LOCATE_standard___collection___abstract_collection;
2029 fra.me.line = 469;
2030 fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMap___couple_at;
2031 fra.me.has_broke = 0;
2032 fra.me.REG_size = 0;
2033 fra.me.nitni_local_ref_head = NULL;
2034 /* ../lib/standard/collection/abstract_collection.nit:469 */
2035 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 469);
2036 stack_frame_head = fra.me.prev;
2037 return NIT_NULL;
2038 }
2039 val_t standard___collection___abstract_collection___CoupleMap_____bra(val_t p0, val_t p1){
2040 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2041 val_t REGB0;
2042 val_t REGB1;
2043 val_t tmp;
2044 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2045 fra.me.file = LOCATE_standard___collection___abstract_collection;
2046 fra.me.line = 473;
2047 fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMap_____bra;
2048 fra.me.has_broke = 0;
2049 fra.me.REG_size = 2;
2050 fra.me.nitni_local_ref_head = NULL;
2051 fra.me.REG[0] = NIT_NULL;
2052 fra.me.REG[1] = NIT_NULL;
2053 fra.me.REG[0] = p0;
2054 fra.me.REG[1] = p1;
2055 /* ../lib/standard/collection/abstract_collection.nit:475 */
2056 fra.me.REG[1] = CALL_standard___collection___abstract_collection___CoupleMap___couple_at(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2057 /* ../lib/standard/collection/abstract_collection.nit:476 */
2058 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2059 if (UNTAG_Bool(REGB0)) {
2060 } else {
2061 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2062 if (UNTAG_Bool(REGB1)) {
2063 REGB1 = TAG_Bool(false);
2064 REGB0 = REGB1;
2065 } else {
2066 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
2067 REGB0 = REGB1;
2068 }
2069 }
2070 if (UNTAG_Bool(REGB0)) {
2071 /* ../lib/standard/collection/abstract_collection.nit:477 */
2072 nit_abort("Aborted", NULL, LOCATE_standard___collection___abstract_collection, 477);
2073 } else {
2074 /* ../lib/standard/collection/abstract_collection.nit:479 */
2075 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2076 if (UNTAG_Bool(REGB0)) {
2077 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___abstract_collection, 479);
2078 }
2079 fra.me.REG[1] = CALL_standard___collection___abstract_collection___Couple___second(fra.me.REG[1])(fra.me.REG[1]);
2080 goto label1;
2081 }
2082 label1: while(0);
2083 stack_frame_head = fra.me.prev;
2084 return fra.me.REG[1];
2085 }
2086 val_t standard___collection___abstract_collection___CoupleMapIterator___item(val_t p0){
2087 struct {struct stack_frame_t me;} fra;
2088 val_t REGB0;
2089 val_t tmp;
2090 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2091 fra.me.file = LOCATE_standard___collection___abstract_collection;
2092 fra.me.line = 489;
2093 fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMapIterator___item;
2094 fra.me.has_broke = 0;
2095 fra.me.REG_size = 1;
2096 fra.me.nitni_local_ref_head = NULL;
2097 fra.me.REG[0] = NIT_NULL;
2098 fra.me.REG[0] = p0;
2099 /* ../lib/standard/collection/abstract_collection.nit:489 */
2100 REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0])!=NIT_NULL);
2101 if (UNTAG_Bool(REGB0)) {
2102 } else {
2103 nit_abort("Uninitialized attribute %s", "_iter", LOCATE_standard___collection___abstract_collection, 489);
2104 }
2105 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0]);
2106 fra.me.REG[0] = CALL_standard___collection___abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
2107 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
2108 if (UNTAG_Bool(REGB0)) {
2109 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___abstract_collection, 489);
2110 }
2111 fra.me.REG[0] = CALL_standard___collection___abstract_collection___Couple___second(fra.me.REG[0])(fra.me.REG[0]);
2112 goto label1;
2113 label1: while(0);
2114 stack_frame_head = fra.me.prev;
2115 return fra.me.REG[0];
2116 }
2117 val_t standard___collection___abstract_collection___CoupleMapIterator___key(val_t p0){
2118 struct {struct stack_frame_t me;} fra;
2119 val_t REGB0;
2120 val_t tmp;
2121 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2122 fra.me.file = LOCATE_standard___collection___abstract_collection;
2123 fra.me.line = 493;
2124 fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMapIterator___key;
2125 fra.me.has_broke = 0;
2126 fra.me.REG_size = 1;
2127 fra.me.nitni_local_ref_head = NULL;
2128 fra.me.REG[0] = NIT_NULL;
2129 fra.me.REG[0] = p0;
2130 /* ../lib/standard/collection/abstract_collection.nit:493 */
2131 REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0])!=NIT_NULL);
2132 if (UNTAG_Bool(REGB0)) {
2133 } else {
2134 nit_abort("Uninitialized attribute %s", "_iter", LOCATE_standard___collection___abstract_collection, 493);
2135 }
2136 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0]);
2137 fra.me.REG[0] = CALL_standard___collection___abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
2138 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
2139 if (UNTAG_Bool(REGB0)) {
2140 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___abstract_collection, 493);
2141 }
2142 fra.me.REG[0] = CALL_standard___collection___abstract_collection___Couple___first(fra.me.REG[0])(fra.me.REG[0]);
2143 goto label1;
2144 label1: while(0);
2145 stack_frame_head = fra.me.prev;
2146 return fra.me.REG[0];
2147 }
2148 val_t standard___collection___abstract_collection___CoupleMapIterator___is_ok(val_t p0){
2149 struct {struct stack_frame_t me;} fra;
2150 val_t REGB0;
2151 val_t tmp;
2152 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2153 fra.me.file = LOCATE_standard___collection___abstract_collection;
2154 fra.me.line = 495;
2155 fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMapIterator___is_ok;
2156 fra.me.has_broke = 0;
2157 fra.me.REG_size = 1;
2158 fra.me.nitni_local_ref_head = NULL;
2159 fra.me.REG[0] = NIT_NULL;
2160 fra.me.REG[0] = p0;
2161 /* ../lib/standard/collection/abstract_collection.nit:495 */
2162 REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0])!=NIT_NULL);
2163 if (UNTAG_Bool(REGB0)) {
2164 } else {
2165 nit_abort("Uninitialized attribute %s", "_iter", LOCATE_standard___collection___abstract_collection, 495);
2166 }
2167 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0]);
2168 REGB0 = CALL_standard___collection___abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
2169 goto label1;
2170 label1: while(0);
2171 stack_frame_head = fra.me.prev;
2172 return REGB0;
2173 }
2174 void standard___collection___abstract_collection___CoupleMapIterator___next(val_t p0){
2175 struct {struct stack_frame_t me;} fra;
2176 val_t REGB0;
2177 val_t tmp;
2178 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2179 fra.me.file = LOCATE_standard___collection___abstract_collection;
2180 fra.me.line = 497;
2181 fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMapIterator___next;
2182 fra.me.has_broke = 0;
2183 fra.me.REG_size = 1;
2184 fra.me.nitni_local_ref_head = NULL;
2185 fra.me.REG[0] = NIT_NULL;
2186 fra.me.REG[0] = p0;
2187 /* ../lib/standard/collection/abstract_collection.nit:499 */
2188 REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0])!=NIT_NULL);
2189 if (UNTAG_Bool(REGB0)) {
2190 } else {
2191 nit_abort("Uninitialized attribute %s", "_iter", LOCATE_standard___collection___abstract_collection, 499);
2192 }
2193 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0]);
2194 CALL_standard___collection___abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
2195 stack_frame_head = fra.me.prev;
2196 return;
2197 }
2198 void standard___collection___abstract_collection___CoupleMapIterator___init(val_t p0, val_t p1, int* init_table){
2199 int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___collection___abstract_collection___CoupleMapIterator].i;
2200 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2201 val_t tmp;
2202 if (init_table[itpos4]) return;
2203 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2204 fra.me.file = LOCATE_standard___collection___abstract_collection;
2205 fra.me.line = 504;
2206 fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMapIterator___init;
2207 fra.me.has_broke = 0;
2208 fra.me.REG_size = 2;
2209 fra.me.nitni_local_ref_head = NULL;
2210 fra.me.REG[0] = NIT_NULL;
2211 fra.me.REG[1] = NIT_NULL;
2212 fra.me.REG[0] = p0;
2213 fra.me.REG[1] = p1;
2214 /* ../lib/standard/collection/abstract_collection.nit:504 */
2215 ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0]) = fra.me.REG[1];
2216 stack_frame_head = fra.me.prev;
2217 init_table[itpos4] = 1;
2218 return;
2219 }
2220 val_t standard___collection___abstract_collection___Couple___first(val_t p0){
2221 struct {struct stack_frame_t me;} fra;
2222 val_t tmp;
2223 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2224 fra.me.file = LOCATE_standard___collection___abstract_collection;
2225 fra.me.line = 512;
2226 fra.me.meth = LOCATE_standard___collection___abstract_collection___Couple___first;
2227 fra.me.has_broke = 0;
2228 fra.me.REG_size = 1;
2229 fra.me.nitni_local_ref_head = NULL;
2230 fra.me.REG[0] = NIT_NULL;
2231 fra.me.REG[0] = p0;
2232 /* ../lib/standard/collection/abstract_collection.nit:512 */
2233 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___Couple____first(fra.me.REG[0]);
2234 stack_frame_head = fra.me.prev;
2235 return fra.me.REG[0];
2236 }
2237 void standard___collection___abstract_collection___Couple___first__eq(val_t p0, val_t p1){
2238 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2239 val_t tmp;
2240 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2241 fra.me.file = LOCATE_standard___collection___abstract_collection;
2242 fra.me.line = 512;
2243 fra.me.meth = LOCATE_standard___collection___abstract_collection___Couple___first__eq;
2244 fra.me.has_broke = 0;
2245 fra.me.REG_size = 2;
2246 fra.me.nitni_local_ref_head = NULL;
2247 fra.me.REG[0] = NIT_NULL;
2248 fra.me.REG[1] = NIT_NULL;
2249 fra.me.REG[0] = p0;
2250 fra.me.REG[1] = p1;
2251 /* ../lib/standard/collection/abstract_collection.nit:512 */
2252 ATTR_standard___collection___abstract_collection___Couple____first(fra.me.REG[0]) = fra.me.REG[1];
2253 stack_frame_head = fra.me.prev;
2254 return;
2255 }
2256 val_t standard___collection___abstract_collection___Couple___second(val_t p0){
2257 struct {struct stack_frame_t me;} fra;
2258 val_t tmp;
2259 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2260 fra.me.file = LOCATE_standard___collection___abstract_collection;
2261 fra.me.line = 515;
2262 fra.me.meth = LOCATE_standard___collection___abstract_collection___Couple___second;
2263 fra.me.has_broke = 0;
2264 fra.me.REG_size = 1;
2265 fra.me.nitni_local_ref_head = NULL;
2266 fra.me.REG[0] = NIT_NULL;
2267 fra.me.REG[0] = p0;
2268 /* ../lib/standard/collection/abstract_collection.nit:515 */
2269 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___Couple____second(fra.me.REG[0]);
2270 stack_frame_head = fra.me.prev;
2271 return fra.me.REG[0];
2272 }
2273 void standard___collection___abstract_collection___Couple___second__eq(val_t p0, val_t p1){
2274 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2275 val_t tmp;
2276 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2277 fra.me.file = LOCATE_standard___collection___abstract_collection;
2278 fra.me.line = 515;
2279 fra.me.meth = LOCATE_standard___collection___abstract_collection___Couple___second__eq;
2280 fra.me.has_broke = 0;
2281 fra.me.REG_size = 2;
2282 fra.me.nitni_local_ref_head = NULL;
2283 fra.me.REG[0] = NIT_NULL;
2284 fra.me.REG[1] = NIT_NULL;
2285 fra.me.REG[0] = p0;
2286 fra.me.REG[1] = p1;
2287 /* ../lib/standard/collection/abstract_collection.nit:515 */
2288 ATTR_standard___collection___abstract_collection___Couple____second(fra.me.REG[0]) = fra.me.REG[1];
2289 stack_frame_head = fra.me.prev;
2290 return;
2291 }
2292 void standard___collection___abstract_collection___Couple___init(val_t p0, val_t p1, val_t p2, int* init_table){
2293 int itpos5 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___collection___abstract_collection___Couple].i;
2294 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2295 val_t tmp;
2296 if (init_table[itpos5]) return;
2297 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2298 fra.me.file = LOCATE_standard___collection___abstract_collection;
2299 fra.me.line = 518;
2300 fra.me.meth = LOCATE_standard___collection___abstract_collection___Couple___init;
2301 fra.me.has_broke = 0;
2302 fra.me.REG_size = 3;
2303 fra.me.nitni_local_ref_head = NULL;
2304 fra.me.REG[0] = NIT_NULL;
2305 fra.me.REG[1] = NIT_NULL;
2306 fra.me.REG[2] = NIT_NULL;
2307 fra.me.REG[0] = p0;
2308 fra.me.REG[1] = p1;
2309 fra.me.REG[2] = p2;
2310 /* ../lib/standard/collection/abstract_collection.nit:521 */
2311 ATTR_standard___collection___abstract_collection___Couple____first(fra.me.REG[0]) = fra.me.REG[1];
2312 /* ../lib/standard/collection/abstract_collection.nit:522 */
2313 ATTR_standard___collection___abstract_collection___Couple____second(fra.me.REG[0]) = fra.me.REG[2];
2314 stack_frame_head = fra.me.prev;
2315 init_table[itpos5] = 1;
2316 return;
2317 }