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