1 /* This C file is generated by NIT to compile module hash_collection. */
2 #include "hash_collection._sep.h"
3 val_t
hash_collection___HashCollection___length(val_t p0
){
4 struct {struct stack_frame_t me
;} fra
;
7 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8 fra
.me
.file
= LOCATE_hash_collection
;
10 fra
.me
.meth
= LOCATE_hash_collection___HashCollection___length
;
13 fra
.me
.REG
[0] = NIT_NULL
;
15 REGB0
= TAG_Bool(ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
16 /* ./../lib/standard//collection//hash_collection.nit:25 */
17 if (UNTAG_Bool(REGB0
)) {
19 fprintf(stderr
, "Uninitialized attribute %s", "_length");
20 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 25);
23 REGB0
= ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[0]);
24 stack_frame_head
= fra
.me
.prev
;
27 val_t
hash_collection___HashCollection___first_item(val_t p0
){
28 struct {struct stack_frame_t me
;} fra
;
30 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
31 fra
.me
.file
= LOCATE_hash_collection
;
33 fra
.me
.meth
= LOCATE_hash_collection___HashCollection___first_item
;
36 fra
.me
.REG
[0] = NIT_NULL
;
38 fra
.me
.REG
[0] = ATTR_hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
39 /* ./../lib/standard//collection//hash_collection.nit:27 */
40 stack_frame_head
= fra
.me
.prev
;
43 val_t
hash_collection___HashCollection___index_at(val_t p0
, val_t p1
){
44 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
52 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
53 fra
.me
.file
= LOCATE_hash_collection
;
55 fra
.me
.meth
= LOCATE_hash_collection___HashCollection___index_at
;
58 fra
.me
.REG
[0] = NIT_NULL
;
59 fra
.me
.REG
[1] = NIT_NULL
;
60 fra
.me
.REG
[2] = NIT_NULL
;
61 fra
.me
.REG
[3] = NIT_NULL
;
64 fra
.me
.REG
[2] = ATTR_hash_collection___HashCollection____array(fra
.me
.REG
[0]);
65 fra
.me
.REG
[3] = ATTR_hash_collection___HashCollection____last_accessed_key(fra
.me
.REG
[0]);
66 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[1],fra
.me
.REG
[3]));
67 /* ./../lib/standard//collection//hash_collection.nit:42 */
68 if (UNTAG_Bool(REGB0
)) {
70 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
73 if (UNTAG_Bool(REGB0
)) {
74 REGB0
= TAG_Bool(ATTR_hash_collection___HashCollection____last_accessed_index(fra
.me
.REG
[0])!=NIT_NULL
);
75 if (UNTAG_Bool(REGB0
)) {
77 fprintf(stderr
, "Uninitialized attribute %s", "_last_accessed_index");
78 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 42);
81 REGB0
= ATTR_hash_collection___HashCollection____last_accessed_index(fra
.me
.REG
[0]);
84 REGB1
= CALL_hash___Object___hash(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
85 REGB2
= TAG_Bool(ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
86 /* ./../lib/standard//collection//hash_collection.nit:45 */
87 if (UNTAG_Bool(REGB2
)) {
89 fprintf(stderr
, "Uninitialized attribute %s", "_capacity");
90 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 45);
93 REGB2
= ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
94 REGB2
= TAG_Int(UNTAG_Int(REGB1
)%UNTAG_Int(REGB2
));
96 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB1
));
97 /* ./../lib/standard//collection//hash_collection.nit:46 */
98 if (UNTAG_Bool(REGB1
)) {
99 REGB1
= TAG_Int(-UNTAG_Int(REGB2
));
101 /* ./../lib/standard//collection//hash_collection.nit:46 */
104 /* ./../lib/standard//collection//hash_collection.nit:50 */
106 REGB3
= TAG_Bool(true);
107 if (UNTAG_Bool(REGB3
)) {
108 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
109 /* ./../lib/standard//collection//hash_collection.nit:51 */
110 if (UNTAG_Bool(REGB3
)) {
111 fprintf(stderr
, "Reciever is null");
112 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 51);
115 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
116 REGB3
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
117 /* ./../lib/standard//collection//hash_collection.nit:52 */
118 if (UNTAG_Bool(REGB3
)) {
120 REGB4
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
121 if (UNTAG_Bool(REGB4
)) {
122 REGB4
= TAG_Bool(false);
125 REGB4
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
129 if (UNTAG_Bool(REGB3
)) {
130 REGB3
= TAG_Bool(true);
132 REGB4
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
133 if (UNTAG_Bool(REGB4
)) {
134 fprintf(stderr
, "Reciever is null");
135 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 52);
138 fra
.me
.REG
[3] = CALL_hash_collection___HashNode___key(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
139 REGB4
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[1],fra
.me
.REG
[3]));
140 if (UNTAG_Bool(REGB4
)) {
142 REGB5
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
143 if (UNTAG_Bool(REGB5
)) {
144 REGB5
= TAG_Bool(false);
147 REGB5
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
153 if (UNTAG_Bool(REGB3
)) {
154 /* ./../lib/standard//collection//hash_collection.nit:53 */
155 ATTR_hash_collection___HashCollection____last_accessed_index(fra
.me
.REG
[0]) = REGB1
;
156 /* ./../lib/standard//collection//hash_collection.nit:54 */
157 ATTR_hash_collection___HashCollection____last_accessed_key(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
159 /* ./../lib/standard//collection//hash_collection.nit:55 */
163 REGB3
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB3
));
166 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB3
));
167 /* ./../lib/standard//collection//hash_collection.nit:58 */
168 if (UNTAG_Bool(REGB3
)) {
169 REGB3
= TAG_Bool(ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
170 if (UNTAG_Bool(REGB3
)) {
172 fprintf(stderr
, "Uninitialized attribute %s", "_capacity");
173 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 58);
176 REGB3
= ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
178 REGB4
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB4
));
180 /* ./../lib/standard//collection//hash_collection.nit:58 */
182 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
183 /* ./../lib/standard//collection//hash_collection.nit:59 */
184 if (UNTAG_Bool(REGB4
)) {
186 REGB3
= TAG_Bool((REGB1
)==(REGB2
));
188 /* ./../lib/standard//collection//hash_collection.nit:59 */
190 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
191 if (UNTAG_Bool(REGB4
)) {
193 fprintf(stderr
, "Assert %s failed", "'no_loop'");
194 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 59);
198 /* ./../lib/standard//collection//hash_collection.nit:50 */
203 /* ./../lib/standard//collection//hash_collection.nit:61 */
204 fprintf(stderr
, "Aborted");
205 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 61);
208 stack_frame_head
= fra
.me
.prev
;
211 void hash_collection___HashCollection___store(val_t p0
, val_t p1
, val_t p2
){
212 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
217 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
218 fra
.me
.file
= LOCATE_hash_collection
;
220 fra
.me
.meth
= LOCATE_hash_collection___HashCollection___store
;
221 fra
.me
.has_broke
= 0;
223 fra
.me
.REG
[0] = NIT_NULL
;
224 fra
.me
.REG
[1] = NIT_NULL
;
225 fra
.me
.REG
[2] = NIT_NULL
;
229 fra
.me
.REG
[2] = ATTR_hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
230 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
231 /* ./../lib/standard//collection//hash_collection.nit:68 */
232 if (UNTAG_Bool(REGB1
)) {
234 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
235 if (UNTAG_Bool(REGB2
)) {
236 REGB2
= TAG_Bool(false);
239 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
243 if (UNTAG_Bool(REGB1
)) {
244 /* ./../lib/standard//collection//hash_collection.nit:69 */
245 ATTR_hash_collection___HashCollection____first_item(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
247 fra
.me
.REG
[2] = ATTR_hash_collection___HashCollection____last_item(fra
.me
.REG
[0]);
248 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
249 /* ./../lib/standard//collection//hash_collection.nit:71 */
250 if (UNTAG_Bool(REGB1
)) {
251 fprintf(stderr
, "Reciever is null");
252 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 71);
255 CALL_hash_collection___HashNode___next_item__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
257 fra
.me
.REG
[2] = ATTR_hash_collection___HashCollection____last_item(fra
.me
.REG
[0]);
258 /* ./../lib/standard//collection//hash_collection.nit:73 */
259 CALL_hash_collection___HashNode___prev_item__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
260 /* ./../lib/standard//collection//hash_collection.nit:74 */
261 CALL_hash_collection___HashNode___next_item__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
262 /* ./../lib/standard//collection//hash_collection.nit:75 */
263 ATTR_hash_collection___HashCollection____last_item(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
264 fra
.me
.REG
[2] = ATTR_hash_collection___HashCollection____array(fra
.me
.REG
[0]);
265 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
266 /* ./../lib/standard//collection//hash_collection.nit:77 */
267 if (UNTAG_Bool(REGB1
)) {
268 fprintf(stderr
, "Reciever is null");
269 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 77);
272 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
273 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
274 /* ./../lib/standard//collection//hash_collection.nit:77 */
275 if (UNTAG_Bool(REGB1
)) {
277 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
278 if (UNTAG_Bool(REGB2
)) {
279 REGB2
= TAG_Bool(false);
282 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
286 if (UNTAG_Bool(REGB1
)) {
288 fprintf(stderr
, "Assert failed");
289 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 77);
292 fra
.me
.REG
[2] = ATTR_hash_collection___HashCollection____array(fra
.me
.REG
[0]);
293 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
294 /* ./../lib/standard//collection//hash_collection.nit:78 */
295 if (UNTAG_Bool(REGB1
)) {
296 fprintf(stderr
, "Reciever is null");
297 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 78);
300 /* ./../lib/standard//collection//array.nit:591 */
301 ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)]=fra
.me
.REG
[1];
302 REGB0
= TAG_Bool(ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
303 /* ./../lib/standard//collection//hash_collection.nit:79 */
304 if (UNTAG_Bool(REGB0
)) {
306 fprintf(stderr
, "Uninitialized attribute %s", "_length");
307 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 79);
310 REGB0
= ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[0]);
312 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
313 /* ./../lib/standard//collection//hash_collection.nit:80 */
314 ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[0]) = REGB1
;
316 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
317 REGB2
= TAG_Int(150);
318 REGB2
= TAG_Int(UNTAG_Int(REGB1
)*UNTAG_Int(REGB2
));
319 REGB1
= TAG_Int(100);
320 REGB1
= TAG_Int(UNTAG_Int(REGB2
)/UNTAG_Int(REGB1
));
322 REGB1
= TAG_Bool(ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
323 /* ./../lib/standard//collection//hash_collection.nit:82 */
324 if (UNTAG_Bool(REGB1
)) {
326 fprintf(stderr
, "Uninitialized attribute %s", "_capacity");
327 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 82);
330 REGB1
= ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
331 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
332 /* ./../lib/standard//collection//hash_collection.nit:82 */
333 if (UNTAG_Bool(REGB1
)) {
335 REGB1
= TAG_Int(UNTAG_Int(REGB0
)*UNTAG_Int(REGB1
));
336 /* ./../lib/standard//collection//hash_collection.nit:83 */
337 CALL_hash_collection___HashCollection___enlarge(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
339 stack_frame_head
= fra
.me
.prev
;
342 void hash_collection___HashCollection___remove_index(val_t p0
, val_t p1
){
343 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
349 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
350 fra
.me
.file
= LOCATE_hash_collection
;
352 fra
.me
.meth
= LOCATE_hash_collection___HashCollection___remove_index
;
353 fra
.me
.has_broke
= 0;
355 fra
.me
.REG
[0] = NIT_NULL
;
356 fra
.me
.REG
[1] = NIT_NULL
;
357 fra
.me
.REG
[2] = NIT_NULL
;
361 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
362 /* ./../lib/standard//collection//hash_collection.nit:89 */
363 if (UNTAG_Bool(REGB1
)) {
364 REGB1
= TAG_Bool(ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
365 if (UNTAG_Bool(REGB1
)) {
367 fprintf(stderr
, "Uninitialized attribute %s", "_capacity");
368 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 89);
371 REGB1
= ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
372 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
373 /* ./../lib/standard//collection//hash_collection.nit:89 */
375 REGB2
= TAG_Bool(false);
378 if (UNTAG_Bool(REGB1
)) {
380 fprintf(stderr
, "Assert %s failed", "'correct_index'");
381 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 89);
384 fra
.me
.REG
[1] = ATTR_hash_collection___HashCollection____array(fra
.me
.REG
[0]);
385 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
386 /* ./../lib/standard//collection//hash_collection.nit:90 */
387 if (UNTAG_Bool(REGB1
)) {
388 fprintf(stderr
, "Reciever is null");
389 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 90);
392 fra
.me
.REG
[1] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB0
)];
393 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
394 /* ./../lib/standard//collection//hash_collection.nit:91 */
395 if (UNTAG_Bool(REGB1
)) {
397 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
398 if (UNTAG_Bool(REGB2
)) {
399 REGB2
= TAG_Bool(false);
402 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
406 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
407 if (UNTAG_Bool(REGB1
)) {
409 fprintf(stderr
, "Assert %s failed", "'has_couple'");
410 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 91);
413 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
414 /* ./../lib/standard//collection//hash_collection.nit:93 */
415 if (UNTAG_Bool(REGB1
)) {
416 fprintf(stderr
, "Reciever is null");
417 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 93);
420 fra
.me
.REG
[2] = CALL_hash_collection___HashNode___prev_item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
421 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
422 /* ./../lib/standard//collection//hash_collection.nit:94 */
423 if (UNTAG_Bool(REGB1
)) {
424 fprintf(stderr
, "Reciever is null");
425 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 94);
428 fra
.me
.REG
[1] = CALL_hash_collection___HashNode___next_item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
429 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
430 /* ./../lib/standard//collection//hash_collection.nit:95 */
431 if (UNTAG_Bool(REGB1
)) {
433 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
434 if (UNTAG_Bool(REGB2
)) {
435 REGB2
= TAG_Bool(false);
438 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
442 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
443 if (UNTAG_Bool(REGB1
)) {
444 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
445 /* ./../lib/standard//collection//hash_collection.nit:96 */
446 if (UNTAG_Bool(REGB1
)) {
447 fprintf(stderr
, "Reciever is null");
448 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 96);
451 CALL_hash_collection___HashNode___next_item__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
453 /* ./../lib/standard//collection//hash_collection.nit:98 */
454 ATTR_hash_collection___HashCollection____first_item(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
456 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
457 /* ./../lib/standard//collection//hash_collection.nit:100 */
458 if (UNTAG_Bool(REGB1
)) {
460 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
461 if (UNTAG_Bool(REGB2
)) {
462 REGB2
= TAG_Bool(false);
465 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
469 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
470 if (UNTAG_Bool(REGB1
)) {
471 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
472 /* ./../lib/standard//collection//hash_collection.nit:101 */
473 if (UNTAG_Bool(REGB1
)) {
474 fprintf(stderr
, "Reciever is null");
475 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 101);
478 CALL_hash_collection___HashNode___prev_item__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
480 /* ./../lib/standard//collection//hash_collection.nit:103 */
481 ATTR_hash_collection___HashCollection____last_item(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
483 fra
.me
.REG
[2] = ATTR_hash_collection___HashCollection____array(fra
.me
.REG
[0]);
484 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
485 /* ./../lib/standard//collection//hash_collection.nit:106 */
486 if (UNTAG_Bool(REGB1
)) {
487 fprintf(stderr
, "Reciever is null");
488 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 106);
491 /* ./../lib/standard//collection//array.nit:591 */
492 ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)]=NIT_NULL
;
493 REGB1
= ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[0]);
495 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
496 /* ./../lib/standard//collection//hash_collection.nit:107 */
497 ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[0]) = REGB2
;
498 /* ./../lib/standard//collection//hash_collection.nit:109 */
500 REGB2
= TAG_Bool(true);
501 if (UNTAG_Bool(REGB2
)) {
503 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
506 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
507 /* ./../lib/standard//collection//hash_collection.nit:111 */
508 if (UNTAG_Bool(REGB2
)) {
509 REGB2
= TAG_Bool(ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
510 /* ./../lib/standard//collection//hash_collection.nit:112 */
511 if (UNTAG_Bool(REGB2
)) {
513 fprintf(stderr
, "Uninitialized attribute %s", "_capacity");
514 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 112);
517 REGB2
= ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
519 REGB1
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB1
));
521 /* ./../lib/standard//collection//hash_collection.nit:112 */
523 fra
.me
.REG
[2] = ATTR_hash_collection___HashCollection____array(fra
.me
.REG
[0]);
524 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
525 /* ./../lib/standard//collection//hash_collection.nit:114 */
526 if (UNTAG_Bool(REGB1
)) {
527 fprintf(stderr
, "Reciever is null");
528 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 114);
531 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
532 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
533 /* ./../lib/standard//collection//hash_collection.nit:115 */
534 if (UNTAG_Bool(REGB1
)) {
536 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
537 if (UNTAG_Bool(REGB2
)) {
538 REGB2
= TAG_Bool(false);
541 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
545 if (UNTAG_Bool(REGB1
)) {
546 /* ./../lib/standard//collection//hash_collection.nit:116 */
549 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
550 /* ./../lib/standard//collection//hash_collection.nit:118 */
551 if (UNTAG_Bool(REGB1
)) {
552 fprintf(stderr
, "Reciever is null");
553 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 118);
556 fra
.me
.REG
[1] = CALL_hash_collection___HashNode___key(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
557 REGB1
= CALL_hash_collection___HashCollection___index_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
558 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
559 /* ./../lib/standard//collection//hash_collection.nit:119 */
560 if (UNTAG_Bool(REGB2
)) {
562 REGB3
= TAG_Bool((REGB0
)==(REGB1
));
564 /* ./../lib/standard//collection//hash_collection.nit:119 */
566 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
567 if (UNTAG_Bool(REGB2
)) {
568 fra
.me
.REG
[1] = ATTR_hash_collection___HashCollection____array(fra
.me
.REG
[0]);
569 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
570 /* ./../lib/standard//collection//hash_collection.nit:120 */
571 if (UNTAG_Bool(REGB2
)) {
572 fprintf(stderr
, "Reciever is null");
573 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 120);
576 /* ./../lib/standard//collection//array.nit:591 */
577 ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB0
)]=NIT_NULL
;
578 fra
.me
.REG
[1] = ATTR_hash_collection___HashCollection____array(fra
.me
.REG
[0]);
579 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
580 /* ./../lib/standard//collection//hash_collection.nit:121 */
581 if (UNTAG_Bool(REGB2
)) {
582 fprintf(stderr
, "Reciever is null");
583 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 121);
586 fra
.me
.REG
[1] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB1
)];
587 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
588 /* ./../lib/standard//collection//hash_collection.nit:121 */
589 if (UNTAG_Bool(REGB2
)) {
591 REGB3
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
592 if (UNTAG_Bool(REGB3
)) {
593 REGB3
= TAG_Bool(false);
596 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
600 if (UNTAG_Bool(REGB2
)) {
602 fprintf(stderr
, "Assert failed");
603 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 121);
606 fra
.me
.REG
[1] = ATTR_hash_collection___HashCollection____array(fra
.me
.REG
[0]);
607 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
608 /* ./../lib/standard//collection//hash_collection.nit:122 */
609 if (UNTAG_Bool(REGB2
)) {
610 fprintf(stderr
, "Reciever is null");
611 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 122);
614 /* ./../lib/standard//collection//array.nit:591 */
615 ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB1
)]=fra
.me
.REG
[2];
618 /* ./../lib/standard//collection//hash_collection.nit:109 */
624 stack_frame_head
= fra
.me
.prev
;
627 void hash_collection___HashCollection___raz(val_t p0
){
628 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
632 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
633 fra
.me
.file
= LOCATE_hash_collection
;
635 fra
.me
.meth
= LOCATE_hash_collection___HashCollection___raz
;
636 fra
.me
.has_broke
= 0;
638 fra
.me
.REG
[0] = NIT_NULL
;
639 fra
.me
.REG
[1] = NIT_NULL
;
641 REGB0
= TAG_Bool(ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
642 /* ./../lib/standard//collection//hash_collection.nit:129 */
643 if (UNTAG_Bool(REGB0
)) {
645 fprintf(stderr
, "Uninitialized attribute %s", "_capacity");
646 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 129);
649 REGB0
= ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
651 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
652 /* ./../lib/standard//collection//hash_collection.nit:130 */
655 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
656 /* ./../lib/standard//collection//hash_collection.nit:130 */
657 if (UNTAG_Bool(REGB0
)) {
658 fra
.me
.REG
[1] = ATTR_hash_collection___HashCollection____array(fra
.me
.REG
[0]);
659 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
660 /* ./../lib/standard//collection//hash_collection.nit:131 */
661 if (UNTAG_Bool(REGB0
)) {
662 fprintf(stderr
, "Reciever is null");
663 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 131);
666 /* ./../lib/standard//collection//array.nit:591 */
667 ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB1
)]=NIT_NULL
;
669 REGB0
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
671 /* ./../lib/standard//collection//hash_collection.nit:132 */
673 /* ./../lib/standard//collection//hash_collection.nit:130 */
679 /* ./../lib/standard//collection//hash_collection.nit:134 */
680 ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[0]) = REGB1
;
681 /* ./../lib/standard//collection//hash_collection.nit:135 */
682 ATTR_hash_collection___HashCollection____first_item(fra
.me
.REG
[0]) = NIT_NULL
;
683 /* ./../lib/standard//collection//hash_collection.nit:136 */
684 ATTR_hash_collection___HashCollection____last_item(fra
.me
.REG
[0]) = NIT_NULL
;
685 /* ./../lib/standard//collection//hash_collection.nit:137 */
686 ATTR_hash_collection___HashCollection____last_accessed_key(fra
.me
.REG
[0]) = NIT_NULL
;
687 stack_frame_head
= fra
.me
.prev
;
690 void hash_collection___HashCollection___enlarge(val_t p0
, val_t p1
){
691 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
697 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
698 fra
.me
.file
= LOCATE_hash_collection
;
700 fra
.me
.meth
= LOCATE_hash_collection___HashCollection___enlarge
;
701 fra
.me
.has_broke
= 0;
703 fra
.me
.REG
[0] = NIT_NULL
;
704 fra
.me
.REG
[1] = NIT_NULL
;
705 fra
.me
.REG
[2] = NIT_NULL
;
706 fra
.me
.REG
[3] = NIT_NULL
;
709 REGB1
= TAG_Bool(ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
710 /* ./../lib/standard//collection//hash_collection.nit:142 */
711 if (UNTAG_Bool(REGB1
)) {
713 fprintf(stderr
, "Uninitialized attribute %s", "_capacity");
714 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 142);
717 REGB1
= ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
718 REGB2
= TAG_Bool(ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
719 /* ./../lib/standard//collection//hash_collection.nit:145 */
720 if (UNTAG_Bool(REGB2
)) {
722 fprintf(stderr
, "Uninitialized attribute %s", "_length");
723 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 145);
726 REGB2
= ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[0]);
728 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
729 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB3
));
730 /* ./../lib/standard//collection//hash_collection.nit:145 */
731 if (UNTAG_Bool(REGB3
)) {
732 REGB3
= TAG_Bool(ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
733 if (UNTAG_Bool(REGB3
)) {
735 fprintf(stderr
, "Uninitialized attribute %s", "_length");
736 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 145);
739 REGB3
= ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[0]);
741 REGB2
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB2
));
743 /* ./../lib/standard//collection//hash_collection.nit:145 */
745 REGB2
= TAG_Bool(ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
746 /* ./../lib/standard//collection//hash_collection.nit:146 */
747 if (UNTAG_Bool(REGB2
)) {
749 fprintf(stderr
, "Uninitialized attribute %s", "_capacity");
750 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 146);
753 REGB2
= ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
754 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB2
));
755 /* ./../lib/standard//collection//hash_collection.nit:146 */
756 if (UNTAG_Bool(REGB2
)) {
759 /* ./../lib/standard//collection//hash_collection.nit:147 */
760 ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0]) = REGB0
;
761 /* ./../lib/standard//collection//hash_collection.nit:148 */
762 ATTR_hash_collection___HashCollection____last_accessed_key(fra
.me
.REG
[0]) = NIT_NULL
;
763 fra
.me
.REG
[1] = NEW_NativeArray(UNTAG_Int(REGB0
), sizeof(val_t
));
764 /* ./../lib/standard//collection//hash_collection.nit:152 */
765 ATTR_hash_collection___HashCollection____array(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
767 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
768 /* ./../lib/standard//collection//hash_collection.nit:156 */
771 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB0
));
772 /* ./../lib/standard//collection//hash_collection.nit:156 */
773 if (UNTAG_Bool(REGB0
)) {
774 /* ./../lib/standard//collection//array.nit:591 */
775 ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB2
)]=NIT_NULL
;
777 REGB0
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB0
));
779 /* ./../lib/standard//collection//hash_collection.nit:158 */
781 /* ./../lib/standard//collection//hash_collection.nit:156 */
786 REGB2
= TAG_Bool(ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
787 /* ./../lib/standard//collection//hash_collection.nit:161 */
788 if (UNTAG_Bool(REGB2
)) {
790 fprintf(stderr
, "Uninitialized attribute %s", "_capacity");
791 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 161);
794 REGB2
= ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
795 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)<=UNTAG_Int(REGB1
));
796 /* ./../lib/standard//collection//hash_collection.nit:161 */
797 if (UNTAG_Bool(REGB1
)) {
800 fra
.me
.REG
[2] = ATTR_hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
801 /* ./../lib/standard//collection//hash_collection.nit:165 */
803 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
804 if (UNTAG_Bool(REGB1
)) {
806 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
807 if (UNTAG_Bool(REGB2
)) {
808 REGB2
= TAG_Bool(false);
811 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
815 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
816 if (UNTAG_Bool(REGB1
)) {
817 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
818 /* ./../lib/standard//collection//hash_collection.nit:166 */
819 if (UNTAG_Bool(REGB1
)) {
820 fprintf(stderr
, "Reciever is null");
821 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 166);
824 fra
.me
.REG
[3] = CALL_hash_collection___HashNode___key(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
825 REGB1
= CALL_hash_collection___HashCollection___index_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
826 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB1
)];
827 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
828 /* ./../lib/standard//collection//hash_collection.nit:167 */
829 if (UNTAG_Bool(REGB2
)) {
831 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
832 if (UNTAG_Bool(REGB0
)) {
833 REGB0
= TAG_Bool(false);
836 REGB0
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
840 if (UNTAG_Bool(REGB2
)) {
842 fprintf(stderr
, "Assert failed");
843 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 167);
846 /* ./../lib/standard//collection//array.nit:591 */
847 ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB1
)]=fra
.me
.REG
[2];
848 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
849 /* ./../lib/standard//collection//hash_collection.nit:169 */
850 if (UNTAG_Bool(REGB1
)) {
851 fprintf(stderr
, "Reciever is null");
852 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 169);
855 fra
.me
.REG
[3] = CALL_hash_collection___HashNode___next_item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
856 fra
.me
.REG
[2] = fra
.me
.REG
[3];
858 /* ./../lib/standard//collection//hash_collection.nit:165 */
863 /* ./../lib/standard//collection//hash_collection.nit:171 */
864 ATTR_hash_collection___HashCollection____last_accessed_key(fra
.me
.REG
[0]) = NIT_NULL
;
866 stack_frame_head
= fra
.me
.prev
;
869 void hash_collection___HashCollection___init(val_t p0
, int* init_table
){
870 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_HashCollection
].i
;
871 struct {struct stack_frame_t me
;} fra
;
873 if (init_table
[itpos0
]) return;
874 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
875 fra
.me
.file
= LOCATE_hash_collection
;
877 fra
.me
.meth
= LOCATE_hash_collection___HashCollection___init
;
878 fra
.me
.has_broke
= 0;
880 stack_frame_head
= fra
.me
.prev
;
881 init_table
[itpos0
] = 1;
884 val_t
hash_collection___HashNode___key(val_t p0
){
885 struct {struct stack_frame_t me
;} fra
;
887 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
888 fra
.me
.file
= LOCATE_hash_collection
;
890 fra
.me
.meth
= LOCATE_hash_collection___HashNode___key
;
891 fra
.me
.has_broke
= 0;
893 /* ./../lib/standard//collection//hash_collection.nit:176 */
894 fprintf(stderr
, "Deferred method called");
895 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 176);
897 stack_frame_head
= fra
.me
.prev
;
900 val_t
hash_collection___HashNode___next_item(val_t p0
){
901 struct {struct stack_frame_t me
;} fra
;
903 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
904 fra
.me
.file
= LOCATE_hash_collection
;
906 fra
.me
.meth
= LOCATE_hash_collection___HashNode___next_item
;
907 fra
.me
.has_broke
= 0;
909 fra
.me
.REG
[0] = NIT_NULL
;
911 fra
.me
.REG
[0] = ATTR_hash_collection___HashNode____next_item(fra
.me
.REG
[0]);
912 /* ./../lib/standard//collection//hash_collection.nit:178 */
913 stack_frame_head
= fra
.me
.prev
;
914 return fra
.me
.REG
[0];
916 void hash_collection___HashNode___next_item__eq(val_t p0
, val_t p1
){
917 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
919 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
920 fra
.me
.file
= LOCATE_hash_collection
;
922 fra
.me
.meth
= LOCATE_hash_collection___HashNode___next_item__eq
;
923 fra
.me
.has_broke
= 0;
925 fra
.me
.REG
[0] = NIT_NULL
;
926 fra
.me
.REG
[1] = NIT_NULL
;
929 /* ./../lib/standard//collection//hash_collection.nit:178 */
930 ATTR_hash_collection___HashNode____next_item(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
931 stack_frame_head
= fra
.me
.prev
;
934 val_t
hash_collection___HashNode___prev_item(val_t p0
){
935 struct {struct stack_frame_t me
;} fra
;
937 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
938 fra
.me
.file
= LOCATE_hash_collection
;
940 fra
.me
.meth
= LOCATE_hash_collection___HashNode___prev_item
;
941 fra
.me
.has_broke
= 0;
943 fra
.me
.REG
[0] = NIT_NULL
;
945 fra
.me
.REG
[0] = ATTR_hash_collection___HashNode____prev_item(fra
.me
.REG
[0]);
946 /* ./../lib/standard//collection//hash_collection.nit:179 */
947 stack_frame_head
= fra
.me
.prev
;
948 return fra
.me
.REG
[0];
950 void hash_collection___HashNode___prev_item__eq(val_t p0
, val_t p1
){
951 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
953 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
954 fra
.me
.file
= LOCATE_hash_collection
;
956 fra
.me
.meth
= LOCATE_hash_collection___HashNode___prev_item__eq
;
957 fra
.me
.has_broke
= 0;
959 fra
.me
.REG
[0] = NIT_NULL
;
960 fra
.me
.REG
[1] = NIT_NULL
;
963 /* ./../lib/standard//collection//hash_collection.nit:179 */
964 ATTR_hash_collection___HashNode____prev_item(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
965 stack_frame_head
= fra
.me
.prev
;
968 void hash_collection___HashNode___init(val_t p0
, int* init_table
){
969 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_HashNode
].i
;
970 struct {struct stack_frame_t me
;} fra
;
972 if (init_table
[itpos1
]) return;
973 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
974 fra
.me
.file
= LOCATE_hash_collection
;
976 fra
.me
.meth
= LOCATE_hash_collection___HashNode___init
;
977 fra
.me
.has_broke
= 0;
979 stack_frame_head
= fra
.me
.prev
;
980 init_table
[itpos1
] = 1;
983 val_t
hash_collection___HashMap___iterator(val_t p0
){
984 struct {struct stack_frame_t me
;} fra
;
986 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
987 fra
.me
.file
= LOCATE_hash_collection
;
989 fra
.me
.meth
= LOCATE_hash_collection___HashMap___iterator
;
990 fra
.me
.has_broke
= 0;
992 fra
.me
.REG
[0] = NIT_NULL
;
994 fra
.me
.REG
[0] = NEW_HashMapIterator_hash_collection___HashMapIterator___init(fra
.me
.REG
[0]);
995 /* ./../lib/standard//collection//hash_collection.nit:186 */
998 stack_frame_head
= fra
.me
.prev
;
999 return fra
.me
.REG
[0];
1001 val_t
hash_collection___HashMap___is_empty(val_t p0
){
1002 struct {struct stack_frame_t me
;} fra
;
1007 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1008 fra
.me
.file
= LOCATE_hash_collection
;
1010 fra
.me
.meth
= LOCATE_hash_collection___HashMap___is_empty
;
1011 fra
.me
.has_broke
= 0;
1012 fra
.me
.REG_size
= 1;
1013 fra
.me
.REG
[0] = NIT_NULL
;
1015 REGB0
= TAG_Bool(ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
1016 /* ./../lib/standard//collection//hash_collection.nit:194 */
1017 if (UNTAG_Bool(REGB0
)) {
1019 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1020 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 194);
1023 REGB0
= ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[0]);
1025 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
1026 if (UNTAG_Bool(REGB2
)) {
1028 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
1030 /* ./../lib/standard//collection//hash_collection.nit:194 */
1034 stack_frame_head
= fra
.me
.prev
;
1037 val_t
hash_collection___HashMap___has(val_t p0
, val_t p1
){
1038 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1043 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1044 fra
.me
.file
= LOCATE_hash_collection
;
1046 fra
.me
.meth
= LOCATE_hash_collection___HashMap___has
;
1047 fra
.me
.has_broke
= 0;
1048 fra
.me
.REG_size
= 3;
1049 fra
.me
.REG
[0] = NIT_NULL
;
1050 fra
.me
.REG
[1] = NIT_NULL
;
1051 fra
.me
.REG
[2] = NIT_NULL
;
1055 /* ./../lib/standard//collection//hash_collection.nit:211 */
1057 REGB1
= TAG_Bool(ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
1058 if (UNTAG_Bool(REGB1
)) {
1060 fprintf(stderr
, "Uninitialized attribute %s", "_capacity");
1061 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 211);
1064 REGB1
= ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
1065 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1066 /* ./../lib/standard//collection//hash_collection.nit:211 */
1067 if (UNTAG_Bool(REGB1
)) {
1068 fra
.me
.REG
[2] = ATTR_hash_collection___HashCollection____array(fra
.me
.REG
[0]);
1069 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1070 /* ./../lib/standard//collection//hash_collection.nit:212 */
1071 if (UNTAG_Bool(REGB1
)) {
1072 fprintf(stderr
, "Reciever is null");
1073 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 212);
1076 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1077 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1078 /* ./../lib/standard//collection//hash_collection.nit:213 */
1079 if (UNTAG_Bool(REGB1
)) {
1081 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1082 if (UNTAG_Bool(REGB2
)) {
1083 REGB2
= TAG_Bool(false);
1086 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1090 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1091 if (UNTAG_Bool(REGB1
)) {
1092 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1093 if (UNTAG_Bool(REGB1
)) {
1094 fprintf(stderr
, "Reciever is null");
1095 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 213);
1098 fra
.me
.REG
[2] = CALL_abstract_collection___Couple___second(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1099 REGB1
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1100 if (UNTAG_Bool(REGB1
)) {
1102 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1103 if (UNTAG_Bool(REGB2
)) {
1104 REGB2
= TAG_Bool(false);
1107 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1112 REGB2
= TAG_Bool(false);
1115 if (UNTAG_Bool(REGB1
)) {
1116 REGB1
= TAG_Bool(true);
1120 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1122 /* ./../lib/standard//collection//hash_collection.nit:214 */
1124 /* ./../lib/standard//collection//hash_collection.nit:211 */
1129 REGB0
= TAG_Bool(false);
1131 /* ./../lib/standard//collection//hash_collection.nit:216 */
1134 stack_frame_head
= fra
.me
.prev
;
1137 val_t
hash_collection___HashMap___has_only(val_t p0
, val_t p1
){
1138 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1143 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1144 fra
.me
.file
= LOCATE_hash_collection
;
1146 fra
.me
.meth
= LOCATE_hash_collection___HashMap___has_only
;
1147 fra
.me
.has_broke
= 0;
1148 fra
.me
.REG_size
= 3;
1149 fra
.me
.REG
[0] = NIT_NULL
;
1150 fra
.me
.REG
[1] = NIT_NULL
;
1151 fra
.me
.REG
[2] = NIT_NULL
;
1155 /* ./../lib/standard//collection//hash_collection.nit:222 */
1157 REGB1
= TAG_Bool(ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
1158 if (UNTAG_Bool(REGB1
)) {
1160 fprintf(stderr
, "Uninitialized attribute %s", "_capacity");
1161 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 222);
1164 REGB1
= ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
1165 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1166 /* ./../lib/standard//collection//hash_collection.nit:222 */
1167 if (UNTAG_Bool(REGB1
)) {
1168 fra
.me
.REG
[2] = ATTR_hash_collection___HashCollection____array(fra
.me
.REG
[0]);
1169 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1170 /* ./../lib/standard//collection//hash_collection.nit:223 */
1171 if (UNTAG_Bool(REGB1
)) {
1172 fprintf(stderr
, "Reciever is null");
1173 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 223);
1176 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1177 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1178 /* ./../lib/standard//collection//hash_collection.nit:224 */
1179 if (UNTAG_Bool(REGB1
)) {
1181 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1182 if (UNTAG_Bool(REGB2
)) {
1183 REGB2
= TAG_Bool(false);
1186 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1190 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1191 if (UNTAG_Bool(REGB1
)) {
1192 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1193 if (UNTAG_Bool(REGB1
)) {
1194 fprintf(stderr
, "Reciever is null");
1195 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 224);
1198 fra
.me
.REG
[2] = CALL_abstract_collection___Couple___second(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1199 REGB1
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1200 if (UNTAG_Bool(REGB1
)) {
1202 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1203 if (UNTAG_Bool(REGB2
)) {
1204 REGB2
= TAG_Bool(false);
1207 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1211 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1213 REGB2
= TAG_Bool(false);
1216 if (UNTAG_Bool(REGB1
)) {
1217 REGB1
= TAG_Bool(false);
1221 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1223 /* ./../lib/standard//collection//hash_collection.nit:225 */
1225 /* ./../lib/standard//collection//hash_collection.nit:222 */
1230 REGB0
= TAG_Bool(true);
1232 /* ./../lib/standard//collection//hash_collection.nit:227 */
1235 stack_frame_head
= fra
.me
.prev
;
1238 val_t
hash_collection___HashMap___count(val_t p0
, val_t p1
){
1239 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1245 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1246 fra
.me
.file
= LOCATE_hash_collection
;
1248 fra
.me
.meth
= LOCATE_hash_collection___HashMap___count
;
1249 fra
.me
.has_broke
= 0;
1250 fra
.me
.REG_size
= 3;
1251 fra
.me
.REG
[0] = NIT_NULL
;
1252 fra
.me
.REG
[1] = NIT_NULL
;
1253 fra
.me
.REG
[2] = NIT_NULL
;
1258 /* ./../lib/standard//collection//hash_collection.nit:200 */
1260 REGB2
= TAG_Bool(ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
1261 if (UNTAG_Bool(REGB2
)) {
1263 fprintf(stderr
, "Uninitialized attribute %s", "_capacity");
1264 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 200);
1267 REGB2
= ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
1268 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1269 /* ./../lib/standard//collection//hash_collection.nit:200 */
1270 if (UNTAG_Bool(REGB2
)) {
1271 fra
.me
.REG
[2] = ATTR_hash_collection___HashCollection____array(fra
.me
.REG
[0]);
1272 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1273 /* ./../lib/standard//collection//hash_collection.nit:201 */
1274 if (UNTAG_Bool(REGB2
)) {
1275 fprintf(stderr
, "Reciever is null");
1276 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 201);
1279 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
1280 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1281 /* ./../lib/standard//collection//hash_collection.nit:202 */
1282 if (UNTAG_Bool(REGB2
)) {
1284 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1285 if (UNTAG_Bool(REGB3
)) {
1286 REGB3
= TAG_Bool(false);
1289 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1293 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
1294 if (UNTAG_Bool(REGB2
)) {
1295 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1296 if (UNTAG_Bool(REGB2
)) {
1297 fprintf(stderr
, "Reciever is null");
1298 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 202);
1301 fra
.me
.REG
[2] = CALL_abstract_collection___Couple___second(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1302 REGB2
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1303 if (UNTAG_Bool(REGB2
)) {
1305 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1306 if (UNTAG_Bool(REGB3
)) {
1307 REGB3
= TAG_Bool(false);
1310 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1315 REGB3
= TAG_Bool(false);
1318 if (UNTAG_Bool(REGB2
)) {
1320 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1322 /* ./../lib/standard//collection//hash_collection.nit:202 */
1325 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1327 /* ./../lib/standard//collection//hash_collection.nit:203 */
1329 /* ./../lib/standard//collection//hash_collection.nit:200 */
1334 /* ./../lib/standard//collection//hash_collection.nit:205 */
1337 stack_frame_head
= fra
.me
.prev
;
1340 val_t
hash_collection___HashMap___first(val_t p0
){
1341 struct {struct stack_frame_t me
;} fra
;
1345 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1346 fra
.me
.file
= LOCATE_hash_collection
;
1348 fra
.me
.meth
= LOCATE_hash_collection___HashMap___first
;
1349 fra
.me
.has_broke
= 0;
1350 fra
.me
.REG_size
= 1;
1351 fra
.me
.REG
[0] = NIT_NULL
;
1353 REGB0
= TAG_Bool(ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
1354 /* ./../lib/standard//collection//hash_collection.nit:190 */
1355 if (UNTAG_Bool(REGB0
)) {
1357 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1358 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 190);
1361 REGB0
= ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[0]);
1363 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
1364 /* ./../lib/standard//collection//hash_collection.nit:190 */
1365 if (UNTAG_Bool(REGB1
)) {
1367 fprintf(stderr
, "Assert failed");
1368 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 190);
1371 fra
.me
.REG
[0] = ATTR_hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
1372 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1373 /* ./../lib/standard//collection//hash_collection.nit:191 */
1374 if (UNTAG_Bool(REGB1
)) {
1375 fprintf(stderr
, "Reciever is null");
1376 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 191);
1379 fra
.me
.REG
[0] = CALL_abstract_collection___Couple___second(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1382 stack_frame_head
= fra
.me
.prev
;
1383 return fra
.me
.REG
[0];
1385 void hash_collection___HashMap___clear(val_t p0
){
1386 struct {struct stack_frame_t me
;} fra
;
1388 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1389 fra
.me
.file
= LOCATE_hash_collection
;
1391 fra
.me
.meth
= LOCATE_hash_collection___HashMap___clear
;
1392 fra
.me
.has_broke
= 0;
1393 fra
.me
.REG_size
= 1;
1394 fra
.me
.REG
[0] = NIT_NULL
;
1396 /* ./../lib/standard//collection//hash_collection.nit:258 */
1397 CALL_hash_collection___HashCollection___raz(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1398 stack_frame_head
= fra
.me
.prev
;
1401 void hash_collection___HashMap___remove(val_t p0
, val_t p1
){
1402 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1407 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1408 fra
.me
.file
= LOCATE_hash_collection
;
1410 fra
.me
.meth
= LOCATE_hash_collection___HashMap___remove
;
1411 fra
.me
.has_broke
= 0;
1412 fra
.me
.REG_size
= 3;
1413 fra
.me
.REG
[0] = NIT_NULL
;
1414 fra
.me
.REG
[1] = NIT_NULL
;
1415 fra
.me
.REG
[2] = NIT_NULL
;
1419 /* ./../lib/standard//collection//hash_collection.nit:246 */
1421 REGB1
= TAG_Bool(ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
1422 if (UNTAG_Bool(REGB1
)) {
1424 fprintf(stderr
, "Uninitialized attribute %s", "_capacity");
1425 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 246);
1428 REGB1
= ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
1429 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1430 /* ./../lib/standard//collection//hash_collection.nit:246 */
1431 if (UNTAG_Bool(REGB1
)) {
1432 fra
.me
.REG
[2] = ATTR_hash_collection___HashCollection____array(fra
.me
.REG
[0]);
1433 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1434 /* ./../lib/standard//collection//hash_collection.nit:247 */
1435 if (UNTAG_Bool(REGB1
)) {
1436 fprintf(stderr
, "Reciever is null");
1437 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 247);
1440 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1441 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1442 /* ./../lib/standard//collection//hash_collection.nit:248 */
1443 if (UNTAG_Bool(REGB1
)) {
1445 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1446 if (UNTAG_Bool(REGB2
)) {
1447 REGB2
= TAG_Bool(false);
1450 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1454 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1455 if (UNTAG_Bool(REGB1
)) {
1456 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1457 if (UNTAG_Bool(REGB1
)) {
1458 fprintf(stderr
, "Reciever is null");
1459 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 248);
1462 fra
.me
.REG
[2] = CALL_abstract_collection___Couple___second(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1463 REGB1
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1464 if (UNTAG_Bool(REGB1
)) {
1466 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1467 if (UNTAG_Bool(REGB2
)) {
1468 REGB2
= TAG_Bool(false);
1471 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1476 REGB2
= TAG_Bool(false);
1479 if (UNTAG_Bool(REGB1
)) {
1480 /* ./../lib/standard//collection//hash_collection.nit:249 */
1481 CALL_hash_collection___HashCollection___remove_index(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1482 /* ./../lib/standard//collection//hash_collection.nit:250 */
1486 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1488 /* ./../lib/standard//collection//hash_collection.nit:252 */
1490 /* ./../lib/standard//collection//hash_collection.nit:246 */
1496 stack_frame_head
= fra
.me
.prev
;
1499 void hash_collection___HashMap_____braeq(val_t p0
, val_t p1
, val_t p2
){
1500 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1505 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1506 fra
.me
.file
= LOCATE_hash_collection
;
1508 fra
.me
.meth
= LOCATE_hash_collection___HashMap_____braeq
;
1509 fra
.me
.has_broke
= 0;
1510 fra
.me
.REG_size
= 4;
1511 fra
.me
.REG
[0] = NIT_NULL
;
1512 fra
.me
.REG
[1] = NIT_NULL
;
1513 fra
.me
.REG
[2] = NIT_NULL
;
1514 fra
.me
.REG
[3] = NIT_NULL
;
1518 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1519 /* ./../lib/standard//collection//hash_collection.nit:232 */
1520 if (UNTAG_Bool(REGB0
)) {
1522 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1523 if (UNTAG_Bool(REGB1
)) {
1524 REGB1
= TAG_Bool(false);
1527 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1531 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1532 if (UNTAG_Bool(REGB0
)) {
1534 fprintf(stderr
, "Assert failed");
1535 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 232);
1538 REGB0
= CALL_hash_collection___HashCollection___index_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1539 fra
.me
.REG
[3] = ATTR_hash_collection___HashCollection____array(fra
.me
.REG
[0]);
1540 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1541 /* ./../lib/standard//collection//hash_collection.nit:234 */
1542 if (UNTAG_Bool(REGB1
)) {
1543 fprintf(stderr
, "Reciever is null");
1544 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 234);
1547 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
1548 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1549 /* ./../lib/standard//collection//hash_collection.nit:235 */
1550 if (UNTAG_Bool(REGB1
)) {
1552 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1553 if (UNTAG_Bool(REGB2
)) {
1554 REGB2
= TAG_Bool(false);
1557 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1561 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1562 if (UNTAG_Bool(REGB1
)) {
1563 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1564 /* ./../lib/standard//collection//hash_collection.nit:236 */
1565 if (UNTAG_Bool(REGB1
)) {
1566 fprintf(stderr
, "Reciever is null");
1567 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 236);
1570 CALL_abstract_collection___Couple___first__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1571 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1572 /* ./../lib/standard//collection//hash_collection.nit:237 */
1573 if (UNTAG_Bool(REGB1
)) {
1574 fprintf(stderr
, "Reciever is null");
1575 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 237);
1578 CALL_abstract_collection___Couple___second__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1580 fra
.me
.REG
[2] = NEW_HashMapNode_hash_collection___HashMapNode___init(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1581 /* ./../lib/standard//collection//hash_collection.nit:239 */
1582 CALL_hash_collection___HashCollection___store(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[2]);
1584 stack_frame_head
= fra
.me
.prev
;
1587 void hash_collection___HashMap___remove_at(val_t p0
, val_t p1
){
1588 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1591 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1592 fra
.me
.file
= LOCATE_hash_collection
;
1594 fra
.me
.meth
= LOCATE_hash_collection___HashMap___remove_at
;
1595 fra
.me
.has_broke
= 0;
1596 fra
.me
.REG_size
= 2;
1597 fra
.me
.REG
[0] = NIT_NULL
;
1598 fra
.me
.REG
[1] = NIT_NULL
;
1601 REGB0
= CALL_hash_collection___HashCollection___index_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1602 /* ./../lib/standard//collection//hash_collection.nit:256 */
1603 CALL_hash_collection___HashCollection___remove_index(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1604 stack_frame_head
= fra
.me
.prev
;
1607 val_t
hash_collection___HashMap___couple_at(val_t p0
, val_t p1
){
1608 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1612 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1613 fra
.me
.file
= LOCATE_hash_collection
;
1615 fra
.me
.meth
= LOCATE_hash_collection___HashMap___couple_at
;
1616 fra
.me
.has_broke
= 0;
1617 fra
.me
.REG_size
= 3;
1618 fra
.me
.REG
[0] = NIT_NULL
;
1619 fra
.me
.REG
[1] = NIT_NULL
;
1620 fra
.me
.REG
[2] = NIT_NULL
;
1623 fra
.me
.REG
[2] = ATTR_hash_collection___HashCollection____array(fra
.me
.REG
[0]);
1624 REGB0
= CALL_hash_collection___HashCollection___index_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1625 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1626 /* ./../lib/standard//collection//hash_collection.nit:260 */
1627 if (UNTAG_Bool(REGB1
)) {
1628 fprintf(stderr
, "Reciever is null");
1629 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 260);
1632 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1633 /* ./../lib/standard//collection//hash_collection.nit:260 */
1636 stack_frame_head
= fra
.me
.prev
;
1637 return fra
.me
.REG
[2];
1639 void hash_collection___HashMap___init(val_t p0
, int* init_table
){
1640 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_HashMap
].i
;
1641 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1644 if (init_table
[itpos2
]) return;
1645 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1646 fra
.me
.file
= LOCATE_hash_collection
;
1648 fra
.me
.meth
= LOCATE_hash_collection___HashMap___init
;
1649 fra
.me
.has_broke
= 0;
1650 fra
.me
.REG_size
= 2;
1651 fra
.me
.REG
[0] = NIT_NULL
;
1652 fra
.me
.REG
[1] = NIT_NULL
;
1654 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1655 /* ./../lib/standard//collection//hash_collection.nit:262 */
1656 CALL_hash_collection___HashCollection___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
1658 /* ./../lib/standard//collection//hash_collection.nit:264 */
1659 ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[1]) = REGB0
;
1661 /* ./../lib/standard//collection//hash_collection.nit:265 */
1662 ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[1]) = REGB0
;
1664 /* ./../lib/standard//collection//hash_collection.nit:266 */
1665 CALL_hash_collection___HashCollection___enlarge(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
1666 stack_frame_head
= fra
.me
.prev
;
1667 init_table
[itpos2
] = 1;
1670 val_t
hash_collection___HashMapNode___key(val_t p0
){
1671 struct {struct stack_frame_t me
;} fra
;
1673 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1674 fra
.me
.file
= LOCATE_hash_collection
;
1676 fra
.me
.meth
= LOCATE_hash_collection___HashMapNode___key
;
1677 fra
.me
.has_broke
= 0;
1678 fra
.me
.REG_size
= 1;
1679 fra
.me
.REG
[0] = NIT_NULL
;
1681 fra
.me
.REG
[0] = CALL_abstract_collection___Couple___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1682 /* ./../lib/standard//collection//hash_collection.nit:273 */
1685 stack_frame_head
= fra
.me
.prev
;
1686 return fra
.me
.REG
[0];
1688 void hash_collection___HashMapNode___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1689 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_HashMapNode
].i
;
1690 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1692 if (init_table
[itpos3
]) return;
1693 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1694 fra
.me
.file
= LOCATE_hash_collection
;
1696 fra
.me
.meth
= LOCATE_hash_collection___HashMapNode___init
;
1697 fra
.me
.has_broke
= 0;
1698 fra
.me
.REG_size
= 6;
1699 fra
.me
.REG
[0] = NIT_NULL
;
1700 fra
.me
.REG
[1] = NIT_NULL
;
1701 fra
.me
.REG
[2] = NIT_NULL
;
1702 fra
.me
.REG
[3] = NIT_NULL
;
1703 fra
.me
.REG
[4] = NIT_NULL
;
1704 fra
.me
.REG
[5] = NIT_NULL
;
1708 fra
.me
.REG
[3] = fra
.me
.REG
[0];
1709 fra
.me
.REG
[4] = fra
.me
.REG
[1];
1710 fra
.me
.REG
[5] = fra
.me
.REG
[2];
1711 /* ./../lib/standard//collection//hash_collection.nit:276 */
1712 CALL_abstract_collection___Couple___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1713 CALL_hash_collection___HashNode___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
1714 /* ./../lib/standard//collection//hash_collection.nit:278 */
1715 CALL_abstract_collection___Couple___first__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1716 /* ./../lib/standard//collection//hash_collection.nit:279 */
1717 CALL_abstract_collection___Couple___second__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
1718 stack_frame_head
= fra
.me
.prev
;
1719 init_table
[itpos3
] = 1;
1722 val_t
hash_collection___HashMapIterator___item(val_t p0
){
1723 struct {struct stack_frame_t me
;} fra
;
1726 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1727 fra
.me
.file
= LOCATE_hash_collection
;
1729 fra
.me
.meth
= LOCATE_hash_collection___HashMapIterator___item
;
1730 fra
.me
.has_broke
= 0;
1731 fra
.me
.REG_size
= 1;
1732 fra
.me
.REG
[0] = NIT_NULL
;
1734 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1735 /* ./../lib/standard//collection//hash_collection.nit:289 */
1736 if (UNTAG_Bool(REGB0
)) {
1738 fprintf(stderr
, "Assert failed");
1739 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 289);
1742 fra
.me
.REG
[0] = ATTR_hash_collection___HashMapIterator____node(fra
.me
.REG
[0]);
1743 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1744 /* ./../lib/standard//collection//hash_collection.nit:290 */
1745 if (UNTAG_Bool(REGB0
)) {
1746 fprintf(stderr
, "Reciever is null");
1747 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 290);
1750 fra
.me
.REG
[0] = CALL_abstract_collection___Couple___second(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1753 stack_frame_head
= fra
.me
.prev
;
1754 return fra
.me
.REG
[0];
1756 void hash_collection___HashMapIterator___next(val_t p0
){
1757 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1760 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1761 fra
.me
.file
= LOCATE_hash_collection
;
1763 fra
.me
.meth
= LOCATE_hash_collection___HashMapIterator___next
;
1764 fra
.me
.has_broke
= 0;
1765 fra
.me
.REG_size
= 2;
1766 fra
.me
.REG
[0] = NIT_NULL
;
1767 fra
.me
.REG
[1] = NIT_NULL
;
1769 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1770 /* ./../lib/standard//collection//hash_collection.nit:307 */
1771 if (UNTAG_Bool(REGB0
)) {
1773 fprintf(stderr
, "Assert failed");
1774 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 307);
1777 fra
.me
.REG
[1] = ATTR_hash_collection___HashMapIterator____node(fra
.me
.REG
[0]);
1778 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1779 /* ./../lib/standard//collection//hash_collection.nit:308 */
1780 if (UNTAG_Bool(REGB0
)) {
1781 fprintf(stderr
, "Reciever is null");
1782 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 308);
1785 fra
.me
.REG
[1] = CALL_hash_collection___HashNode___next_item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1786 ATTR_hash_collection___HashMapIterator____node(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1787 stack_frame_head
= fra
.me
.prev
;
1790 val_t
hash_collection___HashMapIterator___is_ok(val_t p0
){
1791 struct {struct stack_frame_t me
;} fra
;
1795 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1796 fra
.me
.file
= LOCATE_hash_collection
;
1798 fra
.me
.meth
= LOCATE_hash_collection___HashMapIterator___is_ok
;
1799 fra
.me
.has_broke
= 0;
1800 fra
.me
.REG_size
= 1;
1801 fra
.me
.REG
[0] = NIT_NULL
;
1803 fra
.me
.REG
[0] = ATTR_hash_collection___HashMapIterator____node(fra
.me
.REG
[0]);
1804 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1805 /* ./../lib/standard//collection//hash_collection.nit:285 */
1806 if (UNTAG_Bool(REGB0
)) {
1808 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1809 if (UNTAG_Bool(REGB1
)) {
1810 REGB1
= TAG_Bool(false);
1813 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
1817 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1820 stack_frame_head
= fra
.me
.prev
;
1823 val_t
hash_collection___HashMapIterator___key(val_t p0
){
1824 struct {struct stack_frame_t me
;} fra
;
1827 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1828 fra
.me
.file
= LOCATE_hash_collection
;
1830 fra
.me
.meth
= LOCATE_hash_collection___HashMapIterator___key
;
1831 fra
.me
.has_broke
= 0;
1832 fra
.me
.REG_size
= 1;
1833 fra
.me
.REG
[0] = NIT_NULL
;
1835 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1836 /* ./../lib/standard//collection//hash_collection.nit:301 */
1837 if (UNTAG_Bool(REGB0
)) {
1839 fprintf(stderr
, "Assert failed");
1840 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 301);
1843 fra
.me
.REG
[0] = ATTR_hash_collection___HashMapIterator____node(fra
.me
.REG
[0]);
1844 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1845 /* ./../lib/standard//collection//hash_collection.nit:302 */
1846 if (UNTAG_Bool(REGB0
)) {
1847 fprintf(stderr
, "Reciever is null");
1848 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 302);
1851 fra
.me
.REG
[0] = CALL_abstract_collection___Couple___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1854 stack_frame_head
= fra
.me
.prev
;
1855 return fra
.me
.REG
[0];
1857 void hash_collection___HashMapIterator___init(val_t p0
, val_t p1
, int* init_table
){
1858 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_HashMapIterator
].i
;
1859 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1861 if (init_table
[itpos4
]) return;
1862 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1863 fra
.me
.file
= LOCATE_hash_collection
;
1865 fra
.me
.meth
= LOCATE_hash_collection___HashMapIterator___init
;
1866 fra
.me
.has_broke
= 0;
1867 fra
.me
.REG_size
= 2;
1868 fra
.me
.REG
[0] = NIT_NULL
;
1869 fra
.me
.REG
[1] = NIT_NULL
;
1872 /* ./../lib/standard//collection//hash_collection.nit:319 */
1873 ATTR_hash_collection___HashMapIterator____map(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1874 fra
.me
.REG
[1] = CALL_hash_collection___HashCollection___first_item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1875 /* ./../lib/standard//collection//hash_collection.nit:320 */
1876 ATTR_hash_collection___HashMapIterator____node(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1877 stack_frame_head
= fra
.me
.prev
;
1878 init_table
[itpos4
] = 1;
1881 val_t
hash_collection___HashSet___iterator(val_t p0
){
1882 struct {struct stack_frame_t me
;} fra
;
1884 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1885 fra
.me
.file
= LOCATE_hash_collection
;
1887 fra
.me
.meth
= LOCATE_hash_collection___HashSet___iterator
;
1888 fra
.me
.has_broke
= 0;
1889 fra
.me
.REG_size
= 1;
1890 fra
.me
.REG
[0] = NIT_NULL
;
1892 fra
.me
.REG
[0] = NEW_HashSetIterator_hash_collection___HashSetIterator___init(fra
.me
.REG
[0]);
1893 /* ./../lib/standard//collection//hash_collection.nit:356 */
1896 stack_frame_head
= fra
.me
.prev
;
1897 return fra
.me
.REG
[0];
1899 val_t
hash_collection___HashSet___is_empty(val_t p0
){
1900 struct {struct stack_frame_t me
;} fra
;
1905 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1906 fra
.me
.file
= LOCATE_hash_collection
;
1908 fra
.me
.meth
= LOCATE_hash_collection___HashSet___is_empty
;
1909 fra
.me
.has_broke
= 0;
1910 fra
.me
.REG_size
= 1;
1911 fra
.me
.REG
[0] = NIT_NULL
;
1913 REGB0
= TAG_Bool(ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
1914 /* ./../lib/standard//collection//hash_collection.nit:328 */
1915 if (UNTAG_Bool(REGB0
)) {
1917 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1918 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 328);
1921 REGB0
= ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[0]);
1923 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
1924 if (UNTAG_Bool(REGB2
)) {
1926 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
1928 /* ./../lib/standard//collection//hash_collection.nit:328 */
1932 stack_frame_head
= fra
.me
.prev
;
1935 val_t
hash_collection___HashSet___has(val_t p0
, val_t p1
){
1936 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1940 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1941 fra
.me
.file
= LOCATE_hash_collection
;
1943 fra
.me
.meth
= LOCATE_hash_collection___HashSet___has
;
1944 fra
.me
.has_broke
= 0;
1945 fra
.me
.REG_size
= 3;
1946 fra
.me
.REG
[0] = NIT_NULL
;
1947 fra
.me
.REG
[1] = NIT_NULL
;
1948 fra
.me
.REG
[2] = NIT_NULL
;
1951 fra
.me
.REG
[2] = ATTR_hash_collection___HashCollection____array(fra
.me
.REG
[0]);
1952 REGB0
= CALL_hash_collection___HashCollection___index_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1953 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1954 /* ./../lib/standard//collection//hash_collection.nit:338 */
1955 if (UNTAG_Bool(REGB1
)) {
1956 fprintf(stderr
, "Reciever is null");
1957 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 338);
1960 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1961 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1962 /* ./../lib/standard//collection//hash_collection.nit:338 */
1963 if (UNTAG_Bool(REGB0
)) {
1965 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1966 if (UNTAG_Bool(REGB1
)) {
1967 REGB1
= TAG_Bool(false);
1970 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1974 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1977 stack_frame_head
= fra
.me
.prev
;
1980 val_t
hash_collection___HashSet___first(val_t p0
){
1981 struct {struct stack_frame_t me
;} fra
;
1985 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1986 fra
.me
.file
= LOCATE_hash_collection
;
1988 fra
.me
.meth
= LOCATE_hash_collection___HashSet___first
;
1989 fra
.me
.has_broke
= 0;
1990 fra
.me
.REG_size
= 1;
1991 fra
.me
.REG
[0] = NIT_NULL
;
1993 REGB0
= TAG_Bool(ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
1994 /* ./../lib/standard//collection//hash_collection.nit:332 */
1995 if (UNTAG_Bool(REGB0
)) {
1997 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1998 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 332);
2001 REGB0
= ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[0]);
2003 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
2004 /* ./../lib/standard//collection//hash_collection.nit:332 */
2005 if (UNTAG_Bool(REGB1
)) {
2007 fprintf(stderr
, "Assert failed");
2008 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 332);
2011 fra
.me
.REG
[0] = ATTR_hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
2012 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2013 /* ./../lib/standard//collection//hash_collection.nit:333 */
2014 if (UNTAG_Bool(REGB1
)) {
2015 fprintf(stderr
, "Reciever is null");
2016 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 333);
2019 fra
.me
.REG
[0] = CALL_hash_collection___HashNode___key(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2022 stack_frame_head
= fra
.me
.prev
;
2023 return fra
.me
.REG
[0];
2025 void hash_collection___HashSet___clear(val_t p0
){
2026 struct {struct stack_frame_t me
;} fra
;
2028 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2029 fra
.me
.file
= LOCATE_hash_collection
;
2031 fra
.me
.meth
= LOCATE_hash_collection___HashSet___clear
;
2032 fra
.me
.has_broke
= 0;
2033 fra
.me
.REG_size
= 1;
2034 fra
.me
.REG
[0] = NIT_NULL
;
2036 /* ./../lib/standard//collection//hash_collection.nit:354 */
2037 CALL_hash_collection___HashCollection___raz(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2038 stack_frame_head
= fra
.me
.prev
;
2041 void hash_collection___HashSet___remove(val_t p0
, val_t p1
){
2042 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2045 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2046 fra
.me
.file
= LOCATE_hash_collection
;
2048 fra
.me
.meth
= LOCATE_hash_collection___HashSet___remove
;
2049 fra
.me
.has_broke
= 0;
2050 fra
.me
.REG_size
= 2;
2051 fra
.me
.REG
[0] = NIT_NULL
;
2052 fra
.me
.REG
[1] = NIT_NULL
;
2055 REGB0
= CALL_hash_collection___HashCollection___index_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2056 /* ./../lib/standard//collection//hash_collection.nit:352 */
2057 CALL_hash_collection___HashCollection___remove_index(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
2058 stack_frame_head
= fra
.me
.prev
;
2061 void hash_collection___HashSet___add(val_t p0
, val_t p1
){
2062 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2067 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2068 fra
.me
.file
= LOCATE_hash_collection
;
2070 fra
.me
.meth
= LOCATE_hash_collection___HashSet___add
;
2071 fra
.me
.has_broke
= 0;
2072 fra
.me
.REG_size
= 3;
2073 fra
.me
.REG
[0] = NIT_NULL
;
2074 fra
.me
.REG
[1] = NIT_NULL
;
2075 fra
.me
.REG
[2] = NIT_NULL
;
2078 REGB0
= CALL_hash_collection___HashCollection___index_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2079 fra
.me
.REG
[2] = ATTR_hash_collection___HashCollection____array(fra
.me
.REG
[0]);
2080 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2081 /* ./../lib/standard//collection//hash_collection.nit:344 */
2082 if (UNTAG_Bool(REGB1
)) {
2083 fprintf(stderr
, "Reciever is null");
2084 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 344);
2087 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
2088 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2089 /* ./../lib/standard//collection//hash_collection.nit:345 */
2090 if (UNTAG_Bool(REGB1
)) {
2092 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2093 if (UNTAG_Bool(REGB2
)) {
2094 REGB2
= TAG_Bool(false);
2097 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
2101 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2102 if (UNTAG_Bool(REGB1
)) {
2103 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2104 /* ./../lib/standard//collection//hash_collection.nit:346 */
2105 if (UNTAG_Bool(REGB1
)) {
2106 fprintf(stderr
, "Reciever is null");
2107 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 346);
2110 CALL_hash_collection___HashSetNode___key__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2112 fra
.me
.REG
[1] = NEW_HashSetNode_hash_collection___HashSetNode___init(fra
.me
.REG
[1]);
2113 /* ./../lib/standard//collection//hash_collection.nit:348 */
2114 CALL_hash_collection___HashCollection___store(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[1]);
2116 stack_frame_head
= fra
.me
.prev
;
2119 void hash_collection___HashSet___init(val_t p0
, int* init_table
){
2120 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_HashSet
].i
;
2121 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2124 if (init_table
[itpos5
]) return;
2125 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2126 fra
.me
.file
= LOCATE_hash_collection
;
2128 fra
.me
.meth
= LOCATE_hash_collection___HashSet___init
;
2129 fra
.me
.has_broke
= 0;
2130 fra
.me
.REG_size
= 2;
2131 fra
.me
.REG
[0] = NIT_NULL
;
2132 fra
.me
.REG
[1] = NIT_NULL
;
2134 fra
.me
.REG
[1] = fra
.me
.REG
[0];
2135 /* ./../lib/standard//collection//hash_collection.nit:358 */
2136 CALL_hash_collection___HashCollection___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
2138 /* ./../lib/standard//collection//hash_collection.nit:360 */
2139 ATTR_hash_collection___HashCollection____capacity(fra
.me
.REG
[1]) = REGB0
;
2141 /* ./../lib/standard//collection//hash_collection.nit:361 */
2142 ATTR_hash_collection___HashCollection____length(fra
.me
.REG
[1]) = REGB0
;
2144 /* ./../lib/standard//collection//hash_collection.nit:362 */
2145 CALL_hash_collection___HashCollection___enlarge(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
2146 stack_frame_head
= fra
.me
.prev
;
2147 init_table
[itpos5
] = 1;
2150 val_t
hash_collection___HashSetNode___key(val_t p0
){
2151 struct {struct stack_frame_t me
;} fra
;
2153 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2154 fra
.me
.file
= LOCATE_hash_collection
;
2156 fra
.me
.meth
= LOCATE_hash_collection___HashSetNode___key
;
2157 fra
.me
.has_broke
= 0;
2158 fra
.me
.REG_size
= 1;
2159 fra
.me
.REG
[0] = NIT_NULL
;
2161 fra
.me
.REG
[0] = ATTR_hash_collection___HashSetNode____key(fra
.me
.REG
[0]);
2162 /* ./../lib/standard//collection//hash_collection.nit:370 */
2163 stack_frame_head
= fra
.me
.prev
;
2164 return fra
.me
.REG
[0];
2166 void hash_collection___HashSetNode___key__eq(val_t p0
, val_t p1
){
2167 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2169 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2170 fra
.me
.file
= LOCATE_hash_collection
;
2172 fra
.me
.meth
= LOCATE_hash_collection___HashSetNode___key__eq
;
2173 fra
.me
.has_broke
= 0;
2174 fra
.me
.REG_size
= 2;
2175 fra
.me
.REG
[0] = NIT_NULL
;
2176 fra
.me
.REG
[1] = NIT_NULL
;
2179 /* ./../lib/standard//collection//hash_collection.nit:370 */
2180 ATTR_hash_collection___HashSetNode____key(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2181 stack_frame_head
= fra
.me
.prev
;
2184 void hash_collection___HashSetNode___init(val_t p0
, val_t p1
, int* init_table
){
2185 int itpos6
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_HashSetNode
].i
;
2186 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2188 if (init_table
[itpos6
]) return;
2189 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2190 fra
.me
.file
= LOCATE_hash_collection
;
2192 fra
.me
.meth
= LOCATE_hash_collection___HashSetNode___init
;
2193 fra
.me
.has_broke
= 0;
2194 fra
.me
.REG_size
= 3;
2195 fra
.me
.REG
[0] = NIT_NULL
;
2196 fra
.me
.REG
[1] = NIT_NULL
;
2197 fra
.me
.REG
[2] = NIT_NULL
;
2200 fra
.me
.REG
[2] = fra
.me
.REG
[0];
2201 /* ./../lib/standard//collection//hash_collection.nit:372 */
2202 CALL_hash_collection___HashNode___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
2203 /* ./../lib/standard//collection//hash_collection.nit:374 */
2204 ATTR_hash_collection___HashSetNode____key(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
2205 stack_frame_head
= fra
.me
.prev
;
2206 init_table
[itpos6
] = 1;
2209 val_t
hash_collection___HashSetIterator___item(val_t p0
){
2210 struct {struct stack_frame_t me
;} fra
;
2213 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2214 fra
.me
.file
= LOCATE_hash_collection
;
2216 fra
.me
.meth
= LOCATE_hash_collection___HashSetIterator___item
;
2217 fra
.me
.has_broke
= 0;
2218 fra
.me
.REG_size
= 1;
2219 fra
.me
.REG
[0] = NIT_NULL
;
2221 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2222 /* ./../lib/standard//collection//hash_collection.nit:384 */
2223 if (UNTAG_Bool(REGB0
)) {
2225 fprintf(stderr
, "Assert failed");
2226 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 384);
2229 fra
.me
.REG
[0] = ATTR_hash_collection___HashSetIterator____node(fra
.me
.REG
[0]);
2230 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2231 /* ./../lib/standard//collection//hash_collection.nit:385 */
2232 if (UNTAG_Bool(REGB0
)) {
2233 fprintf(stderr
, "Reciever is null");
2234 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 385);
2237 fra
.me
.REG
[0] = CALL_hash_collection___HashNode___key(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2240 stack_frame_head
= fra
.me
.prev
;
2241 return fra
.me
.REG
[0];
2243 void hash_collection___HashSetIterator___next(val_t p0
){
2244 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2247 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2248 fra
.me
.file
= LOCATE_hash_collection
;
2250 fra
.me
.meth
= LOCATE_hash_collection___HashSetIterator___next
;
2251 fra
.me
.has_broke
= 0;
2252 fra
.me
.REG_size
= 2;
2253 fra
.me
.REG
[0] = NIT_NULL
;
2254 fra
.me
.REG
[1] = NIT_NULL
;
2256 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2257 /* ./../lib/standard//collection//hash_collection.nit:390 */
2258 if (UNTAG_Bool(REGB0
)) {
2260 fprintf(stderr
, "Assert failed");
2261 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 390);
2264 fra
.me
.REG
[1] = ATTR_hash_collection___HashSetIterator____node(fra
.me
.REG
[0]);
2265 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2266 /* ./../lib/standard//collection//hash_collection.nit:391 */
2267 if (UNTAG_Bool(REGB0
)) {
2268 fprintf(stderr
, "Reciever is null");
2269 fprintf(stderr
, " (%s:%d)\n", LOCATE_hash_collection
, 391);
2272 fra
.me
.REG
[1] = CALL_hash_collection___HashNode___next_item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2273 ATTR_hash_collection___HashSetIterator____node(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2274 stack_frame_head
= fra
.me
.prev
;
2277 val_t
hash_collection___HashSetIterator___is_ok(val_t p0
){
2278 struct {struct stack_frame_t me
;} fra
;
2282 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2283 fra
.me
.file
= LOCATE_hash_collection
;
2285 fra
.me
.meth
= LOCATE_hash_collection___HashSetIterator___is_ok
;
2286 fra
.me
.has_broke
= 0;
2287 fra
.me
.REG_size
= 1;
2288 fra
.me
.REG
[0] = NIT_NULL
;
2290 fra
.me
.REG
[0] = ATTR_hash_collection___HashSetIterator____node(fra
.me
.REG
[0]);
2291 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2292 /* ./../lib/standard//collection//hash_collection.nit:380 */
2293 if (UNTAG_Bool(REGB0
)) {
2295 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2296 if (UNTAG_Bool(REGB1
)) {
2297 REGB1
= TAG_Bool(false);
2300 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
2304 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2307 stack_frame_head
= fra
.me
.prev
;
2310 void hash_collection___HashSetIterator___init(val_t p0
, val_t p1
, int* init_table
){
2311 int itpos7
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_HashSetIterator
].i
;
2312 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2314 if (init_table
[itpos7
]) return;
2315 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2316 fra
.me
.file
= LOCATE_hash_collection
;
2318 fra
.me
.meth
= LOCATE_hash_collection___HashSetIterator___init
;
2319 fra
.me
.has_broke
= 0;
2320 fra
.me
.REG_size
= 2;
2321 fra
.me
.REG
[0] = NIT_NULL
;
2322 fra
.me
.REG
[1] = NIT_NULL
;
2325 /* ./../lib/standard//collection//hash_collection.nit:402 */
2326 ATTR_hash_collection___HashSetIterator____set(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2327 fra
.me
.REG
[1] = CALL_hash_collection___HashCollection___first_item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2328 /* ./../lib/standard//collection//hash_collection.nit:403 */
2329 ATTR_hash_collection___HashSetIterator____node(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2330 stack_frame_head
= fra
.me
.prev
;
2331 init_table
[itpos7
] = 1;