nitcc/tests: add lexer-shortest.sablecc
[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 = 62;
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:62 */
90 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 62);
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 = 68;
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:68 */
106 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 68);
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 = 77;
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:77 */
122 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 77);
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 = 90;
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:90 */
138 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 90);
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 = 96;
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:96 */
154 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 96);
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 = 106;
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:106 */
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:237 */
181 REGB1 = TAG_Bool((REGB0)==(REGB1));
182 /* ../lib/standard/collection/abstract_collection.nit:106 */
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 = 108;
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:110 */
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:112 */
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:111 */
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:245 */
236 REGB0 = TAG_Int(UNTAG_Int(closctx->REG[1])+UNTAG_Int(REGB0));
237 /* ../lib/standard/collection/abstract_collection.nit:111 */
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 = 115;
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:118 */
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:117 */
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 = 121;
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:124 */
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:123 */
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 = 127;
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:129 */
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:131 */
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:130 */
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:245 */
445 REGB0 = TAG_Int(UNTAG_Int(closctx->REG[2])+UNTAG_Int(REGB0));
446 /* ../lib/standard/collection/abstract_collection.nit:130 */
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 = 134;
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:136 */
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:244 */
477 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
478 /* ../lib/standard/collection/abstract_collection.nit:136 */
479 if (UNTAG_Bool(REGB1)) {
480 } else {
481 nit_abort("Assert failed", NULL, LOCATE_standard___collection___abstract_collection, 136);
482 }
483 /* ../lib/standard/collection/abstract_collection.nit:137 */
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 = 144;
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:144 */
503 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 144);
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 = 148;
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:148 */
519 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 148);
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 = 152;
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:152 */
535 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 152);
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 = 160;
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:160 */
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 = 162;
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:162 */
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 = 164;
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:164 */
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 = 166;
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:166 */
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 = 168;
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:168 */
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 = 170;
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:172 */
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:173 */
706 REGB0 = TAG_Int(1);
707 goto label1;
708 } else {
709 /* ../lib/standard/collection/abstract_collection.nit:175 */
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 = 179;
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:179 */
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 = 181;
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:182 */
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 = 184;
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:184 */
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 = 184;
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:184 */
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 = 191;
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:191 */
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, 191);
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 = 193;
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:193 */
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 = 195;
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:195 */
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 = 197;
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:197 */
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, 197);
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 = 205;
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:205 */
905 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 205);
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 = 208;
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:208 */
921 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 208);
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 = 211;
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:212 */
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 = 218;
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:218 */
966 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 218);
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 = 222;
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:223 */
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 = 238;
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:240 */
1030 REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
1031 /* ../lib/standard/collection/abstract_collection.nit:241 */
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:237 */
1037 REGB1 = TAG_Bool((REGB0)==(REGB1));
1038 /* ../lib/standard/collection/abstract_collection.nit:241 */
1039 REGB2 = REGB1;
1040 }
1041 if (UNTAG_Bool(REGB2)) {
1042 /* ../lib/standard/collection/abstract_collection.nit:242 */
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:243 */
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:237 */
1052 REGB1 = TAG_Bool((REGB0)==(REGB1));
1053 /* ../lib/standard/collection/abstract_collection.nit:243 */
1054 REGB3 = REGB1;
1055 }
1056 if (UNTAG_Bool(REGB3)) {
1057 /* ../lib/standard/collection/abstract_collection.nit:244 */
1058 REGB3 = TAG_Bool(1);
1059 REGB2 = REGB3;
1060 goto label1;
1061 } else {
1062 /* ../lib/standard/collection/abstract_collection.nit:246 */
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 = 250;
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:253 */
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:254 */
1093 REGB0 = TAG_Int(1);
1094 goto label1;
1095 } else {
1096 /* ../lib/standard/collection/abstract_collection.nit:256 */
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 = 260;
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:261 */
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 = 266;
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:266 */
1137 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 266);
1138 stack_frame_head = fra.me.prev;
1139 return NIT_NULL;
1140 }
1141 static const char LOCATE_standard___collection___abstract_collection___MapRead___get_or_default[] = "abstract_collection::MapRead::get_or_default";
1142 val_t standard___collection___abstract_collection___MapRead___get_or_default(val_t p0, val_t p1, val_t p2){
1143 struct {struct stack_frame_t me; val_t MORE_REG[2];} 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 = 269;
1149 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___get_or_default;
1150 fra.me.has_broke = 0;
1151 fra.me.REG_size = 3;
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[2] = NIT_NULL;
1156 fra.me.REG[0] = p0;
1157 fra.me.REG[1] = p1;
1158 fra.me.REG[2] = p2;
1159 /* ../lib/standard/collection/abstract_collection.nit:272 */
1160 REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1161 if (UNTAG_Bool(REGB0)) {
1162 fra.me.REG[1] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1163 goto label1;
1164 }
1165 /* ../lib/standard/collection/abstract_collection.nit:273 */
1166 fra.me.REG[1] = fra.me.REG[2];
1167 goto label1;
1168 label1: while(0);
1169 stack_frame_head = fra.me.prev;
1170 return fra.me.REG[1];
1171 }
1172 static const char LOCATE_standard___collection___abstract_collection___MapRead___has_key[] = "abstract_collection::MapRead::has_key";
1173 val_t standard___collection___abstract_collection___MapRead___has_key(val_t p0, val_t p1){
1174 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1175 val_t REGB0;
1176 val_t tmp;
1177 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1178 fra.me.file = LOCATE_standard___collection___abstract_collection;
1179 fra.me.line = 276;
1180 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___has_key;
1181 fra.me.has_broke = 0;
1182 fra.me.REG_size = 2;
1183 fra.me.nitni_local_ref_head = NULL;
1184 fra.me.REG[0] = NIT_NULL;
1185 fra.me.REG[1] = NIT_NULL;
1186 fra.me.REG[0] = p0;
1187 fra.me.REG[1] = p1;
1188 /* ../lib/standard/collection/abstract_collection.nit:277 */
1189 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapRead___keys(fra.me.REG[0])(fra.me.REG[0]);
1190 REGB0 = CALL_standard___collection___abstract_collection___Collection___has(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1191 goto label1;
1192 label1: while(0);
1193 stack_frame_head = fra.me.prev;
1194 return REGB0;
1195 }
1196 static const char LOCATE_standard___collection___abstract_collection___MapRead___iterator[] = "abstract_collection::MapRead::iterator";
1197 val_t standard___collection___abstract_collection___MapRead___iterator(val_t p0){
1198 struct {struct stack_frame_t me;} fra;
1199 val_t tmp;
1200 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1201 fra.me.file = LOCATE_standard___collection___abstract_collection;
1202 fra.me.line = 279;
1203 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___iterator;
1204 fra.me.has_broke = 0;
1205 fra.me.REG_size = 0;
1206 fra.me.nitni_local_ref_head = NULL;
1207 /* ../lib/standard/collection/abstract_collection.nit:279 */
1208 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 279);
1209 stack_frame_head = fra.me.prev;
1210 return NIT_NULL;
1211 }
1212 static const char LOCATE_standard___collection___abstract_collection___MapRead___iterate[] = "abstract_collection::MapRead::iterate";
1213 void standard___collection___abstract_collection___MapRead___iterate(val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
1214 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1215 val_t REGB0;
1216 fun_t CREG[1];
1217 val_t tmp;
1218 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1219 fra.me.file = LOCATE_standard___collection___abstract_collection;
1220 fra.me.line = 282;
1221 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___iterate;
1222 fra.me.has_broke = 0;
1223 fra.me.REG_size = 3;
1224 fra.me.nitni_local_ref_head = NULL;
1225 fra.me.REG[0] = NIT_NULL;
1226 fra.me.REG[1] = NIT_NULL;
1227 fra.me.REG[2] = NIT_NULL;
1228 fra.me.closure_ctx = closctx_param;
1229 fra.me.closure_funs = CREG;
1230 fra.me.REG[0] = p0;
1231 CREG[0] = clos_fun0;
1232 /* ../lib/standard/collection/abstract_collection.nit:286 */
1233 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra.me.REG[0])(fra.me.REG[0]);
1234 /* ../lib/standard/collection/abstract_collection.nit:287 */
1235 while(1) {
1236 REGB0 = CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
1237 if (UNTAG_Bool(REGB0)) {
1238 /* ../lib/standard/collection/abstract_collection.nit:288 */
1239 fra.me.REG[1] = CALL_standard___collection___abstract_collection___MapIterator___key(fra.me.REG[0])(fra.me.REG[0]);
1240 fra.me.REG[2] = CALL_standard___collection___abstract_collection___MapIterator___item(fra.me.REG[0])(fra.me.REG[0]);
1241 ((void (*)(struct stack_frame_t *, val_t, val_t))(CREG[0]))(closctx_param, fra.me.REG[1], fra.me.REG[2]);
1242 if (closctx_param->has_broke) {
1243 goto label1;
1244 }
1245 /* ../lib/standard/collection/abstract_collection.nit:289 */
1246 CALL_standard___collection___abstract_collection___MapIterator___next(fra.me.REG[0])(fra.me.REG[0]);
1247 } else {
1248 /* ../lib/standard/collection/abstract_collection.nit:287 */
1249 goto label2;
1250 }
1251 }
1252 label2: while(0);
1253 label1: while(0);
1254 stack_frame_head = fra.me.prev;
1255 return;
1256 }
1257 static const char LOCATE_standard___collection___abstract_collection___MapRead___values[] = "abstract_collection::MapRead::values";
1258 val_t standard___collection___abstract_collection___MapRead___values(val_t p0){
1259 struct {struct stack_frame_t me;} fra;
1260 val_t tmp;
1261 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1262 fra.me.file = LOCATE_standard___collection___abstract_collection;
1263 fra.me.line = 293;
1264 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___values;
1265 fra.me.has_broke = 0;
1266 fra.me.REG_size = 0;
1267 fra.me.nitni_local_ref_head = NULL;
1268 /* ../lib/standard/collection/abstract_collection.nit:293 */
1269 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 293);
1270 stack_frame_head = fra.me.prev;
1271 return NIT_NULL;
1272 }
1273 static const char LOCATE_standard___collection___abstract_collection___MapRead___keys[] = "abstract_collection::MapRead::keys";
1274 val_t standard___collection___abstract_collection___MapRead___keys(val_t p0){
1275 struct {struct stack_frame_t me;} fra;
1276 val_t tmp;
1277 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1278 fra.me.file = LOCATE_standard___collection___abstract_collection;
1279 fra.me.line = 298;
1280 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___keys;
1281 fra.me.has_broke = 0;
1282 fra.me.REG_size = 0;
1283 fra.me.nitni_local_ref_head = NULL;
1284 /* ../lib/standard/collection/abstract_collection.nit:298 */
1285 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 298);
1286 stack_frame_head = fra.me.prev;
1287 return NIT_NULL;
1288 }
1289 static const char LOCATE_standard___collection___abstract_collection___MapRead___is_empty[] = "abstract_collection::MapRead::is_empty";
1290 val_t standard___collection___abstract_collection___MapRead___is_empty(val_t p0){
1291 struct {struct stack_frame_t me;} fra;
1292 val_t tmp;
1293 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1294 fra.me.file = LOCATE_standard___collection___abstract_collection;
1295 fra.me.line = 303;
1296 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___is_empty;
1297 fra.me.has_broke = 0;
1298 fra.me.REG_size = 0;
1299 fra.me.nitni_local_ref_head = NULL;
1300 /* ../lib/standard/collection/abstract_collection.nit:303 */
1301 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 303);
1302 stack_frame_head = fra.me.prev;
1303 return NIT_NULL;
1304 }
1305 static const char LOCATE_standard___collection___abstract_collection___MapRead___length[] = "abstract_collection::MapRead::length";
1306 val_t standard___collection___abstract_collection___MapRead___length(val_t p0){
1307 struct {struct stack_frame_t me;} fra;
1308 val_t tmp;
1309 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1310 fra.me.file = LOCATE_standard___collection___abstract_collection;
1311 fra.me.line = 306;
1312 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapRead___length;
1313 fra.me.has_broke = 0;
1314 fra.me.REG_size = 0;
1315 fra.me.nitni_local_ref_head = NULL;
1316 /* ../lib/standard/collection/abstract_collection.nit:306 */
1317 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 306);
1318 stack_frame_head = fra.me.prev;
1319 return NIT_NULL;
1320 }
1321 static const char LOCATE_standard___collection___abstract_collection___Map_____braeq[] = "abstract_collection::Map::[]=";
1322 void standard___collection___abstract_collection___Map_____braeq(val_t p0, val_t p1, val_t p2){
1323 struct {struct stack_frame_t me;} fra;
1324 val_t tmp;
1325 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1326 fra.me.file = LOCATE_standard___collection___abstract_collection;
1327 fra.me.line = 336;
1328 fra.me.meth = LOCATE_standard___collection___abstract_collection___Map_____braeq;
1329 fra.me.has_broke = 0;
1330 fra.me.REG_size = 0;
1331 fra.me.nitni_local_ref_head = NULL;
1332 /* ../lib/standard/collection/abstract_collection.nit:336 */
1333 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 336);
1334 stack_frame_head = fra.me.prev;
1335 return;
1336 }
1337 static const char LOCATE_standard___collection___abstract_collection___Map___recover_with[] = "abstract_collection::Map::recover_with";
1338 void standard___collection___abstract_collection___Map___recover_with(val_t p0, val_t p1){
1339 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1340 val_t REGB0;
1341 val_t tmp;
1342 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1343 fra.me.file = LOCATE_standard___collection___abstract_collection;
1344 fra.me.line = 339;
1345 fra.me.meth = LOCATE_standard___collection___abstract_collection___Map___recover_with;
1346 fra.me.has_broke = 0;
1347 fra.me.REG_size = 4;
1348 fra.me.nitni_local_ref_head = NULL;
1349 fra.me.REG[0] = NIT_NULL;
1350 fra.me.REG[1] = NIT_NULL;
1351 fra.me.REG[2] = NIT_NULL;
1352 fra.me.REG[3] = NIT_NULL;
1353 fra.me.REG[0] = p0;
1354 fra.me.REG[1] = p1;
1355 /* ../lib/standard/collection/abstract_collection.nit:343 */
1356 fra.me.REG[1] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra.me.REG[1])(fra.me.REG[1]);
1357 /* ../lib/standard/collection/abstract_collection.nit:344 */
1358 while(1) {
1359 REGB0 = CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra.me.REG[1])(fra.me.REG[1]);
1360 if (UNTAG_Bool(REGB0)) {
1361 /* ../lib/standard/collection/abstract_collection.nit:345 */
1362 fra.me.REG[2] = CALL_standard___collection___abstract_collection___MapIterator___key(fra.me.REG[1])(fra.me.REG[1]);
1363 fra.me.REG[3] = CALL_standard___collection___abstract_collection___MapIterator___item(fra.me.REG[1])(fra.me.REG[1]);
1364 CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[3]);
1365 /* ../lib/standard/collection/abstract_collection.nit:346 */
1366 CALL_standard___collection___abstract_collection___MapIterator___next(fra.me.REG[1])(fra.me.REG[1]);
1367 } else {
1368 /* ../lib/standard/collection/abstract_collection.nit:344 */
1369 goto label1;
1370 }
1371 }
1372 label1: while(0);
1373 stack_frame_head = fra.me.prev;
1374 return;
1375 }
1376 static const char LOCATE_standard___collection___abstract_collection___Map___clear[] = "abstract_collection::Map::clear";
1377 void standard___collection___abstract_collection___Map___clear(val_t p0){
1378 struct {struct stack_frame_t me;} fra;
1379 val_t tmp;
1380 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1381 fra.me.file = LOCATE_standard___collection___abstract_collection;
1382 fra.me.line = 350;
1383 fra.me.meth = LOCATE_standard___collection___abstract_collection___Map___clear;
1384 fra.me.has_broke = 0;
1385 fra.me.REG_size = 0;
1386 fra.me.nitni_local_ref_head = NULL;
1387 /* ../lib/standard/collection/abstract_collection.nit:350 */
1388 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 350);
1389 stack_frame_head = fra.me.prev;
1390 return;
1391 }
1392 static const char LOCATE_standard___collection___abstract_collection___Map___values[] = "abstract_collection::Map::(abstract_collection::MapRead::values)";
1393 val_t standard___collection___abstract_collection___Map___values(val_t p0){
1394 struct {struct stack_frame_t me;} fra;
1395 val_t tmp;
1396 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1397 fra.me.file = LOCATE_standard___collection___abstract_collection;
1398 fra.me.line = 353;
1399 fra.me.meth = LOCATE_standard___collection___abstract_collection___Map___values;
1400 fra.me.has_broke = 0;
1401 fra.me.REG_size = 0;
1402 fra.me.nitni_local_ref_head = NULL;
1403 /* ../lib/standard/collection/abstract_collection.nit:353 */
1404 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 353);
1405 stack_frame_head = fra.me.prev;
1406 return NIT_NULL;
1407 }
1408 static const char LOCATE_standard___collection___abstract_collection___Map___keys[] = "abstract_collection::Map::(abstract_collection::MapRead::keys)";
1409 val_t standard___collection___abstract_collection___Map___keys(val_t p0){
1410 struct {struct stack_frame_t me;} fra;
1411 val_t tmp;
1412 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1413 fra.me.file = LOCATE_standard___collection___abstract_collection;
1414 fra.me.line = 355;
1415 fra.me.meth = LOCATE_standard___collection___abstract_collection___Map___keys;
1416 fra.me.has_broke = 0;
1417 fra.me.REG_size = 0;
1418 fra.me.nitni_local_ref_head = NULL;
1419 /* ../lib/standard/collection/abstract_collection.nit:355 */
1420 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 355);
1421 stack_frame_head = fra.me.prev;
1422 return NIT_NULL;
1423 }
1424 static const char LOCATE_standard___collection___abstract_collection___MapIterator___item[] = "abstract_collection::MapIterator::item";
1425 val_t standard___collection___abstract_collection___MapIterator___item(val_t p0){
1426 struct {struct stack_frame_t me;} fra;
1427 val_t tmp;
1428 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1429 fra.me.file = LOCATE_standard___collection___abstract_collection;
1430 fra.me.line = 360;
1431 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapIterator___item;
1432 fra.me.has_broke = 0;
1433 fra.me.REG_size = 0;
1434 fra.me.nitni_local_ref_head = NULL;
1435 /* ../lib/standard/collection/abstract_collection.nit:360 */
1436 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 360);
1437 stack_frame_head = fra.me.prev;
1438 return NIT_NULL;
1439 }
1440 static const char LOCATE_standard___collection___abstract_collection___MapIterator___key[] = "abstract_collection::MapIterator::key";
1441 val_t standard___collection___abstract_collection___MapIterator___key(val_t p0){
1442 struct {struct stack_frame_t me;} fra;
1443 val_t tmp;
1444 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1445 fra.me.file = LOCATE_standard___collection___abstract_collection;
1446 fra.me.line = 364;
1447 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapIterator___key;
1448 fra.me.has_broke = 0;
1449 fra.me.REG_size = 0;
1450 fra.me.nitni_local_ref_head = NULL;
1451 /* ../lib/standard/collection/abstract_collection.nit:364 */
1452 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 364);
1453 stack_frame_head = fra.me.prev;
1454 return NIT_NULL;
1455 }
1456 static const char LOCATE_standard___collection___abstract_collection___MapIterator___next[] = "abstract_collection::MapIterator::next";
1457 void standard___collection___abstract_collection___MapIterator___next(val_t p0){
1458 struct {struct stack_frame_t me;} fra;
1459 val_t tmp;
1460 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1461 fra.me.file = LOCATE_standard___collection___abstract_collection;
1462 fra.me.line = 368;
1463 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapIterator___next;
1464 fra.me.has_broke = 0;
1465 fra.me.REG_size = 0;
1466 fra.me.nitni_local_ref_head = NULL;
1467 /* ../lib/standard/collection/abstract_collection.nit:368 */
1468 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 368);
1469 stack_frame_head = fra.me.prev;
1470 return;
1471 }
1472 static const char LOCATE_standard___collection___abstract_collection___MapIterator___is_ok[] = "abstract_collection::MapIterator::is_ok";
1473 val_t standard___collection___abstract_collection___MapIterator___is_ok(val_t p0){
1474 struct {struct stack_frame_t me;} fra;
1475 val_t tmp;
1476 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1477 fra.me.file = LOCATE_standard___collection___abstract_collection;
1478 fra.me.line = 372;
1479 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapIterator___is_ok;
1480 fra.me.has_broke = 0;
1481 fra.me.REG_size = 0;
1482 fra.me.nitni_local_ref_head = NULL;
1483 /* ../lib/standard/collection/abstract_collection.nit:372 */
1484 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 372);
1485 stack_frame_head = fra.me.prev;
1486 return NIT_NULL;
1487 }
1488 static const char LOCATE_standard___collection___abstract_collection___MapKeysIterator___iterator[] = "abstract_collection::MapKeysIterator::iterator";
1489 val_t standard___collection___abstract_collection___MapKeysIterator___iterator(val_t p0){
1490 struct {struct stack_frame_t me;} fra;
1491 val_t REGB0;
1492 val_t tmp;
1493 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1494 fra.me.file = LOCATE_standard___collection___abstract_collection;
1495 fra.me.line = 382;
1496 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapKeysIterator___iterator;
1497 fra.me.has_broke = 0;
1498 fra.me.REG_size = 1;
1499 fra.me.nitni_local_ref_head = NULL;
1500 fra.me.REG[0] = NIT_NULL;
1501 fra.me.REG[0] = p0;
1502 /* ../lib/standard/collection/abstract_collection.nit:382 */
1503 REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___MapKeysIterator_____atiterator(fra.me.REG[0])!=NIT_NULL);
1504 if (UNTAG_Bool(REGB0)) {
1505 } else {
1506 nit_abort("Uninitialized attribute %s", "@iterator", LOCATE_standard___collection___abstract_collection, 382);
1507 }
1508 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___MapKeysIterator_____atiterator(fra.me.REG[0]);
1509 stack_frame_head = fra.me.prev;
1510 return fra.me.REG[0];
1511 }
1512 static const char LOCATE_standard___collection___abstract_collection___MapKeysIterator___iterator__eq[] = "abstract_collection::MapKeysIterator::iterator=";
1513 void standard___collection___abstract_collection___MapKeysIterator___iterator__eq(val_t p0, val_t p1){
1514 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1515 val_t tmp;
1516 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1517 fra.me.file = LOCATE_standard___collection___abstract_collection;
1518 fra.me.line = 382;
1519 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapKeysIterator___iterator__eq;
1520 fra.me.has_broke = 0;
1521 fra.me.REG_size = 2;
1522 fra.me.nitni_local_ref_head = NULL;
1523 fra.me.REG[0] = NIT_NULL;
1524 fra.me.REG[1] = NIT_NULL;
1525 fra.me.REG[0] = p0;
1526 fra.me.REG[1] = p1;
1527 /* ../lib/standard/collection/abstract_collection.nit:382 */
1528 ATTR_standard___collection___abstract_collection___MapKeysIterator_____atiterator(fra.me.REG[0]) = fra.me.REG[1];
1529 stack_frame_head = fra.me.prev;
1530 return;
1531 }
1532 static const char LOCATE_standard___collection___abstract_collection___MapKeysIterator___is_ok[] = "abstract_collection::MapKeysIterator::(abstract_collection::Iterator::is_ok)";
1533 val_t standard___collection___abstract_collection___MapKeysIterator___is_ok(val_t p0){
1534 struct {struct stack_frame_t me;} fra;
1535 val_t REGB0;
1536 val_t tmp;
1537 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1538 fra.me.file = LOCATE_standard___collection___abstract_collection;
1539 fra.me.line = 385;
1540 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapKeysIterator___is_ok;
1541 fra.me.has_broke = 0;
1542 fra.me.REG_size = 1;
1543 fra.me.nitni_local_ref_head = NULL;
1544 fra.me.REG[0] = NIT_NULL;
1545 fra.me.REG[0] = p0;
1546 /* ../lib/standard/collection/abstract_collection.nit:385 */
1547 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapKeysIterator___iterator(fra.me.REG[0])(fra.me.REG[0]);
1548 REGB0 = CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
1549 goto label1;
1550 label1: while(0);
1551 stack_frame_head = fra.me.prev;
1552 return REGB0;
1553 }
1554 static const char LOCATE_standard___collection___abstract_collection___MapKeysIterator___next[] = "abstract_collection::MapKeysIterator::(abstract_collection::Iterator::next)";
1555 void standard___collection___abstract_collection___MapKeysIterator___next(val_t p0){
1556 struct {struct stack_frame_t me;} fra;
1557 val_t tmp;
1558 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1559 fra.me.file = LOCATE_standard___collection___abstract_collection;
1560 fra.me.line = 386;
1561 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapKeysIterator___next;
1562 fra.me.has_broke = 0;
1563 fra.me.REG_size = 1;
1564 fra.me.nitni_local_ref_head = NULL;
1565 fra.me.REG[0] = NIT_NULL;
1566 fra.me.REG[0] = p0;
1567 /* ../lib/standard/collection/abstract_collection.nit:386 */
1568 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapKeysIterator___iterator(fra.me.REG[0])(fra.me.REG[0]);
1569 CALL_standard___collection___abstract_collection___MapIterator___next(fra.me.REG[0])(fra.me.REG[0]);
1570 stack_frame_head = fra.me.prev;
1571 return;
1572 }
1573 static const char LOCATE_standard___collection___abstract_collection___MapKeysIterator___item[] = "abstract_collection::MapKeysIterator::(abstract_collection::Iterator::item)";
1574 val_t standard___collection___abstract_collection___MapKeysIterator___item(val_t p0){
1575 struct {struct stack_frame_t me;} fra;
1576 val_t tmp;
1577 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1578 fra.me.file = LOCATE_standard___collection___abstract_collection;
1579 fra.me.line = 387;
1580 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapKeysIterator___item;
1581 fra.me.has_broke = 0;
1582 fra.me.REG_size = 1;
1583 fra.me.nitni_local_ref_head = NULL;
1584 fra.me.REG[0] = NIT_NULL;
1585 fra.me.REG[0] = p0;
1586 /* ../lib/standard/collection/abstract_collection.nit:387 */
1587 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapKeysIterator___iterator(fra.me.REG[0])(fra.me.REG[0]);
1588 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapIterator___key(fra.me.REG[0])(fra.me.REG[0]);
1589 goto label1;
1590 label1: while(0);
1591 stack_frame_head = fra.me.prev;
1592 return fra.me.REG[0];
1593 }
1594 static const char LOCATE_standard___collection___abstract_collection___MapKeysIterator___init[] = "abstract_collection::MapKeysIterator::init";
1595 void standard___collection___abstract_collection___MapKeysIterator___init(val_t p0, val_t p1, int* init_table){
1596 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___collection___abstract_collection___MapKeysIterator].i;
1597 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1598 val_t tmp;
1599 if (init_table[itpos2]) return;
1600 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1601 fra.me.file = LOCATE_standard___collection___abstract_collection;
1602 fra.me.line = 0;
1603 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapKeysIterator___init;
1604 fra.me.has_broke = 0;
1605 fra.me.REG_size = 2;
1606 fra.me.nitni_local_ref_head = NULL;
1607 fra.me.REG[0] = NIT_NULL;
1608 fra.me.REG[1] = NIT_NULL;
1609 fra.me.REG[0] = p0;
1610 fra.me.REG[1] = p1;
1611 ATTR_standard___collection___abstract_collection___MapKeysIterator_____atiterator(fra.me.REG[0]) = fra.me.REG[1];
1612 stack_frame_head = fra.me.prev;
1613 init_table[itpos2] = 1;
1614 return;
1615 }
1616 static const char LOCATE_standard___collection___abstract_collection___MapValuesIterator___iterator[] = "abstract_collection::MapValuesIterator::iterator";
1617 val_t standard___collection___abstract_collection___MapValuesIterator___iterator(val_t p0){
1618 struct {struct stack_frame_t me;} fra;
1619 val_t REGB0;
1620 val_t tmp;
1621 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1622 fra.me.file = LOCATE_standard___collection___abstract_collection;
1623 fra.me.line = 393;
1624 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapValuesIterator___iterator;
1625 fra.me.has_broke = 0;
1626 fra.me.REG_size = 1;
1627 fra.me.nitni_local_ref_head = NULL;
1628 fra.me.REG[0] = NIT_NULL;
1629 fra.me.REG[0] = p0;
1630 /* ../lib/standard/collection/abstract_collection.nit:393 */
1631 REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___MapValuesIterator_____atiterator(fra.me.REG[0])!=NIT_NULL);
1632 if (UNTAG_Bool(REGB0)) {
1633 } else {
1634 nit_abort("Uninitialized attribute %s", "@iterator", LOCATE_standard___collection___abstract_collection, 393);
1635 }
1636 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___MapValuesIterator_____atiterator(fra.me.REG[0]);
1637 stack_frame_head = fra.me.prev;
1638 return fra.me.REG[0];
1639 }
1640 static const char LOCATE_standard___collection___abstract_collection___MapValuesIterator___iterator__eq[] = "abstract_collection::MapValuesIterator::iterator=";
1641 void standard___collection___abstract_collection___MapValuesIterator___iterator__eq(val_t p0, val_t p1){
1642 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1643 val_t tmp;
1644 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1645 fra.me.file = LOCATE_standard___collection___abstract_collection;
1646 fra.me.line = 393;
1647 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapValuesIterator___iterator__eq;
1648 fra.me.has_broke = 0;
1649 fra.me.REG_size = 2;
1650 fra.me.nitni_local_ref_head = NULL;
1651 fra.me.REG[0] = NIT_NULL;
1652 fra.me.REG[1] = NIT_NULL;
1653 fra.me.REG[0] = p0;
1654 fra.me.REG[1] = p1;
1655 /* ../lib/standard/collection/abstract_collection.nit:393 */
1656 ATTR_standard___collection___abstract_collection___MapValuesIterator_____atiterator(fra.me.REG[0]) = fra.me.REG[1];
1657 stack_frame_head = fra.me.prev;
1658 return;
1659 }
1660 static const char LOCATE_standard___collection___abstract_collection___MapValuesIterator___is_ok[] = "abstract_collection::MapValuesIterator::(abstract_collection::Iterator::is_ok)";
1661 val_t standard___collection___abstract_collection___MapValuesIterator___is_ok(val_t p0){
1662 struct {struct stack_frame_t me;} fra;
1663 val_t REGB0;
1664 val_t tmp;
1665 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1666 fra.me.file = LOCATE_standard___collection___abstract_collection;
1667 fra.me.line = 396;
1668 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapValuesIterator___is_ok;
1669 fra.me.has_broke = 0;
1670 fra.me.REG_size = 1;
1671 fra.me.nitni_local_ref_head = NULL;
1672 fra.me.REG[0] = NIT_NULL;
1673 fra.me.REG[0] = p0;
1674 /* ../lib/standard/collection/abstract_collection.nit:396 */
1675 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapValuesIterator___iterator(fra.me.REG[0])(fra.me.REG[0]);
1676 REGB0 = CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
1677 goto label1;
1678 label1: while(0);
1679 stack_frame_head = fra.me.prev;
1680 return REGB0;
1681 }
1682 static const char LOCATE_standard___collection___abstract_collection___MapValuesIterator___next[] = "abstract_collection::MapValuesIterator::(abstract_collection::Iterator::next)";
1683 void standard___collection___abstract_collection___MapValuesIterator___next(val_t p0){
1684 struct {struct stack_frame_t me;} fra;
1685 val_t tmp;
1686 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1687 fra.me.file = LOCATE_standard___collection___abstract_collection;
1688 fra.me.line = 397;
1689 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapValuesIterator___next;
1690 fra.me.has_broke = 0;
1691 fra.me.REG_size = 1;
1692 fra.me.nitni_local_ref_head = NULL;
1693 fra.me.REG[0] = NIT_NULL;
1694 fra.me.REG[0] = p0;
1695 /* ../lib/standard/collection/abstract_collection.nit:397 */
1696 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapValuesIterator___iterator(fra.me.REG[0])(fra.me.REG[0]);
1697 CALL_standard___collection___abstract_collection___MapIterator___next(fra.me.REG[0])(fra.me.REG[0]);
1698 stack_frame_head = fra.me.prev;
1699 return;
1700 }
1701 static const char LOCATE_standard___collection___abstract_collection___MapValuesIterator___item[] = "abstract_collection::MapValuesIterator::(abstract_collection::Iterator::item)";
1702 val_t standard___collection___abstract_collection___MapValuesIterator___item(val_t p0){
1703 struct {struct stack_frame_t me;} fra;
1704 val_t tmp;
1705 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1706 fra.me.file = LOCATE_standard___collection___abstract_collection;
1707 fra.me.line = 398;
1708 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapValuesIterator___item;
1709 fra.me.has_broke = 0;
1710 fra.me.REG_size = 1;
1711 fra.me.nitni_local_ref_head = NULL;
1712 fra.me.REG[0] = NIT_NULL;
1713 fra.me.REG[0] = p0;
1714 /* ../lib/standard/collection/abstract_collection.nit:398 */
1715 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapValuesIterator___iterator(fra.me.REG[0])(fra.me.REG[0]);
1716 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapIterator___item(fra.me.REG[0])(fra.me.REG[0]);
1717 goto label1;
1718 label1: while(0);
1719 stack_frame_head = fra.me.prev;
1720 return fra.me.REG[0];
1721 }
1722 static const char LOCATE_standard___collection___abstract_collection___MapValuesIterator___init[] = "abstract_collection::MapValuesIterator::init";
1723 void standard___collection___abstract_collection___MapValuesIterator___init(val_t p0, val_t p1, int* init_table){
1724 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___collection___abstract_collection___MapValuesIterator].i;
1725 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1726 val_t tmp;
1727 if (init_table[itpos3]) return;
1728 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1729 fra.me.file = LOCATE_standard___collection___abstract_collection;
1730 fra.me.line = 0;
1731 fra.me.meth = LOCATE_standard___collection___abstract_collection___MapValuesIterator___init;
1732 fra.me.has_broke = 0;
1733 fra.me.REG_size = 2;
1734 fra.me.nitni_local_ref_head = NULL;
1735 fra.me.REG[0] = NIT_NULL;
1736 fra.me.REG[1] = NIT_NULL;
1737 fra.me.REG[0] = p0;
1738 fra.me.REG[1] = p1;
1739 ATTR_standard___collection___abstract_collection___MapValuesIterator_____atiterator(fra.me.REG[0]) = fra.me.REG[1];
1740 stack_frame_head = fra.me.prev;
1741 init_table[itpos3] = 1;
1742 return;
1743 }
1744 static const char LOCATE_standard___collection___abstract_collection___SequenceRead___first[] = "abstract_collection::SequenceRead::(abstract_collection::Collection::first)";
1745 val_t standard___collection___abstract_collection___SequenceRead___first(val_t p0){
1746 struct {struct stack_frame_t me;} fra;
1747 val_t REGB0;
1748 val_t tmp;
1749 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1750 fra.me.file = LOCATE_standard___collection___abstract_collection;
1751 fra.me.line = 405;
1752 fra.me.meth = LOCATE_standard___collection___abstract_collection___SequenceRead___first;
1753 fra.me.has_broke = 0;
1754 fra.me.REG_size = 1;
1755 fra.me.nitni_local_ref_head = NULL;
1756 fra.me.REG[0] = NIT_NULL;
1757 fra.me.REG[0] = p0;
1758 /* ../lib/standard/collection/abstract_collection.nit:409 */
1759 REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[0])(fra.me.REG[0]);
1760 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1761 if (UNTAG_Bool(REGB0)) {
1762 } else {
1763 nit_abort("Assert '%s' failed", "not_empty", LOCATE_standard___collection___abstract_collection, 409);
1764 }
1765 /* ../lib/standard/collection/abstract_collection.nit:410 */
1766 REGB0 = TAG_Int(0);
1767 fra.me.REG[0] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[0])(fra.me.REG[0], REGB0);
1768 goto label1;
1769 label1: while(0);
1770 stack_frame_head = fra.me.prev;
1771 return fra.me.REG[0];
1772 }
1773 static const char LOCATE_standard___collection___abstract_collection___SequenceRead_____bra[] = "abstract_collection::SequenceRead::[]";
1774 val_t standard___collection___abstract_collection___SequenceRead_____bra(val_t p0, val_t p1){
1775 struct {struct stack_frame_t me;} fra;
1776 val_t tmp;
1777 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1778 fra.me.file = LOCATE_standard___collection___abstract_collection;
1779 fra.me.line = 413;
1780 fra.me.meth = LOCATE_standard___collection___abstract_collection___SequenceRead_____bra;
1781 fra.me.has_broke = 0;
1782 fra.me.REG_size = 0;
1783 fra.me.nitni_local_ref_head = NULL;
1784 /* ../lib/standard/collection/abstract_collection.nit:413 */
1785 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 413);
1786 stack_frame_head = fra.me.prev;
1787 return NIT_NULL;
1788 }
1789 static const char LOCATE_standard___collection___abstract_collection___SequenceRead___last[] = "abstract_collection::SequenceRead::last";
1790 val_t standard___collection___abstract_collection___SequenceRead___last(val_t p0){
1791 struct {struct stack_frame_t me;} fra;
1792 val_t REGB0;
1793 val_t REGB1;
1794 val_t tmp;
1795 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1796 fra.me.file = LOCATE_standard___collection___abstract_collection;
1797 fra.me.line = 418;
1798 fra.me.meth = LOCATE_standard___collection___abstract_collection___SequenceRead___last;
1799 fra.me.has_broke = 0;
1800 fra.me.REG_size = 1;
1801 fra.me.nitni_local_ref_head = NULL;
1802 fra.me.REG[0] = NIT_NULL;
1803 fra.me.REG[0] = p0;
1804 /* ../lib/standard/collection/abstract_collection.nit:422 */
1805 REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[0])(fra.me.REG[0]);
1806 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1807 if (UNTAG_Bool(REGB0)) {
1808 } else {
1809 nit_abort("Assert '%s' failed", "not_empty", LOCATE_standard___collection___abstract_collection, 422);
1810 }
1811 /* ../lib/standard/collection/abstract_collection.nit:423 */
1812 REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
1813 REGB1 = TAG_Int(1);
1814 /* ../lib/standard/kernel.nit:247 */
1815 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1816 /* ../lib/standard/collection/abstract_collection.nit:423 */
1817 fra.me.REG[0] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[0])(fra.me.REG[0], REGB1);
1818 goto label1;
1819 label1: while(0);
1820 stack_frame_head = fra.me.prev;
1821 return fra.me.REG[0];
1822 }
1823 static const char LOCATE_standard___collection___abstract_collection___SequenceRead___index_of[] = "abstract_collection::SequenceRead::index_of";
1824 val_t standard___collection___abstract_collection___SequenceRead___index_of(val_t p0, val_t p1){
1825 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1826 val_t REGB0;
1827 val_t REGB1;
1828 val_t tmp;
1829 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1830 fra.me.file = LOCATE_standard___collection___abstract_collection;
1831 fra.me.line = 426;
1832 fra.me.meth = LOCATE_standard___collection___abstract_collection___SequenceRead___index_of;
1833 fra.me.has_broke = 0;
1834 fra.me.REG_size = 3;
1835 fra.me.nitni_local_ref_head = NULL;
1836 fra.me.REG[0] = NIT_NULL;
1837 fra.me.REG[1] = NIT_NULL;
1838 fra.me.REG[2] = NIT_NULL;
1839 fra.me.REG[0] = p0;
1840 fra.me.REG[1] = p1;
1841 /* ../lib/standard/collection/abstract_collection.nit:431 */
1842 fra.me.REG[0] = CALL_standard___collection___abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
1843 /* ../lib/standard/collection/abstract_collection.nit:432 */
1844 while(1) {
1845 REGB0 = CALL_standard___collection___abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
1846 if (UNTAG_Bool(REGB0)) {
1847 /* ../lib/standard/collection/abstract_collection.nit:433 */
1848 fra.me.REG[2] = CALL_standard___collection___abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
1849 REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[2],fra.me.REG[1]));
1850 if (UNTAG_Bool(REGB0)) {
1851 } else {
1852 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1853 if (UNTAG_Bool(REGB1)) {
1854 REGB1 = TAG_Bool(0);
1855 REGB0 = REGB1;
1856 } else {
1857 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1858 REGB0 = REGB1;
1859 }
1860 }
1861 if (UNTAG_Bool(REGB0)) {
1862 REGB0 = CALL_standard___collection___abstract_collection___IndexedIterator___index(fra.me.REG[0])(fra.me.REG[0]);
1863 goto label1;
1864 }
1865 /* ../lib/standard/collection/abstract_collection.nit:434 */
1866 CALL_standard___collection___abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
1867 } else {
1868 /* ../lib/standard/collection/abstract_collection.nit:432 */
1869 goto label2;
1870 }
1871 }
1872 label2: while(0);
1873 /* ../lib/standard/collection/abstract_collection.nit:436 */
1874 REGB1 = TAG_Int(1);
1875 /* ../lib/standard/kernel.nit:246 */
1876 REGB1 = TAG_Int(-UNTAG_Int(REGB1));
1877 /* ../lib/standard/collection/abstract_collection.nit:436 */
1878 REGB0 = REGB1;
1879 goto label1;
1880 label1: while(0);
1881 stack_frame_head = fra.me.prev;
1882 return REGB0;
1883 }
1884 static const char LOCATE_standard___collection___abstract_collection___SequenceRead___iterator[] = "abstract_collection::SequenceRead::(abstract_collection::Collection::iterator)";
1885 val_t standard___collection___abstract_collection___SequenceRead___iterator(val_t p0){
1886 struct {struct stack_frame_t me;} fra;
1887 val_t tmp;
1888 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1889 fra.me.file = LOCATE_standard___collection___abstract_collection;
1890 fra.me.line = 439;
1891 fra.me.meth = LOCATE_standard___collection___abstract_collection___SequenceRead___iterator;
1892 fra.me.has_broke = 0;
1893 fra.me.REG_size = 0;
1894 fra.me.nitni_local_ref_head = NULL;
1895 /* ../lib/standard/collection/abstract_collection.nit:439 */
1896 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 439);
1897 stack_frame_head = fra.me.prev;
1898 return NIT_NULL;
1899 }
1900 static const char LOCATE_standard___collection___abstract_collection___Sequence___first__eq[] = "abstract_collection::Sequence::first=";
1901 void standard___collection___abstract_collection___Sequence___first__eq(val_t p0, val_t p1){
1902 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1903 val_t REGB0;
1904 val_t tmp;
1905 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1906 fra.me.file = LOCATE_standard___collection___abstract_collection;
1907 fra.me.line = 448;
1908 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___first__eq;
1909 fra.me.has_broke = 0;
1910 fra.me.REG_size = 2;
1911 fra.me.nitni_local_ref_head = NULL;
1912 fra.me.REG[0] = NIT_NULL;
1913 fra.me.REG[1] = NIT_NULL;
1914 fra.me.REG[0] = p0;
1915 fra.me.REG[1] = p1;
1916 /* ../lib/standard/collection/abstract_collection.nit:451 */
1917 REGB0 = TAG_Int(0);
1918 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
1919 stack_frame_head = fra.me.prev;
1920 return;
1921 }
1922 static const char LOCATE_standard___collection___abstract_collection___Sequence___last__eq[] = "abstract_collection::Sequence::last=";
1923 void standard___collection___abstract_collection___Sequence___last__eq(val_t p0, val_t p1){
1924 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1925 val_t REGB0;
1926 val_t REGB1;
1927 val_t REGB2;
1928 val_t tmp;
1929 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1930 fra.me.file = LOCATE_standard___collection___abstract_collection;
1931 fra.me.line = 453;
1932 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___last__eq;
1933 fra.me.has_broke = 0;
1934 fra.me.REG_size = 2;
1935 fra.me.nitni_local_ref_head = NULL;
1936 fra.me.REG[0] = NIT_NULL;
1937 fra.me.REG[1] = NIT_NULL;
1938 fra.me.REG[0] = p0;
1939 fra.me.REG[1] = p1;
1940 /* ../lib/standard/collection/abstract_collection.nit:457 */
1941 REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
1942 /* ../lib/standard/collection/abstract_collection.nit:458 */
1943 REGB1 = TAG_Int(0);
1944 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1945 if (UNTAG_Bool(REGB2)) {
1946 } else {
1947 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1948 }
1949 /* ../lib/standard/kernel.nit:244 */
1950 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
1951 /* ../lib/standard/collection/abstract_collection.nit:458 */
1952 if (UNTAG_Bool(REGB1)) {
1953 /* ../lib/standard/collection/abstract_collection.nit:459 */
1954 REGB1 = TAG_Int(1);
1955 /* ../lib/standard/kernel.nit:247 */
1956 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1957 /* ../lib/standard/collection/abstract_collection.nit:459 */
1958 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB1, fra.me.REG[1]);
1959 } else {
1960 /* ../lib/standard/collection/abstract_collection.nit:461 */
1961 REGB1 = TAG_Int(0);
1962 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB1, fra.me.REG[1]);
1963 }
1964 stack_frame_head = fra.me.prev;
1965 return;
1966 }
1967 static const char LOCATE_standard___collection___abstract_collection___Sequence___add[] = "abstract_collection::Sequence::(abstract_collection::SimpleCollection::add)";
1968 void standard___collection___abstract_collection___Sequence___add(val_t p0, val_t p1){
1969 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1970 val_t tmp;
1971 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1972 fra.me.file = LOCATE_standard___collection___abstract_collection;
1973 fra.me.line = 465;
1974 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___add;
1975 fra.me.has_broke = 0;
1976 fra.me.REG_size = 2;
1977 fra.me.nitni_local_ref_head = NULL;
1978 fra.me.REG[0] = NIT_NULL;
1979 fra.me.REG[1] = NIT_NULL;
1980 fra.me.REG[0] = p0;
1981 fra.me.REG[1] = p1;
1982 /* ../lib/standard/collection/abstract_collection.nit:466 */
1983 CALL_standard___collection___abstract_collection___Sequence___push(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1984 stack_frame_head = fra.me.prev;
1985 return;
1986 }
1987 static const char LOCATE_standard___collection___abstract_collection___Sequence___push[] = "abstract_collection::Sequence::push";
1988 void standard___collection___abstract_collection___Sequence___push(val_t p0, val_t p1){
1989 struct {struct stack_frame_t me;} fra;
1990 val_t tmp;
1991 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1992 fra.me.file = LOCATE_standard___collection___abstract_collection;
1993 fra.me.line = 468;
1994 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___push;
1995 fra.me.has_broke = 0;
1996 fra.me.REG_size = 0;
1997 fra.me.nitni_local_ref_head = NULL;
1998 /* ../lib/standard/collection/abstract_collection.nit:468 */
1999 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 468);
2000 stack_frame_head = fra.me.prev;
2001 return;
2002 }
2003 static const char LOCATE_standard___collection___abstract_collection___Sequence___append[] = "abstract_collection::Sequence::append";
2004 void standard___collection___abstract_collection___Sequence___append(val_t p0, val_t p1){
2005 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2006 val_t tmp;
2007 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2008 fra.me.file = LOCATE_standard___collection___abstract_collection;
2009 fra.me.line = 471;
2010 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___append;
2011 fra.me.has_broke = 0;
2012 fra.me.REG_size = 2;
2013 fra.me.nitni_local_ref_head = NULL;
2014 fra.me.REG[0] = NIT_NULL;
2015 fra.me.REG[1] = NIT_NULL;
2016 fra.me.REG[0] = p0;
2017 fra.me.REG[1] = p1;
2018 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));
2019 stack_frame_head = fra.me.prev;
2020 return;
2021 }
2022 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){
2023 struct {struct stack_frame_t me;} fra;
2024 fun_t CREG[1];
2025 val_t tmp;
2026 /* ../lib/standard/collection/abstract_collection.nit:472 */
2027 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2028 fra.me.file = LOCATE_standard___collection___abstract_collection;
2029 fra.me.line = 0;
2030 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___append;
2031 fra.me.has_broke = 0;
2032 fra.me.REG_size = 1;
2033 fra.me.nitni_local_ref_head = NULL;
2034 fra.me.REG[0] = NIT_NULL;
2035 fra.me.closure_ctx = closctx_param;
2036 fra.me.closure_funs = CREG;
2037 fra.me.REG[0] = p0;
2038 CREG[0] = clos_fun0;
2039 CALL_standard___collection___abstract_collection___Sequence___push(closctx->REG[0])(closctx->REG[0], fra.me.REG[0]);
2040 stack_frame_head = fra.me.prev;
2041 return;
2042 }
2043 static const char LOCATE_standard___collection___abstract_collection___Sequence___pop[] = "abstract_collection::Sequence::pop";
2044 val_t standard___collection___abstract_collection___Sequence___pop(val_t p0){
2045 struct {struct stack_frame_t me;} fra;
2046 val_t tmp;
2047 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2048 fra.me.file = LOCATE_standard___collection___abstract_collection;
2049 fra.me.line = 474;
2050 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___pop;
2051 fra.me.has_broke = 0;
2052 fra.me.REG_size = 0;
2053 fra.me.nitni_local_ref_head = NULL;
2054 /* ../lib/standard/collection/abstract_collection.nit:474 */
2055 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 474);
2056 stack_frame_head = fra.me.prev;
2057 return NIT_NULL;
2058 }
2059 static const char LOCATE_standard___collection___abstract_collection___Sequence___unshift[] = "abstract_collection::Sequence::unshift";
2060 void standard___collection___abstract_collection___Sequence___unshift(val_t p0, val_t p1){
2061 struct {struct stack_frame_t me;} fra;
2062 val_t tmp;
2063 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2064 fra.me.file = LOCATE_standard___collection___abstract_collection;
2065 fra.me.line = 477;
2066 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___unshift;
2067 fra.me.has_broke = 0;
2068 fra.me.REG_size = 0;
2069 fra.me.nitni_local_ref_head = NULL;
2070 /* ../lib/standard/collection/abstract_collection.nit:477 */
2071 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 477);
2072 stack_frame_head = fra.me.prev;
2073 return;
2074 }
2075 static const char LOCATE_standard___collection___abstract_collection___Sequence___shift[] = "abstract_collection::Sequence::shift";
2076 val_t standard___collection___abstract_collection___Sequence___shift(val_t p0){
2077 struct {struct stack_frame_t me;} fra;
2078 val_t tmp;
2079 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2080 fra.me.file = LOCATE_standard___collection___abstract_collection;
2081 fra.me.line = 480;
2082 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___shift;
2083 fra.me.has_broke = 0;
2084 fra.me.REG_size = 0;
2085 fra.me.nitni_local_ref_head = NULL;
2086 /* ../lib/standard/collection/abstract_collection.nit:480 */
2087 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 480);
2088 stack_frame_head = fra.me.prev;
2089 return NIT_NULL;
2090 }
2091 static const char LOCATE_standard___collection___abstract_collection___Sequence_____braeq[] = "abstract_collection::Sequence::[]=";
2092 void standard___collection___abstract_collection___Sequence_____braeq(val_t p0, val_t p1, val_t p2){
2093 struct {struct stack_frame_t me;} fra;
2094 val_t tmp;
2095 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2096 fra.me.file = LOCATE_standard___collection___abstract_collection;
2097 fra.me.line = 484;
2098 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence_____braeq;
2099 fra.me.has_broke = 0;
2100 fra.me.REG_size = 0;
2101 fra.me.nitni_local_ref_head = NULL;
2102 /* ../lib/standard/collection/abstract_collection.nit:484 */
2103 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 484);
2104 stack_frame_head = fra.me.prev;
2105 return;
2106 }
2107 static const char LOCATE_standard___collection___abstract_collection___Sequence___remove_at[] = "abstract_collection::Sequence::remove_at";
2108 void standard___collection___abstract_collection___Sequence___remove_at(val_t p0, val_t p1){
2109 struct {struct stack_frame_t me;} fra;
2110 val_t tmp;
2111 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2112 fra.me.file = LOCATE_standard___collection___abstract_collection;
2113 fra.me.line = 487;
2114 fra.me.meth = LOCATE_standard___collection___abstract_collection___Sequence___remove_at;
2115 fra.me.has_broke = 0;
2116 fra.me.REG_size = 0;
2117 fra.me.nitni_local_ref_head = NULL;
2118 /* ../lib/standard/collection/abstract_collection.nit:487 */
2119 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 487);
2120 stack_frame_head = fra.me.prev;
2121 return;
2122 }
2123 static const char LOCATE_standard___collection___abstract_collection___IndexedIterator___index[] = "abstract_collection::IndexedIterator::index";
2124 val_t standard___collection___abstract_collection___IndexedIterator___index(val_t p0){
2125 struct {struct stack_frame_t me;} fra;
2126 val_t tmp;
2127 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2128 fra.me.file = LOCATE_standard___collection___abstract_collection;
2129 fra.me.line = 494;
2130 fra.me.meth = LOCATE_standard___collection___abstract_collection___IndexedIterator___index;
2131 fra.me.has_broke = 0;
2132 fra.me.REG_size = 0;
2133 fra.me.nitni_local_ref_head = NULL;
2134 /* ../lib/standard/collection/abstract_collection.nit:494 */
2135 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 494);
2136 stack_frame_head = fra.me.prev;
2137 return NIT_NULL;
2138 }
2139 static const char LOCATE_standard___collection___abstract_collection___CoupleMap___couple_at[] = "abstract_collection::CoupleMap::couple_at";
2140 val_t standard___collection___abstract_collection___CoupleMap___couple_at(val_t p0, val_t p1){
2141 struct {struct stack_frame_t me;} fra;
2142 val_t tmp;
2143 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2144 fra.me.file = LOCATE_standard___collection___abstract_collection;
2145 fra.me.line = 501;
2146 fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMap___couple_at;
2147 fra.me.has_broke = 0;
2148 fra.me.REG_size = 0;
2149 fra.me.nitni_local_ref_head = NULL;
2150 /* ../lib/standard/collection/abstract_collection.nit:501 */
2151 nit_abort("Deferred method called", NULL, LOCATE_standard___collection___abstract_collection, 501);
2152 stack_frame_head = fra.me.prev;
2153 return NIT_NULL;
2154 }
2155 static const char LOCATE_standard___collection___abstract_collection___CoupleMap_____bra[] = "abstract_collection::CoupleMap::(abstract_collection::MapRead::[])";
2156 val_t standard___collection___abstract_collection___CoupleMap_____bra(val_t p0, val_t p1){
2157 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2158 val_t REGB0;
2159 val_t REGB1;
2160 val_t tmp;
2161 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2162 fra.me.file = LOCATE_standard___collection___abstract_collection;
2163 fra.me.line = 505;
2164 fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMap_____bra;
2165 fra.me.has_broke = 0;
2166 fra.me.REG_size = 2;
2167 fra.me.nitni_local_ref_head = NULL;
2168 fra.me.REG[0] = NIT_NULL;
2169 fra.me.REG[1] = NIT_NULL;
2170 fra.me.REG[0] = p0;
2171 fra.me.REG[1] = p1;
2172 /* ../lib/standard/collection/abstract_collection.nit:507 */
2173 fra.me.REG[1] = CALL_standard___collection___abstract_collection___CoupleMap___couple_at(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2174 /* ../lib/standard/collection/abstract_collection.nit:508 */
2175 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2176 if (UNTAG_Bool(REGB0)) {
2177 } else {
2178 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2179 if (UNTAG_Bool(REGB1)) {
2180 REGB1 = TAG_Bool(0);
2181 REGB0 = REGB1;
2182 } else {
2183 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
2184 REGB0 = REGB1;
2185 }
2186 }
2187 if (UNTAG_Bool(REGB0)) {
2188 /* ../lib/standard/collection/abstract_collection.nit:509 */
2189 nit_abort("Aborted", NULL, LOCATE_standard___collection___abstract_collection, 509);
2190 } else {
2191 /* ../lib/standard/collection/abstract_collection.nit:511 */
2192 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2193 if (UNTAG_Bool(REGB0)) {
2194 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___abstract_collection, 511);
2195 }
2196 fra.me.REG[1] = CALL_standard___collection___abstract_collection___Couple___second(fra.me.REG[1])(fra.me.REG[1]);
2197 goto label1;
2198 }
2199 label1: while(0);
2200 stack_frame_head = fra.me.prev;
2201 return fra.me.REG[1];
2202 }
2203 static const char LOCATE_standard___collection___abstract_collection___CoupleMapIterator___item[] = "abstract_collection::CoupleMapIterator::(abstract_collection::MapIterator::item)";
2204 val_t standard___collection___abstract_collection___CoupleMapIterator___item(val_t p0){
2205 struct {struct stack_frame_t me;} fra;
2206 val_t REGB0;
2207 val_t tmp;
2208 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2209 fra.me.file = LOCATE_standard___collection___abstract_collection;
2210 fra.me.line = 521;
2211 fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMapIterator___item;
2212 fra.me.has_broke = 0;
2213 fra.me.REG_size = 1;
2214 fra.me.nitni_local_ref_head = NULL;
2215 fra.me.REG[0] = NIT_NULL;
2216 fra.me.REG[0] = p0;
2217 /* ../lib/standard/collection/abstract_collection.nit:521 */
2218 REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0])!=NIT_NULL);
2219 if (UNTAG_Bool(REGB0)) {
2220 } else {
2221 nit_abort("Uninitialized attribute %s", "_iter", LOCATE_standard___collection___abstract_collection, 521);
2222 }
2223 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0]);
2224 fra.me.REG[0] = CALL_standard___collection___abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
2225 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
2226 if (UNTAG_Bool(REGB0)) {
2227 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___abstract_collection, 521);
2228 }
2229 fra.me.REG[0] = CALL_standard___collection___abstract_collection___Couple___second(fra.me.REG[0])(fra.me.REG[0]);
2230 goto label1;
2231 label1: while(0);
2232 stack_frame_head = fra.me.prev;
2233 return fra.me.REG[0];
2234 }
2235 static const char LOCATE_standard___collection___abstract_collection___CoupleMapIterator___key[] = "abstract_collection::CoupleMapIterator::(abstract_collection::MapIterator::key)";
2236 val_t standard___collection___abstract_collection___CoupleMapIterator___key(val_t p0){
2237 struct {struct stack_frame_t me;} fra;
2238 val_t REGB0;
2239 val_t tmp;
2240 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2241 fra.me.file = LOCATE_standard___collection___abstract_collection;
2242 fra.me.line = 525;
2243 fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMapIterator___key;
2244 fra.me.has_broke = 0;
2245 fra.me.REG_size = 1;
2246 fra.me.nitni_local_ref_head = NULL;
2247 fra.me.REG[0] = NIT_NULL;
2248 fra.me.REG[0] = p0;
2249 /* ../lib/standard/collection/abstract_collection.nit:525 */
2250 REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0])!=NIT_NULL);
2251 if (UNTAG_Bool(REGB0)) {
2252 } else {
2253 nit_abort("Uninitialized attribute %s", "_iter", LOCATE_standard___collection___abstract_collection, 525);
2254 }
2255 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0]);
2256 fra.me.REG[0] = CALL_standard___collection___abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
2257 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
2258 if (UNTAG_Bool(REGB0)) {
2259 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___abstract_collection, 525);
2260 }
2261 fra.me.REG[0] = CALL_standard___collection___abstract_collection___Couple___first(fra.me.REG[0])(fra.me.REG[0]);
2262 goto label1;
2263 label1: while(0);
2264 stack_frame_head = fra.me.prev;
2265 return fra.me.REG[0];
2266 }
2267 static const char LOCATE_standard___collection___abstract_collection___CoupleMapIterator___is_ok[] = "abstract_collection::CoupleMapIterator::(abstract_collection::MapIterator::is_ok)";
2268 val_t standard___collection___abstract_collection___CoupleMapIterator___is_ok(val_t p0){
2269 struct {struct stack_frame_t me;} fra;
2270 val_t REGB0;
2271 val_t tmp;
2272 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2273 fra.me.file = LOCATE_standard___collection___abstract_collection;
2274 fra.me.line = 527;
2275 fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMapIterator___is_ok;
2276 fra.me.has_broke = 0;
2277 fra.me.REG_size = 1;
2278 fra.me.nitni_local_ref_head = NULL;
2279 fra.me.REG[0] = NIT_NULL;
2280 fra.me.REG[0] = p0;
2281 /* ../lib/standard/collection/abstract_collection.nit:527 */
2282 REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0])!=NIT_NULL);
2283 if (UNTAG_Bool(REGB0)) {
2284 } else {
2285 nit_abort("Uninitialized attribute %s", "_iter", LOCATE_standard___collection___abstract_collection, 527);
2286 }
2287 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0]);
2288 REGB0 = CALL_standard___collection___abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
2289 goto label1;
2290 label1: while(0);
2291 stack_frame_head = fra.me.prev;
2292 return REGB0;
2293 }
2294 static const char LOCATE_standard___collection___abstract_collection___CoupleMapIterator___next[] = "abstract_collection::CoupleMapIterator::(abstract_collection::MapIterator::next)";
2295 void standard___collection___abstract_collection___CoupleMapIterator___next(val_t p0){
2296 struct {struct stack_frame_t me;} fra;
2297 val_t REGB0;
2298 val_t tmp;
2299 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2300 fra.me.file = LOCATE_standard___collection___abstract_collection;
2301 fra.me.line = 529;
2302 fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMapIterator___next;
2303 fra.me.has_broke = 0;
2304 fra.me.REG_size = 1;
2305 fra.me.nitni_local_ref_head = NULL;
2306 fra.me.REG[0] = NIT_NULL;
2307 fra.me.REG[0] = p0;
2308 /* ../lib/standard/collection/abstract_collection.nit:531 */
2309 REGB0 = TAG_Bool(ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0])!=NIT_NULL);
2310 if (UNTAG_Bool(REGB0)) {
2311 } else {
2312 nit_abort("Uninitialized attribute %s", "_iter", LOCATE_standard___collection___abstract_collection, 531);
2313 }
2314 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0]);
2315 CALL_standard___collection___abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
2316 stack_frame_head = fra.me.prev;
2317 return;
2318 }
2319 static const char LOCATE_standard___collection___abstract_collection___CoupleMapIterator___init[] = "abstract_collection::CoupleMapIterator::init";
2320 void standard___collection___abstract_collection___CoupleMapIterator___init(val_t p0, val_t p1, int* init_table){
2321 int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___collection___abstract_collection___CoupleMapIterator].i;
2322 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2323 val_t tmp;
2324 if (init_table[itpos4]) return;
2325 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2326 fra.me.file = LOCATE_standard___collection___abstract_collection;
2327 fra.me.line = 536;
2328 fra.me.meth = LOCATE_standard___collection___abstract_collection___CoupleMapIterator___init;
2329 fra.me.has_broke = 0;
2330 fra.me.REG_size = 2;
2331 fra.me.nitni_local_ref_head = NULL;
2332 fra.me.REG[0] = NIT_NULL;
2333 fra.me.REG[1] = NIT_NULL;
2334 fra.me.REG[0] = p0;
2335 fra.me.REG[1] = p1;
2336 /* ../lib/standard/collection/abstract_collection.nit:536 */
2337 ATTR_standard___collection___abstract_collection___CoupleMapIterator____iter(fra.me.REG[0]) = fra.me.REG[1];
2338 stack_frame_head = fra.me.prev;
2339 init_table[itpos4] = 1;
2340 return;
2341 }
2342 static const char LOCATE_standard___collection___abstract_collection___Couple___first[] = "abstract_collection::Couple::first";
2343 val_t standard___collection___abstract_collection___Couple___first(val_t p0){
2344 struct {struct stack_frame_t me;} fra;
2345 val_t tmp;
2346 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2347 fra.me.file = LOCATE_standard___collection___abstract_collection;
2348 fra.me.line = 544;
2349 fra.me.meth = LOCATE_standard___collection___abstract_collection___Couple___first;
2350 fra.me.has_broke = 0;
2351 fra.me.REG_size = 1;
2352 fra.me.nitni_local_ref_head = NULL;
2353 fra.me.REG[0] = NIT_NULL;
2354 fra.me.REG[0] = p0;
2355 /* ../lib/standard/collection/abstract_collection.nit:544 */
2356 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___Couple____first(fra.me.REG[0]);
2357 stack_frame_head = fra.me.prev;
2358 return fra.me.REG[0];
2359 }
2360 static const char LOCATE_standard___collection___abstract_collection___Couple___first__eq[] = "abstract_collection::Couple::first=";
2361 void standard___collection___abstract_collection___Couple___first__eq(val_t p0, val_t p1){
2362 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2363 val_t tmp;
2364 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2365 fra.me.file = LOCATE_standard___collection___abstract_collection;
2366 fra.me.line = 544;
2367 fra.me.meth = LOCATE_standard___collection___abstract_collection___Couple___first__eq;
2368 fra.me.has_broke = 0;
2369 fra.me.REG_size = 2;
2370 fra.me.nitni_local_ref_head = NULL;
2371 fra.me.REG[0] = NIT_NULL;
2372 fra.me.REG[1] = NIT_NULL;
2373 fra.me.REG[0] = p0;
2374 fra.me.REG[1] = p1;
2375 /* ../lib/standard/collection/abstract_collection.nit:544 */
2376 ATTR_standard___collection___abstract_collection___Couple____first(fra.me.REG[0]) = fra.me.REG[1];
2377 stack_frame_head = fra.me.prev;
2378 return;
2379 }
2380 static const char LOCATE_standard___collection___abstract_collection___Couple___second[] = "abstract_collection::Couple::second";
2381 val_t standard___collection___abstract_collection___Couple___second(val_t p0){
2382 struct {struct stack_frame_t me;} fra;
2383 val_t tmp;
2384 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2385 fra.me.file = LOCATE_standard___collection___abstract_collection;
2386 fra.me.line = 547;
2387 fra.me.meth = LOCATE_standard___collection___abstract_collection___Couple___second;
2388 fra.me.has_broke = 0;
2389 fra.me.REG_size = 1;
2390 fra.me.nitni_local_ref_head = NULL;
2391 fra.me.REG[0] = NIT_NULL;
2392 fra.me.REG[0] = p0;
2393 /* ../lib/standard/collection/abstract_collection.nit:547 */
2394 fra.me.REG[0] = ATTR_standard___collection___abstract_collection___Couple____second(fra.me.REG[0]);
2395 stack_frame_head = fra.me.prev;
2396 return fra.me.REG[0];
2397 }
2398 static const char LOCATE_standard___collection___abstract_collection___Couple___second__eq[] = "abstract_collection::Couple::second=";
2399 void standard___collection___abstract_collection___Couple___second__eq(val_t p0, val_t p1){
2400 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2401 val_t tmp;
2402 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2403 fra.me.file = LOCATE_standard___collection___abstract_collection;
2404 fra.me.line = 547;
2405 fra.me.meth = LOCATE_standard___collection___abstract_collection___Couple___second__eq;
2406 fra.me.has_broke = 0;
2407 fra.me.REG_size = 2;
2408 fra.me.nitni_local_ref_head = NULL;
2409 fra.me.REG[0] = NIT_NULL;
2410 fra.me.REG[1] = NIT_NULL;
2411 fra.me.REG[0] = p0;
2412 fra.me.REG[1] = p1;
2413 /* ../lib/standard/collection/abstract_collection.nit:547 */
2414 ATTR_standard___collection___abstract_collection___Couple____second(fra.me.REG[0]) = fra.me.REG[1];
2415 stack_frame_head = fra.me.prev;
2416 return;
2417 }
2418 static const char LOCATE_standard___collection___abstract_collection___Couple___init[] = "abstract_collection::Couple::init";
2419 void standard___collection___abstract_collection___Couple___init(val_t p0, val_t p1, val_t p2, int* init_table){
2420 int itpos5 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___collection___abstract_collection___Couple].i;
2421 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2422 val_t tmp;
2423 if (init_table[itpos5]) return;
2424 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2425 fra.me.file = LOCATE_standard___collection___abstract_collection;
2426 fra.me.line = 550;
2427 fra.me.meth = LOCATE_standard___collection___abstract_collection___Couple___init;
2428 fra.me.has_broke = 0;
2429 fra.me.REG_size = 3;
2430 fra.me.nitni_local_ref_head = NULL;
2431 fra.me.REG[0] = NIT_NULL;
2432 fra.me.REG[1] = NIT_NULL;
2433 fra.me.REG[2] = NIT_NULL;
2434 fra.me.REG[0] = p0;
2435 fra.me.REG[1] = p1;
2436 fra.me.REG[2] = p2;
2437 /* ../lib/standard/collection/abstract_collection.nit:553 */
2438 ATTR_standard___collection___abstract_collection___Couple____first(fra.me.REG[0]) = fra.me.REG[1];
2439 /* ../lib/standard/collection/abstract_collection.nit:554 */
2440 ATTR_standard___collection___abstract_collection___Couple____second(fra.me.REG[0]) = fra.me.REG[2];
2441 stack_frame_head = fra.me.prev;
2442 init_table[itpos5] = 1;
2443 return;
2444 }