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