1 /* This C file is generated by NIT to compile module standard___collection___hash_collection. */
2 #include "standard___collection___hash_collection._sep.h"
3 val_t
standard___collection___hash_collection___HashCollection___first_item(val_t p0
){
4 struct {struct stack_frame_t me
;} fra
;
6 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
9 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashCollection___first_item
;
12 fra
.me
.nitni_local_ref_head
= NULL
;
13 fra
.me
.REG
[0] = NIT_NULL
;
15 /* ../lib/standard/collection/hash_collection.nit:27 */
16 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
17 stack_frame_head
= fra
.me
.prev
;
20 val_t
standard___collection___hash_collection___HashCollection___index_at(val_t p0
, val_t p1
){
21 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
26 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
27 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
29 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashCollection___index_at
;
32 fra
.me
.nitni_local_ref_head
= NULL
;
33 fra
.me
.REG
[0] = NIT_NULL
;
34 fra
.me
.REG
[1] = NIT_NULL
;
37 /* ../lib/standard/collection/hash_collection.nit:39 */
38 REGB0
= CALL_standard___hash___Object___hash(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
39 REGB1
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
40 if (UNTAG_Bool(REGB1
)) {
42 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___collection___hash_collection
, 39);
44 REGB1
= ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
45 /* ../lib/standard/kernel.nit:240 */
46 REGB1
= TAG_Int(UNTAG_Int(REGB0
)%UNTAG_Int(REGB1
));
47 /* ../lib/standard/collection/hash_collection.nit:40 */
49 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
50 if (UNTAG_Bool(REGB2
)) {
52 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
54 /* ../lib/standard/kernel.nit:232 */
55 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
56 /* ../lib/standard/collection/hash_collection.nit:40 */
57 if (UNTAG_Bool(REGB0
)) {
58 /* ../lib/standard/kernel.nit:236 */
59 REGB0
= TAG_Int(-UNTAG_Int(REGB1
));
60 /* ../lib/standard/collection/hash_collection.nit:40 */
63 /* ../lib/standard/collection/hash_collection.nit:41 */
66 stack_frame_head
= fra
.me
.prev
;
69 val_t
standard___collection___hash_collection___HashCollection___node_at(val_t p0
, val_t p1
){
70 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
73 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
74 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
76 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashCollection___node_at
;
79 fra
.me
.nitni_local_ref_head
= NULL
;
80 fra
.me
.REG
[0] = NIT_NULL
;
81 fra
.me
.REG
[1] = NIT_NULL
;
82 fra
.me
.REG
[2] = NIT_NULL
;
83 fra
.me
.REG
[3] = NIT_NULL
;
86 /* ../lib/standard/collection/hash_collection.nit:48 */
87 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashCollection____last_accessed_key(fra
.me
.REG
[0]);
88 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[1],fra
.me
.REG
[2]));
89 if (UNTAG_Bool(REGB0
)) {
90 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashCollection____last_accessed_node(fra
.me
.REG
[0]);
93 /* ../lib/standard/collection/hash_collection.nit:50 */
94 REGB0
= CALL_standard___collection___hash_collection___HashCollection___index_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
95 fra
.me
.REG
[3] = CALL_standard___collection___hash_collection___HashCollection___node_at_idx(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[1]);
96 /* ../lib/standard/collection/hash_collection.nit:51 */
97 ATTR_standard___collection___hash_collection___HashCollection____last_accessed_key(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
98 /* ../lib/standard/collection/hash_collection.nit:52 */
99 ATTR_standard___collection___hash_collection___HashCollection____last_accessed_node(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
100 /* ../lib/standard/collection/hash_collection.nit:53 */
101 fra
.me
.REG
[2] = fra
.me
.REG
[3];
104 stack_frame_head
= fra
.me
.prev
;
105 return fra
.me
.REG
[2];
107 val_t
standard___collection___hash_collection___HashCollection___node_at_idx(val_t p0
, val_t p1
, val_t p2
){
108 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
113 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
114 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
116 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashCollection___node_at_idx
;
117 fra
.me
.has_broke
= 0;
119 fra
.me
.nitni_local_ref_head
= NULL
;
120 fra
.me
.REG
[0] = NIT_NULL
;
121 fra
.me
.REG
[1] = NIT_NULL
;
122 fra
.me
.REG
[2] = NIT_NULL
;
126 /* ../lib/standard/collection/hash_collection.nit:59 */
127 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashCollection____array(fra
.me
.REG
[0]);
128 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
129 if (UNTAG_Bool(REGB1
)) {
130 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 59);
132 /* ../lib/standard/collection/array.nit:718 */
133 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
134 /* ../lib/standard/collection/hash_collection.nit:60 */
136 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
137 if (UNTAG_Bool(REGB0
)) {
139 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
140 if (UNTAG_Bool(REGB1
)) {
141 REGB1
= TAG_Bool(false);
144 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
148 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
149 if (UNTAG_Bool(REGB0
)) {
150 /* ../lib/standard/collection/hash_collection.nit:61 */
151 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0])!=NIT_NULL
);
152 if (UNTAG_Bool(REGB0
)) {
154 nit_abort("Uninitialized attribute %s", "_key", LOCATE_standard___collection___hash_collection
, 61);
156 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0]);
157 /* ../lib/standard/collection/hash_collection.nit:62 */
158 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[1]));
159 if (UNTAG_Bool(REGB0
)) {
160 REGB0
= TAG_Bool(true);
162 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[1]));
163 if (UNTAG_Bool(REGB1
)) {
165 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
170 if (UNTAG_Bool(REGB0
)) {
171 /* ../lib/standard/collection/hash_collection.nit:63 */
174 /* ../lib/standard/collection/hash_collection.nit:65 */
175 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashNode____next_in_bucklet(fra
.me
.REG
[0]);
176 fra
.me
.REG
[0] = fra
.me
.REG
[2];
178 /* ../lib/standard/collection/hash_collection.nit:60 */
183 /* ../lib/standard/collection/hash_collection.nit:67 */
186 stack_frame_head
= fra
.me
.prev
;
187 return fra
.me
.REG
[0];
189 void standard___collection___hash_collection___HashCollection___store(val_t p0
, val_t p1
, val_t p2
){
190 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
195 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
196 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
198 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashCollection___store
;
199 fra
.me
.has_broke
= 0;
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
[2] = NIT_NULL
;
205 fra
.me
.REG
[3] = NIT_NULL
;
209 /* ../lib/standard/collection/hash_collection.nit:74 */
210 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
211 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
212 if (UNTAG_Bool(REGB1
)) {
214 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
215 if (UNTAG_Bool(REGB2
)) {
216 REGB2
= TAG_Bool(false);
219 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
223 if (UNTAG_Bool(REGB1
)) {
224 /* ../lib/standard/collection/hash_collection.nit:75 */
225 ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
227 /* ../lib/standard/collection/hash_collection.nit:77 */
228 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashCollection____last_item(fra
.me
.REG
[0]);
229 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
230 if (UNTAG_Bool(REGB1
)) {
231 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 77);
233 ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
235 /* ../lib/standard/collection/hash_collection.nit:79 */
236 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashCollection____last_item(fra
.me
.REG
[0]);
237 ATTR_standard___collection___hash_collection___HashNode____prev_item(fra
.me
.REG
[1]) = fra
.me
.REG
[2];
238 /* ../lib/standard/collection/hash_collection.nit:80 */
239 ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[1]) = NIT_NULL
;
240 /* ../lib/standard/collection/hash_collection.nit:81 */
241 ATTR_standard___collection___hash_collection___HashCollection____last_item(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
242 /* ../lib/standard/collection/hash_collection.nit:84 */
243 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashCollection____array(fra
.me
.REG
[0]);
244 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
245 if (UNTAG_Bool(REGB1
)) {
246 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 84);
248 /* ../lib/standard/collection/array.nit:718 */
249 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
250 /* ../lib/standard/collection/hash_collection.nit:85 */
251 fra
.me
.REG
[3] = ATTR_standard___collection___hash_collection___HashCollection____array(fra
.me
.REG
[0]);
252 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
253 if (UNTAG_Bool(REGB1
)) {
254 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 85);
256 /* ../lib/standard/collection/array.nit:719 */
257 ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)]=fra
.me
.REG
[1];
258 /* ../lib/standard/collection/hash_collection.nit:86 */
259 ATTR_standard___collection___hash_collection___HashNode____next_in_bucklet(fra
.me
.REG
[1]) = fra
.me
.REG
[2];
260 /* ../lib/standard/collection/hash_collection.nit:87 */
261 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
262 if (UNTAG_Bool(REGB0
)) {
264 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
265 if (UNTAG_Bool(REGB1
)) {
266 REGB1
= TAG_Bool(false);
269 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
273 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
274 if (UNTAG_Bool(REGB0
)) {
275 ATTR_standard___collection___hash_collection___HashNode____prev_in_bucklet(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
277 /* ../lib/standard/collection/hash_collection.nit:89 */
278 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[1])!=NIT_NULL
);
279 if (UNTAG_Bool(REGB0
)) {
281 nit_abort("Uninitialized attribute %s", "_key", LOCATE_standard___collection___hash_collection
, 89);
283 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[1]);
284 ATTR_standard___collection___hash_collection___HashCollection____last_accessed_key(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
285 /* ../lib/standard/collection/hash_collection.nit:90 */
286 ATTR_standard___collection___hash_collection___HashCollection____last_accessed_node(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
287 /* ../lib/standard/collection/hash_collection.nit:93 */
288 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
289 if (UNTAG_Bool(REGB0
)) {
291 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___hash_collection
, 93);
293 REGB0
= ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]);
294 /* ../lib/standard/collection/hash_collection.nit:94 */
296 /* ../lib/standard/kernel.nit:235 */
297 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
298 /* ../lib/standard/collection/hash_collection.nit:94 */
299 ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]) = REGB1
;
300 /* ../lib/standard/collection/hash_collection.nit:95 */
302 /* ../lib/standard/kernel.nit:235 */
303 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
304 /* ../lib/standard/collection/hash_collection.nit:95 */
306 /* ../lib/standard/kernel.nit:238 */
307 REGB2
= TAG_Int(UNTAG_Int(REGB1
)*UNTAG_Int(REGB2
));
308 /* ../lib/standard/collection/hash_collection.nit:95 */
310 /* ../lib/standard/kernel.nit:239 */
311 REGB1
= TAG_Int(UNTAG_Int(REGB2
)/UNTAG_Int(REGB1
));
312 /* ../lib/standard/collection/hash_collection.nit:95 */
314 /* ../lib/standard/collection/hash_collection.nit:96 */
315 REGB1
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
316 if (UNTAG_Bool(REGB1
)) {
318 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___collection___hash_collection
, 96);
320 REGB1
= ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
321 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
322 if (UNTAG_Bool(REGB2
)) {
324 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
326 /* ../lib/standard/kernel.nit:233 */
327 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
328 /* ../lib/standard/collection/hash_collection.nit:96 */
329 if (UNTAG_Bool(REGB1
)) {
330 /* ../lib/standard/collection/hash_collection.nit:97 */
332 /* ../lib/standard/kernel.nit:238 */
333 REGB1
= TAG_Int(UNTAG_Int(REGB0
)*UNTAG_Int(REGB1
));
334 /* ../lib/standard/collection/hash_collection.nit:97 */
335 CALL_standard___collection___hash_collection___HashCollection___enlarge(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
337 stack_frame_head
= fra
.me
.prev
;
340 void standard___collection___hash_collection___HashCollection___remove_node(val_t p0
, val_t p1
){
341 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
346 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
347 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
349 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashCollection___remove_node
;
350 fra
.me
.has_broke
= 0;
352 fra
.me
.nitni_local_ref_head
= NULL
;
353 fra
.me
.REG
[0] = NIT_NULL
;
354 fra
.me
.REG
[1] = NIT_NULL
;
355 fra
.me
.REG
[2] = NIT_NULL
;
356 fra
.me
.REG
[3] = NIT_NULL
;
357 fra
.me
.REG
[4] = NIT_NULL
;
360 /* ../lib/standard/collection/hash_collection.nit:104 */
361 REGB0
= CALL_standard___collection___hash_collection___HashCollection___index_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
362 /* ../lib/standard/collection/hash_collection.nit:105 */
363 fra
.me
.REG
[1] = CALL_standard___collection___hash_collection___HashCollection___node_at_idx(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[1]);
364 /* ../lib/standard/collection/hash_collection.nit:106 */
365 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
366 if (UNTAG_Bool(REGB1
)) {
368 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
369 if (UNTAG_Bool(REGB2
)) {
370 REGB2
= TAG_Bool(false);
373 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
377 if (UNTAG_Bool(REGB1
)) {
380 /* ../lib/standard/collection/hash_collection.nit:109 */
381 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashNode____prev_item(fra
.me
.REG
[1]);
382 /* ../lib/standard/collection/hash_collection.nit:110 */
383 fra
.me
.REG
[3] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[1]);
384 /* ../lib/standard/collection/hash_collection.nit:111 */
385 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
386 if (UNTAG_Bool(REGB1
)) {
388 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
389 if (UNTAG_Bool(REGB2
)) {
390 REGB2
= TAG_Bool(false);
393 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
397 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
398 if (UNTAG_Bool(REGB1
)) {
399 /* ../lib/standard/collection/hash_collection.nit:112 */
400 ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[2]) = fra
.me
.REG
[3];
402 /* ../lib/standard/collection/hash_collection.nit:114 */
403 ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
405 /* ../lib/standard/collection/hash_collection.nit:116 */
406 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
407 if (UNTAG_Bool(REGB1
)) {
409 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
410 if (UNTAG_Bool(REGB2
)) {
411 REGB2
= TAG_Bool(false);
414 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
418 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
419 if (UNTAG_Bool(REGB1
)) {
420 /* ../lib/standard/collection/hash_collection.nit:117 */
421 ATTR_standard___collection___hash_collection___HashNode____prev_item(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
423 /* ../lib/standard/collection/hash_collection.nit:119 */
424 ATTR_standard___collection___hash_collection___HashCollection____last_item(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
426 /* ../lib/standard/collection/hash_collection.nit:123 */
427 REGB1
= ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]);
429 /* ../lib/standard/kernel.nit:237 */
430 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
431 /* ../lib/standard/collection/hash_collection.nit:123 */
432 ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]) = REGB2
;
433 /* ../lib/standard/collection/hash_collection.nit:124 */
434 fra
.me
.REG
[4] = ATTR_standard___collection___hash_collection___HashNode____prev_in_bucklet(fra
.me
.REG
[1]);
435 fra
.me
.REG
[2] = fra
.me
.REG
[4];
436 /* ../lib/standard/collection/hash_collection.nit:125 */
437 fra
.me
.REG
[1] = ATTR_standard___collection___hash_collection___HashNode____next_in_bucklet(fra
.me
.REG
[1]);
438 fra
.me
.REG
[3] = fra
.me
.REG
[1];
439 /* ../lib/standard/collection/hash_collection.nit:126 */
440 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
441 if (UNTAG_Bool(REGB2
)) {
443 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
444 if (UNTAG_Bool(REGB1
)) {
445 REGB1
= TAG_Bool(false);
448 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
452 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
453 if (UNTAG_Bool(REGB2
)) {
454 /* ../lib/standard/collection/hash_collection.nit:127 */
455 ATTR_standard___collection___hash_collection___HashNode____next_in_bucklet(fra
.me
.REG
[2]) = fra
.me
.REG
[3];
457 /* ../lib/standard/collection/hash_collection.nit:129 */
458 fra
.me
.REG
[1] = ATTR_standard___collection___hash_collection___HashCollection____array(fra
.me
.REG
[0]);
459 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
460 if (UNTAG_Bool(REGB2
)) {
461 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 129);
463 /* ../lib/standard/collection/array.nit:719 */
464 ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB0
)]=fra
.me
.REG
[3];
466 /* ../lib/standard/collection/hash_collection.nit:131 */
467 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
468 if (UNTAG_Bool(REGB0
)) {
470 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
471 if (UNTAG_Bool(REGB2
)) {
472 REGB2
= TAG_Bool(false);
475 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
479 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
480 if (UNTAG_Bool(REGB0
)) {
481 /* ../lib/standard/collection/hash_collection.nit:132 */
482 ATTR_standard___collection___hash_collection___HashNode____prev_in_bucklet(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
484 /* ../lib/standard/collection/hash_collection.nit:135 */
485 ATTR_standard___collection___hash_collection___HashCollection____last_accessed_key(fra
.me
.REG
[0]) = NIT_NULL
;
487 stack_frame_head
= fra
.me
.prev
;
490 void standard___collection___hash_collection___HashCollection___raz(val_t p0
){
491 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
496 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
497 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
499 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashCollection___raz
;
500 fra
.me
.has_broke
= 0;
502 fra
.me
.nitni_local_ref_head
= NULL
;
503 fra
.me
.REG
[0] = NIT_NULL
;
504 fra
.me
.REG
[1] = NIT_NULL
;
506 /* ../lib/standard/collection/hash_collection.nit:141 */
507 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
508 if (UNTAG_Bool(REGB0
)) {
510 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___collection___hash_collection
, 141);
512 REGB0
= ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
514 /* ../lib/standard/kernel.nit:237 */
515 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
516 /* ../lib/standard/collection/hash_collection.nit:142 */
519 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
520 if (UNTAG_Bool(REGB2
)) {
522 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
524 /* ../lib/standard/kernel.nit:233 */
525 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
526 /* ../lib/standard/collection/hash_collection.nit:142 */
527 if (UNTAG_Bool(REGB0
)) {
528 /* ../lib/standard/collection/hash_collection.nit:143 */
529 fra
.me
.REG
[1] = ATTR_standard___collection___hash_collection___HashCollection____array(fra
.me
.REG
[0]);
530 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
531 if (UNTAG_Bool(REGB0
)) {
532 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 143);
534 /* ../lib/standard/collection/array.nit:719 */
535 ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB1
)]=NIT_NULL
;
536 /* ../lib/standard/collection/hash_collection.nit:144 */
538 /* ../lib/standard/kernel.nit:237 */
539 REGB0
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
540 /* ../lib/standard/collection/hash_collection.nit:144 */
543 /* ../lib/standard/collection/hash_collection.nit:142 */
548 /* ../lib/standard/collection/hash_collection.nit:146 */
550 ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]) = REGB1
;
551 /* ../lib/standard/collection/hash_collection.nit:147 */
552 ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]) = NIT_NULL
;
553 /* ../lib/standard/collection/hash_collection.nit:148 */
554 ATTR_standard___collection___hash_collection___HashCollection____last_item(fra
.me
.REG
[0]) = NIT_NULL
;
555 /* ../lib/standard/collection/hash_collection.nit:149 */
556 ATTR_standard___collection___hash_collection___HashCollection____last_accessed_key(fra
.me
.REG
[0]) = NIT_NULL
;
557 stack_frame_head
= fra
.me
.prev
;
560 void standard___collection___hash_collection___HashCollection___enlarge(val_t p0
, val_t p1
){
561 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
567 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
568 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
570 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashCollection___enlarge
;
571 fra
.me
.has_broke
= 0;
573 fra
.me
.nitni_local_ref_head
= NULL
;
574 fra
.me
.REG
[0] = NIT_NULL
;
575 fra
.me
.REG
[1] = NIT_NULL
;
576 fra
.me
.REG
[2] = NIT_NULL
;
577 fra
.me
.REG
[3] = NIT_NULL
;
580 /* ../lib/standard/collection/hash_collection.nit:155 */
581 REGB1
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
582 if (UNTAG_Bool(REGB1
)) {
584 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___collection___hash_collection
, 155);
586 REGB1
= ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
587 /* ../lib/standard/collection/hash_collection.nit:157 */
588 REGB2
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
589 if (UNTAG_Bool(REGB2
)) {
591 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___hash_collection
, 157);
593 REGB2
= ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]);
595 /* ../lib/standard/kernel.nit:235 */
596 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
597 REGB2
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
598 if (UNTAG_Bool(REGB2
)) {
600 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
602 /* ../lib/standard/kernel.nit:232 */
603 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB3
));
604 /* ../lib/standard/collection/hash_collection.nit:157 */
605 if (UNTAG_Bool(REGB3
)) {
606 REGB3
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
607 if (UNTAG_Bool(REGB3
)) {
609 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___hash_collection
, 157);
611 REGB3
= ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]);
613 /* ../lib/standard/kernel.nit:235 */
614 REGB2
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB2
));
615 /* ../lib/standard/collection/hash_collection.nit:157 */
618 /* ../lib/standard/collection/hash_collection.nit:158 */
619 REGB2
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
620 if (UNTAG_Bool(REGB2
)) {
622 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___collection___hash_collection
, 158);
624 REGB2
= ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
625 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
626 if (UNTAG_Bool(REGB3
)) {
628 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
630 /* ../lib/standard/kernel.nit:231 */
631 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB2
));
632 /* ../lib/standard/collection/hash_collection.nit:158 */
633 if (UNTAG_Bool(REGB2
)) {
636 /* ../lib/standard/collection/hash_collection.nit:159 */
637 ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0]) = REGB0
;
638 /* ../lib/standard/collection/hash_collection.nit:160 */
639 ATTR_standard___collection___hash_collection___HashCollection____last_accessed_key(fra
.me
.REG
[0]) = NIT_NULL
;
640 /* ../lib/standard/collection/array.nit:712 */
641 fra
.me
.REG
[1] = NEW_NativeArray(UNTAG_Int(REGB0
), sizeof(val_t
));
642 /* ../lib/standard/collection/hash_collection.nit:164 */
643 ATTR_standard___collection___hash_collection___HashCollection____array(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
644 /* ../lib/standard/collection/hash_collection.nit:167 */
646 /* ../lib/standard/kernel.nit:237 */
647 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
648 /* ../lib/standard/collection/hash_collection.nit:168 */
651 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
652 if (UNTAG_Bool(REGB3
)) {
654 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
656 /* ../lib/standard/kernel.nit:233 */
657 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB0
));
658 /* ../lib/standard/collection/hash_collection.nit:168 */
659 if (UNTAG_Bool(REGB0
)) {
660 /* ../lib/standard/collection/array.nit:719 */
661 ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB2
)]=NIT_NULL
;
662 /* ../lib/standard/collection/hash_collection.nit:170 */
664 /* ../lib/standard/kernel.nit:237 */
665 REGB0
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB0
));
666 /* ../lib/standard/collection/hash_collection.nit:170 */
669 /* ../lib/standard/collection/hash_collection.nit:168 */
674 /* ../lib/standard/collection/hash_collection.nit:173 */
675 REGB2
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
676 if (UNTAG_Bool(REGB2
)) {
678 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___collection___hash_collection
, 173);
680 REGB2
= ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
681 REGB0
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
682 if (UNTAG_Bool(REGB0
)) {
684 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
686 /* ../lib/standard/kernel.nit:231 */
687 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)<=UNTAG_Int(REGB1
));
688 /* ../lib/standard/collection/hash_collection.nit:173 */
689 if (UNTAG_Bool(REGB1
)) {
692 /* ../lib/standard/collection/hash_collection.nit:176 */
693 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
694 /* ../lib/standard/collection/hash_collection.nit:177 */
696 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
697 if (UNTAG_Bool(REGB1
)) {
699 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
700 if (UNTAG_Bool(REGB2
)) {
701 REGB2
= TAG_Bool(false);
704 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
708 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
709 if (UNTAG_Bool(REGB1
)) {
710 /* ../lib/standard/collection/hash_collection.nit:178 */
711 REGB1
= TAG_Bool(ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[2])!=NIT_NULL
);
712 if (UNTAG_Bool(REGB1
)) {
714 nit_abort("Uninitialized attribute %s", "_key", LOCATE_standard___collection___hash_collection
, 178);
716 fra
.me
.REG
[3] = ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[2]);
717 REGB1
= CALL_standard___collection___hash_collection___HashCollection___index_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
718 /* ../lib/standard/collection/array.nit:718 */
719 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB1
)];
720 /* ../lib/standard/collection/array.nit:719 */
721 ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB1
)]=fra
.me
.REG
[2];
722 /* ../lib/standard/collection/hash_collection.nit:182 */
723 ATTR_standard___collection___hash_collection___HashNode____next_in_bucklet(fra
.me
.REG
[2]) = fra
.me
.REG
[3];
724 /* ../lib/standard/collection/hash_collection.nit:183 */
725 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
726 if (UNTAG_Bool(REGB1
)) {
728 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
729 if (UNTAG_Bool(REGB2
)) {
730 REGB2
= TAG_Bool(false);
733 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
737 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
738 if (UNTAG_Bool(REGB1
)) {
739 ATTR_standard___collection___hash_collection___HashNode____prev_in_bucklet(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
741 /* ../lib/standard/collection/hash_collection.nit:184 */
742 fra
.me
.REG
[3] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[2]);
743 fra
.me
.REG
[2] = fra
.me
.REG
[3];
745 /* ../lib/standard/collection/hash_collection.nit:177 */
751 stack_frame_head
= fra
.me
.prev
;
754 void standard___collection___hash_collection___HashCollection___init(val_t p0
, int* init_table
){
755 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashCollection
].i
;
756 struct {struct stack_frame_t me
;} fra
;
758 if (init_table
[itpos0
]) return;
759 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
760 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
762 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashCollection___init
;
763 fra
.me
.has_broke
= 0;
765 fra
.me
.nitni_local_ref_head
= NULL
;
766 stack_frame_head
= fra
.me
.prev
;
767 init_table
[itpos0
] = 1;
770 val_t
standard___collection___hash_collection___HashNode___next_item(val_t p0
){
771 struct {struct stack_frame_t me
;} fra
;
773 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
774 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
776 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashNode___next_item
;
777 fra
.me
.has_broke
= 0;
779 fra
.me
.nitni_local_ref_head
= NULL
;
780 fra
.me
.REG
[0] = NIT_NULL
;
782 /* ../lib/standard/collection/hash_collection.nit:192 */
783 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[0]);
784 stack_frame_head
= fra
.me
.prev
;
785 return fra
.me
.REG
[0];
787 void standard___collection___hash_collection___HashNode___next_item__eq(val_t p0
, val_t p1
){
788 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
790 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
791 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
793 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashNode___next_item__eq
;
794 fra
.me
.has_broke
= 0;
796 fra
.me
.nitni_local_ref_head
= NULL
;
797 fra
.me
.REG
[0] = NIT_NULL
;
798 fra
.me
.REG
[1] = NIT_NULL
;
801 /* ../lib/standard/collection/hash_collection.nit:192 */
802 ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
803 stack_frame_head
= fra
.me
.prev
;
806 val_t
standard___collection___hash_collection___HashNode___prev_item(val_t p0
){
807 struct {struct stack_frame_t me
;} fra
;
809 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
810 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
812 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashNode___prev_item
;
813 fra
.me
.has_broke
= 0;
815 fra
.me
.nitni_local_ref_head
= NULL
;
816 fra
.me
.REG
[0] = NIT_NULL
;
818 /* ../lib/standard/collection/hash_collection.nit:193 */
819 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashNode____prev_item(fra
.me
.REG
[0]);
820 stack_frame_head
= fra
.me
.prev
;
821 return fra
.me
.REG
[0];
823 void standard___collection___hash_collection___HashNode___prev_item__eq(val_t p0
, val_t p1
){
824 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
826 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
827 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
829 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashNode___prev_item__eq
;
830 fra
.me
.has_broke
= 0;
832 fra
.me
.nitni_local_ref_head
= NULL
;
833 fra
.me
.REG
[0] = NIT_NULL
;
834 fra
.me
.REG
[1] = NIT_NULL
;
837 /* ../lib/standard/collection/hash_collection.nit:193 */
838 ATTR_standard___collection___hash_collection___HashNode____prev_item(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
839 stack_frame_head
= fra
.me
.prev
;
842 void standard___collection___hash_collection___HashNode___init(val_t p0
, val_t p1
, int* init_table
){
843 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashNode
].i
;
844 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
846 if (init_table
[itpos1
]) return;
847 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
848 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
850 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashNode___init
;
851 fra
.me
.has_broke
= 0;
853 fra
.me
.nitni_local_ref_head
= NULL
;
854 fra
.me
.REG
[0] = NIT_NULL
;
855 fra
.me
.REG
[1] = NIT_NULL
;
858 /* ../lib/standard/collection/hash_collection.nit:198 */
859 ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
860 stack_frame_head
= fra
.me
.prev
;
861 init_table
[itpos1
] = 1;
864 val_t
standard___collection___hash_collection___HashMap_____bra(val_t p0
, val_t p1
){
865 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
869 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
870 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
872 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap_____bra
;
873 fra
.me
.has_broke
= 0;
875 fra
.me
.nitni_local_ref_head
= NULL
;
876 fra
.me
.REG
[0] = NIT_NULL
;
877 fra
.me
.REG
[1] = NIT_NULL
;
880 /* ../lib/standard/collection/hash_collection.nit:210 */
881 fra
.me
.REG
[1] = CALL_standard___collection___hash_collection___HashCollection___node_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
882 /* ../lib/standard/collection/hash_collection.nit:211 */
883 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
884 if (UNTAG_Bool(REGB0
)) {
886 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
887 if (UNTAG_Bool(REGB1
)) {
888 REGB1
= TAG_Bool(false);
891 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
895 if (UNTAG_Bool(REGB0
)) {
896 /* ../lib/standard/collection/hash_collection.nit:212 */
897 nit_abort("Aborted", NULL
, LOCATE_standard___collection___hash_collection
, 212);
899 /* ../lib/standard/collection/hash_collection.nit:214 */
900 fra
.me
.REG
[1] = ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[1]);
904 stack_frame_head
= fra
.me
.prev
;
905 return fra
.me
.REG
[1];
907 val_t
standard___collection___hash_collection___HashMap___iterator(val_t p0
){
908 struct {struct stack_frame_t me
;} fra
;
910 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
911 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
913 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap___iterator
;
914 fra
.me
.has_broke
= 0;
916 fra
.me
.nitni_local_ref_head
= NULL
;
917 fra
.me
.REG
[0] = NIT_NULL
;
919 /* ../lib/standard/collection/hash_collection.nit:218 */
920 fra
.me
.REG
[0] = NEW_HashMapIterator_standard___collection___hash_collection___HashMapIterator___init(fra
.me
.REG
[0]);
923 stack_frame_head
= fra
.me
.prev
;
924 return fra
.me
.REG
[0];
926 void standard___collection___hash_collection___HashMap___iterate(val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
927 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
932 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
933 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
935 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap___iterate
;
936 fra
.me
.has_broke
= 0;
938 fra
.me
.nitni_local_ref_head
= NULL
;
939 fra
.me
.REG
[0] = NIT_NULL
;
940 fra
.me
.REG
[1] = NIT_NULL
;
941 fra
.me
.REG
[2] = NIT_NULL
;
942 fra
.me
.closure_ctx
= closctx_param
;
943 fra
.me
.closure_funs
= CREG
;
946 /* ../lib/standard/collection/hash_collection.nit:223 */
947 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
948 /* ../lib/standard/collection/hash_collection.nit:224 */
950 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
951 if (UNTAG_Bool(REGB0
)) {
953 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
954 if (UNTAG_Bool(REGB1
)) {
955 REGB1
= TAG_Bool(false);
958 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
962 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
963 if (UNTAG_Bool(REGB0
)) {
964 /* ../lib/standard/collection/hash_collection.nit:225 */
965 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0])!=NIT_NULL
);
966 if (UNTAG_Bool(REGB0
)) {
968 nit_abort("Uninitialized attribute %s", "_key", LOCATE_standard___collection___hash_collection
, 225);
970 fra
.me
.REG
[1] = ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0]);
971 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[0]);
972 ((void (*)(struct stack_frame_t
*, val_t
, val_t
))(CREG
[0]))(closctx_param
, fra
.me
.REG
[1], fra
.me
.REG
[2]);
973 if (closctx_param
->has_broke
) {
976 /* ../lib/standard/collection/hash_collection.nit:226 */
977 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[0]);
978 fra
.me
.REG
[0] = fra
.me
.REG
[2];
980 /* ../lib/standard/collection/hash_collection.nit:224 */
986 stack_frame_head
= fra
.me
.prev
;
989 val_t
standard___collection___hash_collection___HashMap___length(val_t p0
){
990 struct {struct stack_frame_t me
;} fra
;
993 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
994 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
996 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap___length
;
997 fra
.me
.has_broke
= 0;
999 fra
.me
.nitni_local_ref_head
= NULL
;
1000 fra
.me
.REG
[0] = NIT_NULL
;
1002 /* ../lib/standard/collection/hash_collection.nit:230 */
1003 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
1004 if (UNTAG_Bool(REGB0
)) {
1006 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___hash_collection
, 230);
1008 REGB0
= ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]);
1011 stack_frame_head
= fra
.me
.prev
;
1014 val_t
standard___collection___hash_collection___HashMap___is_empty(val_t p0
){
1015 struct {struct stack_frame_t me
;} fra
;
1020 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1021 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1023 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap___is_empty
;
1024 fra
.me
.has_broke
= 0;
1025 fra
.me
.REG_size
= 1;
1026 fra
.me
.nitni_local_ref_head
= NULL
;
1027 fra
.me
.REG
[0] = NIT_NULL
;
1029 /* ../lib/standard/collection/hash_collection.nit:232 */
1030 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
1031 if (UNTAG_Bool(REGB0
)) {
1033 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___hash_collection
, 232);
1035 REGB0
= ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]);
1037 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
1038 if (UNTAG_Bool(REGB2
)) {
1040 /* ../lib/standard/kernel.nit:227 */
1041 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
1042 /* ../lib/standard/collection/hash_collection.nit:232 */
1047 stack_frame_head
= fra
.me
.prev
;
1050 void standard___collection___hash_collection___HashMap_____braeq(val_t p0
, val_t p1
, val_t p2
){
1051 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1056 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1057 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1059 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap_____braeq
;
1060 fra
.me
.has_broke
= 0;
1061 fra
.me
.REG_size
= 4;
1062 fra
.me
.nitni_local_ref_head
= NULL
;
1063 fra
.me
.REG
[0] = NIT_NULL
;
1064 fra
.me
.REG
[1] = NIT_NULL
;
1065 fra
.me
.REG
[2] = NIT_NULL
;
1066 fra
.me
.REG
[3] = NIT_NULL
;
1070 /* ../lib/standard/collection/hash_collection.nit:236 */
1071 REGB0
= CALL_standard___collection___hash_collection___HashCollection___index_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1072 /* ../lib/standard/collection/hash_collection.nit:237 */
1073 fra
.me
.REG
[3] = CALL_standard___collection___hash_collection___HashCollection___node_at_idx(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[1]);
1074 /* ../lib/standard/collection/hash_collection.nit:238 */
1075 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1076 if (UNTAG_Bool(REGB1
)) {
1078 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1079 if (UNTAG_Bool(REGB2
)) {
1080 REGB2
= TAG_Bool(false);
1083 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1087 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1088 if (UNTAG_Bool(REGB1
)) {
1089 /* ../lib/standard/collection/hash_collection.nit:239 */
1090 ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[3]) = fra
.me
.REG
[1];
1091 /* ../lib/standard/collection/hash_collection.nit:240 */
1092 ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
1094 /* ../lib/standard/collection/hash_collection.nit:242 */
1095 fra
.me
.REG
[2] = NEW_HashMapNode_standard___collection___hash_collection___HashMapNode___init(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1096 CALL_standard___collection___hash_collection___HashCollection___store(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[2]);
1098 stack_frame_head
= fra
.me
.prev
;
1101 void standard___collection___hash_collection___HashMap___clear(val_t p0
){
1102 struct {struct stack_frame_t me
;} fra
;
1104 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1105 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1107 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap___clear
;
1108 fra
.me
.has_broke
= 0;
1109 fra
.me
.REG_size
= 1;
1110 fra
.me
.nitni_local_ref_head
= NULL
;
1111 fra
.me
.REG
[0] = NIT_NULL
;
1113 /* ../lib/standard/collection/hash_collection.nit:246 */
1114 CALL_standard___collection___hash_collection___HashCollection___raz(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1115 stack_frame_head
= fra
.me
.prev
;
1118 void standard___collection___hash_collection___HashMap___init(val_t p0
, int* init_table
){
1119 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashMap
].i
;
1120 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1123 if (init_table
[itpos2
]) return;
1124 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1125 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1127 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap___init
;
1128 fra
.me
.has_broke
= 0;
1129 fra
.me
.REG_size
= 2;
1130 fra
.me
.nitni_local_ref_head
= NULL
;
1131 fra
.me
.REG
[0] = NIT_NULL
;
1132 fra
.me
.REG
[1] = NIT_NULL
;
1134 /* ../lib/standard/collection/hash_collection.nit:248 */
1135 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1136 CALL_standard___collection___hash_collection___HashCollection___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
1137 /* ../lib/standard/collection/hash_collection.nit:250 */
1139 ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[1]) = REGB0
;
1140 /* ../lib/standard/collection/hash_collection.nit:251 */
1142 ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[1]) = REGB0
;
1143 /* ../lib/standard/collection/hash_collection.nit:252 */
1145 CALL_standard___collection___hash_collection___HashCollection___enlarge(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
1146 stack_frame_head
= fra
.me
.prev
;
1147 init_table
[itpos2
] = 1;
1150 val_t
standard___collection___hash_collection___HashMap___keys(val_t p0
){
1151 struct {struct stack_frame_t me
;} fra
;
1154 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1155 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1157 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap___keys
;
1158 fra
.me
.has_broke
= 0;
1159 fra
.me
.REG_size
= 1;
1160 fra
.me
.nitni_local_ref_head
= NULL
;
1161 fra
.me
.REG
[0] = NIT_NULL
;
1163 /* ../lib/standard/collection/hash_collection.nit:255 */
1164 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashMap_____atkeys(fra
.me
.REG
[0])!=NIT_NULL
);
1165 if (UNTAG_Bool(REGB0
)) {
1167 nit_abort("Uninitialized attribute %s", "@keys", LOCATE_standard___collection___hash_collection
, 255);
1169 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashMap_____atkeys(fra
.me
.REG
[0]);
1170 stack_frame_head
= fra
.me
.prev
;
1171 return fra
.me
.REG
[0];
1173 void standard___collection___hash_collection___HashMap___keys__eq(val_t p0
, val_t p1
){
1174 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1176 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1177 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1179 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap___keys__eq
;
1180 fra
.me
.has_broke
= 0;
1181 fra
.me
.REG_size
= 2;
1182 fra
.me
.nitni_local_ref_head
= NULL
;
1183 fra
.me
.REG
[0] = NIT_NULL
;
1184 fra
.me
.REG
[1] = NIT_NULL
;
1187 /* ../lib/standard/collection/hash_collection.nit:255 */
1188 ATTR_standard___collection___hash_collection___HashMap_____atkeys(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1189 stack_frame_head
= fra
.me
.prev
;
1192 val_t
standard___collection___hash_collection___HashMap___values(val_t p0
){
1193 struct {struct stack_frame_t me
;} fra
;
1196 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1197 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1199 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap___values
;
1200 fra
.me
.has_broke
= 0;
1201 fra
.me
.REG_size
= 1;
1202 fra
.me
.nitni_local_ref_head
= NULL
;
1203 fra
.me
.REG
[0] = NIT_NULL
;
1205 /* ../lib/standard/collection/hash_collection.nit:256 */
1206 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashMap_____atvalues(fra
.me
.REG
[0])!=NIT_NULL
);
1207 if (UNTAG_Bool(REGB0
)) {
1209 nit_abort("Uninitialized attribute %s", "@values", LOCATE_standard___collection___hash_collection
, 256);
1211 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashMap_____atvalues(fra
.me
.REG
[0]);
1212 stack_frame_head
= fra
.me
.prev
;
1213 return fra
.me
.REG
[0];
1215 void standard___collection___hash_collection___HashMap___values__eq(val_t p0
, val_t p1
){
1216 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1218 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1219 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1221 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap___values__eq
;
1222 fra
.me
.has_broke
= 0;
1223 fra
.me
.REG_size
= 2;
1224 fra
.me
.nitni_local_ref_head
= NULL
;
1225 fra
.me
.REG
[0] = NIT_NULL
;
1226 fra
.me
.REG
[1] = NIT_NULL
;
1229 /* ../lib/standard/collection/hash_collection.nit:256 */
1230 ATTR_standard___collection___hash_collection___HashMap_____atvalues(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1231 stack_frame_head
= fra
.me
.prev
;
1234 val_t
standard___collection___hash_collection___HashMapKeys___map(val_t p0
){
1235 struct {struct stack_frame_t me
;} fra
;
1238 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1239 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1241 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___map
;
1242 fra
.me
.has_broke
= 0;
1243 fra
.me
.REG_size
= 1;
1244 fra
.me
.nitni_local_ref_head
= NULL
;
1245 fra
.me
.REG
[0] = NIT_NULL
;
1247 /* ../lib/standard/collection/hash_collection.nit:262 */
1248 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashMapKeys_____atmap(fra
.me
.REG
[0])!=NIT_NULL
);
1249 if (UNTAG_Bool(REGB0
)) {
1251 nit_abort("Uninitialized attribute %s", "@map", LOCATE_standard___collection___hash_collection
, 262);
1253 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashMapKeys_____atmap(fra
.me
.REG
[0]);
1254 stack_frame_head
= fra
.me
.prev
;
1255 return fra
.me
.REG
[0];
1257 void standard___collection___hash_collection___HashMapKeys___map__eq(val_t p0
, val_t p1
){
1258 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1260 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1261 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1263 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___map__eq
;
1264 fra
.me
.has_broke
= 0;
1265 fra
.me
.REG_size
= 2;
1266 fra
.me
.nitni_local_ref_head
= NULL
;
1267 fra
.me
.REG
[0] = NIT_NULL
;
1268 fra
.me
.REG
[1] = NIT_NULL
;
1271 /* ../lib/standard/collection/hash_collection.nit:262 */
1272 ATTR_standard___collection___hash_collection___HashMapKeys_____atmap(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1273 stack_frame_head
= fra
.me
.prev
;
1276 val_t
standard___collection___hash_collection___HashMapKeys___count(val_t p0
, val_t p1
){
1277 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1281 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1282 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1284 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___count
;
1285 fra
.me
.has_broke
= 0;
1286 fra
.me
.REG_size
= 2;
1287 fra
.me
.nitni_local_ref_head
= NULL
;
1288 fra
.me
.REG
[0] = NIT_NULL
;
1289 fra
.me
.REG
[1] = NIT_NULL
;
1292 /* ../lib/standard/collection/hash_collection.nit:265 */
1293 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1294 if (UNTAG_Bool(REGB0
)) {
1303 stack_frame_head
= fra
.me
.prev
;
1306 val_t
standard___collection___hash_collection___HashMapKeys___first(val_t p0
){
1307 struct {struct stack_frame_t me
;} fra
;
1310 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1311 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1313 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___first
;
1314 fra
.me
.has_broke
= 0;
1315 fra
.me
.REG_size
= 1;
1316 fra
.me
.nitni_local_ref_head
= NULL
;
1317 fra
.me
.REG
[0] = NIT_NULL
;
1319 /* ../lib/standard/collection/hash_collection.nit:266 */
1320 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1321 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
1322 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1323 if (UNTAG_Bool(REGB0
)) {
1324 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 266);
1326 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0])!=NIT_NULL
);
1327 if (UNTAG_Bool(REGB0
)) {
1329 nit_abort("Uninitialized attribute %s", "_key", LOCATE_standard___collection___hash_collection
, 266);
1331 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0]);
1334 stack_frame_head
= fra
.me
.prev
;
1335 return fra
.me
.REG
[0];
1337 val_t
standard___collection___hash_collection___HashMapKeys___has(val_t p0
, val_t p1
){
1338 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1342 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1343 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1345 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___has
;
1346 fra
.me
.has_broke
= 0;
1347 fra
.me
.REG_size
= 2;
1348 fra
.me
.nitni_local_ref_head
= NULL
;
1349 fra
.me
.REG
[0] = NIT_NULL
;
1350 fra
.me
.REG
[1] = NIT_NULL
;
1353 /* ../lib/standard/collection/hash_collection.nit:267 */
1354 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1355 fra
.me
.REG
[1] = CALL_standard___collection___hash_collection___HashCollection___node_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1356 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1357 if (UNTAG_Bool(REGB0
)) {
1359 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1360 if (UNTAG_Bool(REGB1
)) {
1361 REGB1
= TAG_Bool(false);
1364 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1368 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1371 stack_frame_head
= fra
.me
.prev
;
1374 val_t
standard___collection___hash_collection___HashMapKeys___has_only(val_t p0
, val_t p1
){
1375 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1380 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1381 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1383 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___has_only
;
1384 fra
.me
.has_broke
= 0;
1385 fra
.me
.REG_size
= 2;
1386 fra
.me
.nitni_local_ref_head
= NULL
;
1387 fra
.me
.REG
[0] = NIT_NULL
;
1388 fra
.me
.REG
[1] = NIT_NULL
;
1391 /* ../lib/standard/collection/hash_collection.nit:268 */
1392 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1393 if (UNTAG_Bool(REGB0
)) {
1394 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1396 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
1397 if (UNTAG_Bool(REGB2
)) {
1399 /* ../lib/standard/kernel.nit:227 */
1400 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
1401 /* ../lib/standard/collection/hash_collection.nit:268 */
1405 REGB1
= TAG_Bool(false);
1408 if (UNTAG_Bool(REGB2
)) {
1409 REGB2
= TAG_Bool(true);
1411 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1416 stack_frame_head
= fra
.me
.prev
;
1419 val_t
standard___collection___hash_collection___HashMapKeys___is_empty(val_t p0
){
1420 struct {struct stack_frame_t me
;} fra
;
1423 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1424 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1426 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___is_empty
;
1427 fra
.me
.has_broke
= 0;
1428 fra
.me
.REG_size
= 1;
1429 fra
.me
.nitni_local_ref_head
= NULL
;
1430 fra
.me
.REG
[0] = NIT_NULL
;
1432 /* ../lib/standard/collection/hash_collection.nit:269 */
1433 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1434 REGB0
= CALL_standard___collection___abstract_collection___MapRead___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1437 stack_frame_head
= fra
.me
.prev
;
1440 val_t
standard___collection___hash_collection___HashMapKeys___length(val_t p0
){
1441 struct {struct stack_frame_t me
;} fra
;
1444 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1445 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1447 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___length
;
1448 fra
.me
.has_broke
= 0;
1449 fra
.me
.REG_size
= 1;
1450 fra
.me
.nitni_local_ref_head
= NULL
;
1451 fra
.me
.REG
[0] = NIT_NULL
;
1453 /* ../lib/standard/collection/hash_collection.nit:270 */
1454 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1455 REGB0
= CALL_standard___collection___abstract_collection___MapRead___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1458 stack_frame_head
= fra
.me
.prev
;
1461 val_t
standard___collection___hash_collection___HashMapKeys___iterator(val_t p0
){
1462 struct {struct stack_frame_t me
;} fra
;
1464 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1465 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1467 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___iterator
;
1468 fra
.me
.has_broke
= 0;
1469 fra
.me
.REG_size
= 1;
1470 fra
.me
.nitni_local_ref_head
= NULL
;
1471 fra
.me
.REG
[0] = NIT_NULL
;
1473 /* ../lib/standard/collection/hash_collection.nit:272 */
1474 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1475 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1476 fra
.me
.REG
[0] = NEW_MapKeysIterator_standard___collection___abstract_collection___MapKeysIterator___init(fra
.me
.REG
[0]);
1479 stack_frame_head
= fra
.me
.prev
;
1480 return fra
.me
.REG
[0];
1482 void standard___collection___hash_collection___HashMapKeys___clear(val_t p0
){
1483 struct {struct stack_frame_t me
;} fra
;
1485 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1486 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1488 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___clear
;
1489 fra
.me
.has_broke
= 0;
1490 fra
.me
.REG_size
= 1;
1491 fra
.me
.nitni_local_ref_head
= NULL
;
1492 fra
.me
.REG
[0] = NIT_NULL
;
1494 /* ../lib/standard/collection/hash_collection.nit:274 */
1495 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1496 CALL_standard___collection___abstract_collection___Map___clear(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1497 stack_frame_head
= fra
.me
.prev
;
1500 void standard___collection___hash_collection___HashMapKeys___remove(val_t p0
, val_t p1
){
1501 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1503 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1504 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1506 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___remove
;
1507 fra
.me
.has_broke
= 0;
1508 fra
.me
.REG_size
= 2;
1509 fra
.me
.nitni_local_ref_head
= NULL
;
1510 fra
.me
.REG
[0] = NIT_NULL
;
1511 fra
.me
.REG
[1] = NIT_NULL
;
1514 /* ../lib/standard/collection/hash_collection.nit:276 */
1515 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1516 CALL_standard___collection___hash_collection___HashCollection___remove_node(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1517 stack_frame_head
= fra
.me
.prev
;
1520 void standard___collection___hash_collection___HashMapKeys___remove_all(val_t p0
, val_t p1
){
1521 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1523 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1524 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1526 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___remove_all
;
1527 fra
.me
.has_broke
= 0;
1528 fra
.me
.REG_size
= 2;
1529 fra
.me
.nitni_local_ref_head
= NULL
;
1530 fra
.me
.REG
[0] = NIT_NULL
;
1531 fra
.me
.REG
[1] = NIT_NULL
;
1534 /* ../lib/standard/collection/hash_collection.nit:277 */
1535 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1536 CALL_standard___collection___hash_collection___HashCollection___remove_node(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1537 stack_frame_head
= fra
.me
.prev
;
1540 void standard___collection___hash_collection___HashMapKeys___init(val_t p0
, val_t p1
, int* init_table
){
1541 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashMapKeys
].i
;
1542 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1544 if (init_table
[itpos3
]) return;
1545 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1546 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1548 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___init
;
1549 fra
.me
.has_broke
= 0;
1550 fra
.me
.REG_size
= 2;
1551 fra
.me
.nitni_local_ref_head
= NULL
;
1552 fra
.me
.REG
[0] = NIT_NULL
;
1553 fra
.me
.REG
[1] = NIT_NULL
;
1556 ATTR_standard___collection___hash_collection___HashMapKeys_____atmap(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1557 stack_frame_head
= fra
.me
.prev
;
1558 init_table
[itpos3
] = 1;
1561 val_t
standard___collection___hash_collection___HashMapValues___map(val_t p0
){
1562 struct {struct stack_frame_t me
;} fra
;
1565 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1566 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1568 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___map
;
1569 fra
.me
.has_broke
= 0;
1570 fra
.me
.REG_size
= 1;
1571 fra
.me
.nitni_local_ref_head
= NULL
;
1572 fra
.me
.REG
[0] = NIT_NULL
;
1574 /* ../lib/standard/collection/hash_collection.nit:283 */
1575 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashMapValues_____atmap(fra
.me
.REG
[0])!=NIT_NULL
);
1576 if (UNTAG_Bool(REGB0
)) {
1578 nit_abort("Uninitialized attribute %s", "@map", LOCATE_standard___collection___hash_collection
, 283);
1580 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashMapValues_____atmap(fra
.me
.REG
[0]);
1581 stack_frame_head
= fra
.me
.prev
;
1582 return fra
.me
.REG
[0];
1584 void standard___collection___hash_collection___HashMapValues___map__eq(val_t p0
, val_t p1
){
1585 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1587 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1588 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1590 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___map__eq
;
1591 fra
.me
.has_broke
= 0;
1592 fra
.me
.REG_size
= 2;
1593 fra
.me
.nitni_local_ref_head
= NULL
;
1594 fra
.me
.REG
[0] = NIT_NULL
;
1595 fra
.me
.REG
[1] = NIT_NULL
;
1598 /* ../lib/standard/collection/hash_collection.nit:283 */
1599 ATTR_standard___collection___hash_collection___HashMapValues_____atmap(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1600 stack_frame_head
= fra
.me
.prev
;
1603 val_t
standard___collection___hash_collection___HashMapValues___count(val_t p0
, val_t p1
){
1604 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1609 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1610 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1612 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___count
;
1613 fra
.me
.has_broke
= 0;
1614 fra
.me
.REG_size
= 3;
1615 fra
.me
.nitni_local_ref_head
= NULL
;
1616 fra
.me
.REG
[0] = NIT_NULL
;
1617 fra
.me
.REG
[1] = NIT_NULL
;
1618 fra
.me
.REG
[2] = NIT_NULL
;
1621 /* ../lib/standard/collection/hash_collection.nit:288 */
1623 /* ../lib/standard/collection/hash_collection.nit:289 */
1624 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1625 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
1626 /* ../lib/standard/collection/hash_collection.nit:290 */
1628 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1629 if (UNTAG_Bool(REGB1
)) {
1631 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1632 if (UNTAG_Bool(REGB2
)) {
1633 REGB2
= TAG_Bool(false);
1636 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
1640 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1641 if (UNTAG_Bool(REGB1
)) {
1642 /* ../lib/standard/collection/hash_collection.nit:291 */
1643 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[0]);
1644 REGB1
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1645 if (UNTAG_Bool(REGB1
)) {
1647 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1648 if (UNTAG_Bool(REGB2
)) {
1649 REGB2
= TAG_Bool(false);
1652 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1656 if (UNTAG_Bool(REGB1
)) {
1658 /* ../lib/standard/kernel.nit:235 */
1659 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1660 /* ../lib/standard/collection/hash_collection.nit:291 */
1663 /* ../lib/standard/collection/hash_collection.nit:292 */
1664 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[0]);
1665 fra
.me
.REG
[0] = fra
.me
.REG
[2];
1667 /* ../lib/standard/collection/hash_collection.nit:290 */
1672 /* ../lib/standard/collection/hash_collection.nit:294 */
1675 stack_frame_head
= fra
.me
.prev
;
1678 val_t
standard___collection___hash_collection___HashMapValues___first(val_t p0
){
1679 struct {struct stack_frame_t me
;} fra
;
1682 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1683 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1685 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___first
;
1686 fra
.me
.has_broke
= 0;
1687 fra
.me
.REG_size
= 1;
1688 fra
.me
.nitni_local_ref_head
= NULL
;
1689 fra
.me
.REG
[0] = NIT_NULL
;
1691 /* ../lib/standard/collection/hash_collection.nit:296 */
1692 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1693 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
1694 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1695 if (UNTAG_Bool(REGB0
)) {
1696 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 296);
1698 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[0]);
1701 stack_frame_head
= fra
.me
.prev
;
1702 return fra
.me
.REG
[0];
1704 val_t
standard___collection___hash_collection___HashMapValues___has(val_t p0
, val_t p1
){
1705 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1709 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1710 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1712 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___has
;
1713 fra
.me
.has_broke
= 0;
1714 fra
.me
.REG_size
= 3;
1715 fra
.me
.nitni_local_ref_head
= NULL
;
1716 fra
.me
.REG
[0] = NIT_NULL
;
1717 fra
.me
.REG
[1] = NIT_NULL
;
1718 fra
.me
.REG
[2] = NIT_NULL
;
1721 /* ../lib/standard/collection/hash_collection.nit:300 */
1722 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1723 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
1724 /* ../lib/standard/collection/hash_collection.nit:301 */
1726 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1727 if (UNTAG_Bool(REGB0
)) {
1729 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1730 if (UNTAG_Bool(REGB1
)) {
1731 REGB1
= TAG_Bool(false);
1734 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
1738 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1739 if (UNTAG_Bool(REGB0
)) {
1740 /* ../lib/standard/collection/hash_collection.nit:302 */
1741 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[0]);
1742 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1743 if (UNTAG_Bool(REGB0
)) {
1745 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1746 if (UNTAG_Bool(REGB1
)) {
1747 REGB1
= TAG_Bool(false);
1750 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1754 if (UNTAG_Bool(REGB0
)) {
1755 REGB0
= TAG_Bool(true);
1758 /* ../lib/standard/collection/hash_collection.nit:303 */
1759 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[0]);
1760 fra
.me
.REG
[0] = fra
.me
.REG
[2];
1762 /* ../lib/standard/collection/hash_collection.nit:301 */
1767 /* ../lib/standard/collection/hash_collection.nit:305 */
1768 REGB1
= TAG_Bool(false);
1772 stack_frame_head
= fra
.me
.prev
;
1775 val_t
standard___collection___hash_collection___HashMapValues___has_only(val_t p0
, val_t p1
){
1776 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1780 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1781 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1783 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___has_only
;
1784 fra
.me
.has_broke
= 0;
1785 fra
.me
.REG_size
= 3;
1786 fra
.me
.nitni_local_ref_head
= NULL
;
1787 fra
.me
.REG
[0] = NIT_NULL
;
1788 fra
.me
.REG
[1] = NIT_NULL
;
1789 fra
.me
.REG
[2] = NIT_NULL
;
1792 /* ../lib/standard/collection/hash_collection.nit:310 */
1793 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1794 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
1795 /* ../lib/standard/collection/hash_collection.nit:311 */
1797 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1798 if (UNTAG_Bool(REGB0
)) {
1800 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1801 if (UNTAG_Bool(REGB1
)) {
1802 REGB1
= TAG_Bool(false);
1805 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
1809 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1810 if (UNTAG_Bool(REGB0
)) {
1811 /* ../lib/standard/collection/hash_collection.nit:312 */
1812 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[0]);
1813 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1814 if (UNTAG_Bool(REGB0
)) {
1816 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1817 if (UNTAG_Bool(REGB1
)) {
1818 REGB1
= TAG_Bool(false);
1821 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1825 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1826 if (UNTAG_Bool(REGB0
)) {
1827 REGB0
= TAG_Bool(false);
1830 /* ../lib/standard/collection/hash_collection.nit:313 */
1831 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[0]);
1832 fra
.me
.REG
[0] = fra
.me
.REG
[2];
1834 /* ../lib/standard/collection/hash_collection.nit:311 */
1839 /* ../lib/standard/collection/hash_collection.nit:315 */
1840 REGB1
= TAG_Bool(true);
1844 stack_frame_head
= fra
.me
.prev
;
1847 val_t
standard___collection___hash_collection___HashMapValues___is_empty(val_t p0
){
1848 struct {struct stack_frame_t me
;} fra
;
1851 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1852 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1854 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___is_empty
;
1855 fra
.me
.has_broke
= 0;
1856 fra
.me
.REG_size
= 1;
1857 fra
.me
.nitni_local_ref_head
= NULL
;
1858 fra
.me
.REG
[0] = NIT_NULL
;
1860 /* ../lib/standard/collection/hash_collection.nit:318 */
1861 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1862 REGB0
= CALL_standard___collection___abstract_collection___MapRead___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1865 stack_frame_head
= fra
.me
.prev
;
1868 val_t
standard___collection___hash_collection___HashMapValues___length(val_t p0
){
1869 struct {struct stack_frame_t me
;} fra
;
1872 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1873 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1875 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___length
;
1876 fra
.me
.has_broke
= 0;
1877 fra
.me
.REG_size
= 1;
1878 fra
.me
.nitni_local_ref_head
= NULL
;
1879 fra
.me
.REG
[0] = NIT_NULL
;
1881 /* ../lib/standard/collection/hash_collection.nit:319 */
1882 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1883 REGB0
= CALL_standard___collection___abstract_collection___MapRead___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1886 stack_frame_head
= fra
.me
.prev
;
1889 val_t
standard___collection___hash_collection___HashMapValues___iterator(val_t p0
){
1890 struct {struct stack_frame_t me
;} fra
;
1892 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1893 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1895 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___iterator
;
1896 fra
.me
.has_broke
= 0;
1897 fra
.me
.REG_size
= 1;
1898 fra
.me
.nitni_local_ref_head
= NULL
;
1899 fra
.me
.REG
[0] = NIT_NULL
;
1901 /* ../lib/standard/collection/hash_collection.nit:321 */
1902 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1903 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1904 fra
.me
.REG
[0] = NEW_MapValuesIterator_standard___collection___abstract_collection___MapValuesIterator___init(fra
.me
.REG
[0]);
1907 stack_frame_head
= fra
.me
.prev
;
1908 return fra
.me
.REG
[0];
1910 void standard___collection___hash_collection___HashMapValues___clear(val_t p0
){
1911 struct {struct stack_frame_t me
;} fra
;
1913 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1914 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1916 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___clear
;
1917 fra
.me
.has_broke
= 0;
1918 fra
.me
.REG_size
= 1;
1919 fra
.me
.nitni_local_ref_head
= NULL
;
1920 fra
.me
.REG
[0] = NIT_NULL
;
1922 /* ../lib/standard/collection/hash_collection.nit:323 */
1923 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1924 CALL_standard___collection___abstract_collection___Map___clear(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1925 stack_frame_head
= fra
.me
.prev
;
1928 void standard___collection___hash_collection___HashMapValues___remove(val_t p0
, val_t p1
){
1929 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1933 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1934 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1936 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___remove
;
1937 fra
.me
.has_broke
= 0;
1938 fra
.me
.REG_size
= 4;
1939 fra
.me
.nitni_local_ref_head
= NULL
;
1940 fra
.me
.REG
[0] = NIT_NULL
;
1941 fra
.me
.REG
[1] = NIT_NULL
;
1942 fra
.me
.REG
[2] = NIT_NULL
;
1943 fra
.me
.REG
[3] = NIT_NULL
;
1946 /* ../lib/standard/collection/hash_collection.nit:327 */
1947 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1948 /* ../lib/standard/collection/hash_collection.nit:328 */
1949 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
1950 /* ../lib/standard/collection/hash_collection.nit:329 */
1952 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1953 if (UNTAG_Bool(REGB0
)) {
1955 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1956 if (UNTAG_Bool(REGB1
)) {
1957 REGB1
= TAG_Bool(false);
1960 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1964 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1965 if (UNTAG_Bool(REGB0
)) {
1966 /* ../lib/standard/collection/hash_collection.nit:330 */
1967 fra
.me
.REG
[3] = ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[2]);
1968 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[3],fra
.me
.REG
[1]));
1969 if (UNTAG_Bool(REGB0
)) {
1971 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1972 if (UNTAG_Bool(REGB1
)) {
1973 REGB1
= TAG_Bool(false);
1976 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1980 if (UNTAG_Bool(REGB0
)) {
1981 /* ../lib/standard/collection/hash_collection.nit:331 */
1982 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[2])!=NIT_NULL
);
1983 if (UNTAG_Bool(REGB0
)) {
1985 nit_abort("Uninitialized attribute %s", "_key", LOCATE_standard___collection___hash_collection
, 331);
1987 fra
.me
.REG
[3] = ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[2]);
1988 CALL_standard___collection___hash_collection___HashCollection___remove_node(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1989 /* ../lib/standard/collection/hash_collection.nit:332 */
1992 /* ../lib/standard/collection/hash_collection.nit:334 */
1993 fra
.me
.REG
[3] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[2]);
1994 fra
.me
.REG
[2] = fra
.me
.REG
[3];
1996 /* ../lib/standard/collection/hash_collection.nit:329 */
2002 stack_frame_head
= fra
.me
.prev
;
2005 void standard___collection___hash_collection___HashMapValues___remove_all(val_t p0
, val_t p1
){
2006 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2010 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2011 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2013 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___remove_all
;
2014 fra
.me
.has_broke
= 0;
2015 fra
.me
.REG_size
= 4;
2016 fra
.me
.nitni_local_ref_head
= NULL
;
2017 fra
.me
.REG
[0] = NIT_NULL
;
2018 fra
.me
.REG
[1] = NIT_NULL
;
2019 fra
.me
.REG
[2] = NIT_NULL
;
2020 fra
.me
.REG
[3] = NIT_NULL
;
2023 /* ../lib/standard/collection/hash_collection.nit:340 */
2024 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2025 /* ../lib/standard/collection/hash_collection.nit:341 */
2026 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
2027 /* ../lib/standard/collection/hash_collection.nit:342 */
2029 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2030 if (UNTAG_Bool(REGB0
)) {
2032 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2033 if (UNTAG_Bool(REGB1
)) {
2034 REGB1
= TAG_Bool(false);
2037 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
2041 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2042 if (UNTAG_Bool(REGB0
)) {
2043 /* ../lib/standard/collection/hash_collection.nit:343 */
2044 fra
.me
.REG
[3] = ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[2]);
2045 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[3],fra
.me
.REG
[1]));
2046 if (UNTAG_Bool(REGB0
)) {
2048 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2049 if (UNTAG_Bool(REGB1
)) {
2050 REGB1
= TAG_Bool(false);
2053 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
2057 if (UNTAG_Bool(REGB0
)) {
2058 /* ../lib/standard/collection/hash_collection.nit:344 */
2059 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[2])!=NIT_NULL
);
2060 if (UNTAG_Bool(REGB0
)) {
2062 nit_abort("Uninitialized attribute %s", "_key", LOCATE_standard___collection___hash_collection
, 344);
2064 fra
.me
.REG
[3] = ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[2]);
2065 CALL_standard___collection___hash_collection___HashCollection___remove_node(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
2067 /* ../lib/standard/collection/hash_collection.nit:346 */
2068 fra
.me
.REG
[3] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[2]);
2069 fra
.me
.REG
[2] = fra
.me
.REG
[3];
2071 /* ../lib/standard/collection/hash_collection.nit:342 */
2076 stack_frame_head
= fra
.me
.prev
;
2079 void standard___collection___hash_collection___HashMapValues___init(val_t p0
, val_t p1
, int* init_table
){
2080 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashMapValues
].i
;
2081 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2083 if (init_table
[itpos4
]) return;
2084 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2085 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2087 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___init
;
2088 fra
.me
.has_broke
= 0;
2089 fra
.me
.REG_size
= 2;
2090 fra
.me
.nitni_local_ref_head
= NULL
;
2091 fra
.me
.REG
[0] = NIT_NULL
;
2092 fra
.me
.REG
[1] = NIT_NULL
;
2095 ATTR_standard___collection___hash_collection___HashMapValues_____atmap(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2096 stack_frame_head
= fra
.me
.prev
;
2097 init_table
[itpos4
] = 1;
2100 void standard___collection___hash_collection___HashMapNode___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2101 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashMapNode
].i
;
2102 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2104 if (init_table
[itpos5
]) return;
2105 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2106 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2108 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapNode___init
;
2109 fra
.me
.has_broke
= 0;
2110 fra
.me
.REG_size
= 4;
2111 fra
.me
.nitni_local_ref_head
= NULL
;
2112 fra
.me
.REG
[0] = NIT_NULL
;
2113 fra
.me
.REG
[1] = NIT_NULL
;
2114 fra
.me
.REG
[2] = NIT_NULL
;
2115 fra
.me
.REG
[3] = NIT_NULL
;
2119 /* ../lib/standard/collection/hash_collection.nit:356 */
2120 fra
.me
.REG
[3] = fra
.me
.REG
[0];
2121 /* ../lib/standard/collection/hash_collection.nit:358 */
2122 CALL_standard___collection___hash_collection___HashNode___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], init_table
);
2123 /* ../lib/standard/collection/hash_collection.nit:359 */
2124 ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
2125 stack_frame_head
= fra
.me
.prev
;
2126 init_table
[itpos5
] = 1;
2129 val_t
standard___collection___hash_collection___HashMapIterator___is_ok(val_t p0
){
2130 struct {struct stack_frame_t me
;} fra
;
2134 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2135 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2137 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapIterator___is_ok
;
2138 fra
.me
.has_broke
= 0;
2139 fra
.me
.REG_size
= 1;
2140 fra
.me
.nitni_local_ref_head
= NULL
;
2141 fra
.me
.REG
[0] = NIT_NULL
;
2143 /* ../lib/standard/collection/hash_collection.nit:365 */
2144 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashMapIterator____node(fra
.me
.REG
[0]);
2145 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2146 if (UNTAG_Bool(REGB0
)) {
2148 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2149 if (UNTAG_Bool(REGB1
)) {
2150 REGB1
= TAG_Bool(false);
2153 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
2157 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2160 stack_frame_head
= fra
.me
.prev
;
2163 val_t
standard___collection___hash_collection___HashMapIterator___item(val_t p0
){
2164 struct {struct stack_frame_t me
;} fra
;
2167 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2168 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2170 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapIterator___item
;
2171 fra
.me
.has_broke
= 0;
2172 fra
.me
.REG_size
= 1;
2173 fra
.me
.nitni_local_ref_head
= NULL
;
2174 fra
.me
.REG
[0] = NIT_NULL
;
2176 /* ../lib/standard/collection/hash_collection.nit:369 */
2177 REGB0
= CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2178 if (UNTAG_Bool(REGB0
)) {
2180 nit_abort("Assert failed", NULL
, LOCATE_standard___collection___hash_collection
, 369);
2182 /* ../lib/standard/collection/hash_collection.nit:370 */
2183 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashMapIterator____node(fra
.me
.REG
[0]);
2184 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2185 if (UNTAG_Bool(REGB0
)) {
2186 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 370);
2188 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[0]);
2191 stack_frame_head
= fra
.me
.prev
;
2192 return fra
.me
.REG
[0];
2194 val_t
standard___collection___hash_collection___HashMapIterator___key(val_t p0
){
2195 struct {struct stack_frame_t me
;} fra
;
2198 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2199 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2201 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapIterator___key
;
2202 fra
.me
.has_broke
= 0;
2203 fra
.me
.REG_size
= 1;
2204 fra
.me
.nitni_local_ref_head
= NULL
;
2205 fra
.me
.REG
[0] = NIT_NULL
;
2207 /* ../lib/standard/collection/hash_collection.nit:381 */
2208 REGB0
= CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2209 if (UNTAG_Bool(REGB0
)) {
2211 nit_abort("Assert failed", NULL
, LOCATE_standard___collection___hash_collection
, 381);
2213 /* ../lib/standard/collection/hash_collection.nit:382 */
2214 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashMapIterator____node(fra
.me
.REG
[0]);
2215 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2216 if (UNTAG_Bool(REGB0
)) {
2217 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 382);
2219 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0])!=NIT_NULL
);
2220 if (UNTAG_Bool(REGB0
)) {
2222 nit_abort("Uninitialized attribute %s", "_key", LOCATE_standard___collection___hash_collection
, 382);
2224 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0]);
2227 stack_frame_head
= fra
.me
.prev
;
2228 return fra
.me
.REG
[0];
2230 void standard___collection___hash_collection___HashMapIterator___next(val_t p0
){
2231 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2234 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2235 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2237 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapIterator___next
;
2238 fra
.me
.has_broke
= 0;
2239 fra
.me
.REG_size
= 2;
2240 fra
.me
.nitni_local_ref_head
= NULL
;
2241 fra
.me
.REG
[0] = NIT_NULL
;
2242 fra
.me
.REG
[1] = NIT_NULL
;
2244 /* ../lib/standard/collection/hash_collection.nit:387 */
2245 REGB0
= CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2246 if (UNTAG_Bool(REGB0
)) {
2248 nit_abort("Assert failed", NULL
, LOCATE_standard___collection___hash_collection
, 387);
2250 /* ../lib/standard/collection/hash_collection.nit:388 */
2251 fra
.me
.REG
[1] = ATTR_standard___collection___hash_collection___HashMapIterator____node(fra
.me
.REG
[0]);
2252 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2253 if (UNTAG_Bool(REGB0
)) {
2254 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 388);
2256 fra
.me
.REG
[1] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[1]);
2257 ATTR_standard___collection___hash_collection___HashMapIterator____node(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2258 stack_frame_head
= fra
.me
.prev
;
2261 void standard___collection___hash_collection___HashMapIterator___init(val_t p0
, val_t p1
, int* init_table
){
2262 int itpos6
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashMapIterator
].i
;
2263 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2265 if (init_table
[itpos6
]) return;
2266 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2267 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2269 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapIterator___init
;
2270 fra
.me
.has_broke
= 0;
2271 fra
.me
.REG_size
= 2;
2272 fra
.me
.nitni_local_ref_head
= NULL
;
2273 fra
.me
.REG
[0] = NIT_NULL
;
2274 fra
.me
.REG
[1] = NIT_NULL
;
2277 /* ../lib/standard/collection/hash_collection.nit:399 */
2278 ATTR_standard___collection___hash_collection___HashMapIterator____map(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2279 /* ../lib/standard/collection/hash_collection.nit:400 */
2280 fra
.me
.REG
[1] = CALL_standard___collection___hash_collection___HashCollection___first_item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2281 ATTR_standard___collection___hash_collection___HashMapIterator____node(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2282 stack_frame_head
= fra
.me
.prev
;
2283 init_table
[itpos6
] = 1;
2286 val_t
standard___collection___hash_collection___HashSet___length(val_t p0
){
2287 struct {struct stack_frame_t me
;} fra
;
2290 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2291 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2293 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSet___length
;
2294 fra
.me
.has_broke
= 0;
2295 fra
.me
.REG_size
= 1;
2296 fra
.me
.nitni_local_ref_head
= NULL
;
2297 fra
.me
.REG
[0] = NIT_NULL
;
2299 /* ../lib/standard/collection/hash_collection.nit:410 */
2300 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
2301 if (UNTAG_Bool(REGB0
)) {
2303 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___hash_collection
, 410);
2305 REGB0
= ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]);
2308 stack_frame_head
= fra
.me
.prev
;
2311 val_t
standard___collection___hash_collection___HashSet___is_empty(val_t p0
){
2312 struct {struct stack_frame_t me
;} fra
;
2317 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2318 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2320 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSet___is_empty
;
2321 fra
.me
.has_broke
= 0;
2322 fra
.me
.REG_size
= 1;
2323 fra
.me
.nitni_local_ref_head
= NULL
;
2324 fra
.me
.REG
[0] = NIT_NULL
;
2326 /* ../lib/standard/collection/hash_collection.nit:412 */
2327 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
2328 if (UNTAG_Bool(REGB0
)) {
2330 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___hash_collection
, 412);
2332 REGB0
= ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]);
2334 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
2335 if (UNTAG_Bool(REGB2
)) {
2337 /* ../lib/standard/kernel.nit:227 */
2338 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
2339 /* ../lib/standard/collection/hash_collection.nit:412 */
2344 stack_frame_head
= fra
.me
.prev
;
2347 val_t
standard___collection___hash_collection___HashSet___first(val_t p0
){
2348 struct {struct stack_frame_t me
;} fra
;
2353 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2354 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2356 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSet___first
;
2357 fra
.me
.has_broke
= 0;
2358 fra
.me
.REG_size
= 1;
2359 fra
.me
.nitni_local_ref_head
= NULL
;
2360 fra
.me
.REG
[0] = NIT_NULL
;
2362 /* ../lib/standard/collection/hash_collection.nit:416 */
2363 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
2364 if (UNTAG_Bool(REGB0
)) {
2366 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___hash_collection
, 416);
2368 REGB0
= ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]);
2370 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2371 if (UNTAG_Bool(REGB2
)) {
2373 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2375 /* ../lib/standard/kernel.nit:234 */
2376 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
2377 /* ../lib/standard/collection/hash_collection.nit:416 */
2378 if (UNTAG_Bool(REGB1
)) {
2380 nit_abort("Assert failed", NULL
, LOCATE_standard___collection___hash_collection
, 416);
2382 /* ../lib/standard/collection/hash_collection.nit:417 */
2383 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
2384 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2385 if (UNTAG_Bool(REGB1
)) {
2386 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 417);
2388 REGB1
= TAG_Bool(ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0])!=NIT_NULL
);
2389 if (UNTAG_Bool(REGB1
)) {
2391 nit_abort("Uninitialized attribute %s", "_key", LOCATE_standard___collection___hash_collection
, 417);
2393 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0]);
2396 stack_frame_head
= fra
.me
.prev
;
2397 return fra
.me
.REG
[0];
2399 val_t
standard___collection___hash_collection___HashSet___has(val_t p0
, val_t p1
){
2400 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2404 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2405 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2407 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSet___has
;
2408 fra
.me
.has_broke
= 0;
2409 fra
.me
.REG_size
= 2;
2410 fra
.me
.nitni_local_ref_head
= NULL
;
2411 fra
.me
.REG
[0] = NIT_NULL
;
2412 fra
.me
.REG
[1] = NIT_NULL
;
2415 /* ../lib/standard/collection/hash_collection.nit:422 */
2416 fra
.me
.REG
[1] = CALL_standard___collection___hash_collection___HashCollection___node_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2417 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2418 if (UNTAG_Bool(REGB0
)) {
2420 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2421 if (UNTAG_Bool(REGB1
)) {
2422 REGB1
= TAG_Bool(false);
2425 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
2429 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2432 stack_frame_head
= fra
.me
.prev
;
2435 void standard___collection___hash_collection___HashSet___add(val_t p0
, val_t p1
){
2436 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2441 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2442 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2444 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSet___add
;
2445 fra
.me
.has_broke
= 0;
2446 fra
.me
.REG_size
= 3;
2447 fra
.me
.nitni_local_ref_head
= NULL
;
2448 fra
.me
.REG
[0] = NIT_NULL
;
2449 fra
.me
.REG
[1] = NIT_NULL
;
2450 fra
.me
.REG
[2] = NIT_NULL
;
2453 /* ../lib/standard/collection/hash_collection.nit:427 */
2454 REGB0
= CALL_standard___collection___hash_collection___HashCollection___index_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2455 /* ../lib/standard/collection/hash_collection.nit:428 */
2456 fra
.me
.REG
[2] = CALL_standard___collection___hash_collection___HashCollection___node_at_idx(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[1]);
2457 /* ../lib/standard/collection/hash_collection.nit:429 */
2458 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2459 if (UNTAG_Bool(REGB1
)) {
2461 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2462 if (UNTAG_Bool(REGB2
)) {
2463 REGB2
= TAG_Bool(false);
2466 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
2470 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2471 if (UNTAG_Bool(REGB1
)) {
2472 /* ../lib/standard/collection/hash_collection.nit:430 */
2473 ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
2475 /* ../lib/standard/collection/hash_collection.nit:432 */
2476 fra
.me
.REG
[1] = NEW_HashSetNode_standard___collection___hash_collection___HashSetNode___init(fra
.me
.REG
[1]);
2477 CALL_standard___collection___hash_collection___HashCollection___store(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[1]);
2479 stack_frame_head
= fra
.me
.prev
;
2482 void standard___collection___hash_collection___HashSet___remove(val_t p0
, val_t p1
){
2483 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2485 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2486 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2488 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSet___remove
;
2489 fra
.me
.has_broke
= 0;
2490 fra
.me
.REG_size
= 2;
2491 fra
.me
.nitni_local_ref_head
= NULL
;
2492 fra
.me
.REG
[0] = NIT_NULL
;
2493 fra
.me
.REG
[1] = NIT_NULL
;
2496 /* ../lib/standard/collection/hash_collection.nit:436 */
2497 CALL_standard___collection___hash_collection___HashCollection___remove_node(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2498 stack_frame_head
= fra
.me
.prev
;
2501 void standard___collection___hash_collection___HashSet___clear(val_t p0
){
2502 struct {struct stack_frame_t me
;} fra
;
2504 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2505 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2507 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSet___clear
;
2508 fra
.me
.has_broke
= 0;
2509 fra
.me
.REG_size
= 1;
2510 fra
.me
.nitni_local_ref_head
= NULL
;
2511 fra
.me
.REG
[0] = NIT_NULL
;
2513 /* ../lib/standard/collection/hash_collection.nit:438 */
2514 CALL_standard___collection___hash_collection___HashCollection___raz(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2515 stack_frame_head
= fra
.me
.prev
;
2518 val_t
standard___collection___hash_collection___HashSet___iterator(val_t p0
){
2519 struct {struct stack_frame_t me
;} fra
;
2521 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2522 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2524 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSet___iterator
;
2525 fra
.me
.has_broke
= 0;
2526 fra
.me
.REG_size
= 1;
2527 fra
.me
.nitni_local_ref_head
= NULL
;
2528 fra
.me
.REG
[0] = NIT_NULL
;
2530 /* ../lib/standard/collection/hash_collection.nit:440 */
2531 fra
.me
.REG
[0] = NEW_HashSetIterator_standard___collection___hash_collection___HashSetIterator___init(fra
.me
.REG
[0]);
2534 stack_frame_head
= fra
.me
.prev
;
2535 return fra
.me
.REG
[0];
2537 void standard___collection___hash_collection___HashSet___init(val_t p0
, int* init_table
){
2538 int itpos7
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashSet
].i
;
2539 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2542 if (init_table
[itpos7
]) return;
2543 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2544 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2546 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSet___init
;
2547 fra
.me
.has_broke
= 0;
2548 fra
.me
.REG_size
= 2;
2549 fra
.me
.nitni_local_ref_head
= NULL
;
2550 fra
.me
.REG
[0] = NIT_NULL
;
2551 fra
.me
.REG
[1] = NIT_NULL
;
2553 /* ../lib/standard/collection/hash_collection.nit:442 */
2554 fra
.me
.REG
[1] = fra
.me
.REG
[0];
2555 CALL_standard___collection___hash_collection___HashCollection___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
2556 /* ../lib/standard/collection/hash_collection.nit:444 */
2558 ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[1]) = REGB0
;
2559 /* ../lib/standard/collection/hash_collection.nit:445 */
2561 ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[1]) = REGB0
;
2562 /* ../lib/standard/collection/hash_collection.nit:446 */
2564 CALL_standard___collection___hash_collection___HashCollection___enlarge(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
2565 stack_frame_head
= fra
.me
.prev
;
2566 init_table
[itpos7
] = 1;
2569 void standard___collection___hash_collection___HashSetNode___init(val_t p0
, val_t p1
, int* init_table
){
2570 int itpos8
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashSetNode
].i
;
2571 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2573 if (init_table
[itpos8
]) return;
2574 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2575 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2577 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSetNode___init
;
2578 fra
.me
.has_broke
= 0;
2579 fra
.me
.REG_size
= 4;
2580 fra
.me
.nitni_local_ref_head
= NULL
;
2581 fra
.me
.REG
[0] = NIT_NULL
;
2582 fra
.me
.REG
[1] = NIT_NULL
;
2583 fra
.me
.REG
[2] = NIT_NULL
;
2584 fra
.me
.REG
[3] = NIT_NULL
;
2587 /* ../lib/standard/collection/hash_collection.nit:454 */
2588 fra
.me
.REG
[2] = fra
.me
.REG
[0];
2589 fra
.me
.REG
[3] = fra
.me
.REG
[1];
2590 CALL_standard___collection___hash_collection___HashNode___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], init_table
);
2591 /* ../lib/standard/collection/hash_collection.nit:456 */
2592 ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[2]) = fra
.me
.REG
[3];
2593 stack_frame_head
= fra
.me
.prev
;
2594 init_table
[itpos8
] = 1;
2597 val_t
standard___collection___hash_collection___HashSetIterator___is_ok(val_t p0
){
2598 struct {struct stack_frame_t me
;} fra
;
2602 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2603 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2605 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSetIterator___is_ok
;
2606 fra
.me
.has_broke
= 0;
2607 fra
.me
.REG_size
= 1;
2608 fra
.me
.nitni_local_ref_head
= NULL
;
2609 fra
.me
.REG
[0] = NIT_NULL
;
2611 /* ../lib/standard/collection/hash_collection.nit:462 */
2612 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashSetIterator____node(fra
.me
.REG
[0]);
2613 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2614 if (UNTAG_Bool(REGB0
)) {
2616 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2617 if (UNTAG_Bool(REGB1
)) {
2618 REGB1
= TAG_Bool(false);
2621 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
2625 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2628 stack_frame_head
= fra
.me
.prev
;
2631 val_t
standard___collection___hash_collection___HashSetIterator___item(val_t p0
){
2632 struct {struct stack_frame_t me
;} fra
;
2635 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2636 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2638 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSetIterator___item
;
2639 fra
.me
.has_broke
= 0;
2640 fra
.me
.REG_size
= 1;
2641 fra
.me
.nitni_local_ref_head
= NULL
;
2642 fra
.me
.REG
[0] = NIT_NULL
;
2644 /* ../lib/standard/collection/hash_collection.nit:466 */
2645 REGB0
= CALL_standard___collection___abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2646 if (UNTAG_Bool(REGB0
)) {
2648 nit_abort("Assert failed", NULL
, LOCATE_standard___collection___hash_collection
, 466);
2650 /* ../lib/standard/collection/hash_collection.nit:467 */
2651 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashSetIterator____node(fra
.me
.REG
[0]);
2652 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2653 if (UNTAG_Bool(REGB0
)) {
2654 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 467);
2656 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0])!=NIT_NULL
);
2657 if (UNTAG_Bool(REGB0
)) {
2659 nit_abort("Uninitialized attribute %s", "_key", LOCATE_standard___collection___hash_collection
, 467);
2661 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0]);
2664 stack_frame_head
= fra
.me
.prev
;
2665 return fra
.me
.REG
[0];
2667 void standard___collection___hash_collection___HashSetIterator___next(val_t p0
){
2668 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2671 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2672 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2674 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSetIterator___next
;
2675 fra
.me
.has_broke
= 0;
2676 fra
.me
.REG_size
= 2;
2677 fra
.me
.nitni_local_ref_head
= NULL
;
2678 fra
.me
.REG
[0] = NIT_NULL
;
2679 fra
.me
.REG
[1] = NIT_NULL
;
2681 /* ../lib/standard/collection/hash_collection.nit:472 */
2682 REGB0
= CALL_standard___collection___abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2683 if (UNTAG_Bool(REGB0
)) {
2685 nit_abort("Assert failed", NULL
, LOCATE_standard___collection___hash_collection
, 472);
2687 /* ../lib/standard/collection/hash_collection.nit:473 */
2688 fra
.me
.REG
[1] = ATTR_standard___collection___hash_collection___HashSetIterator____node(fra
.me
.REG
[0]);
2689 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2690 if (UNTAG_Bool(REGB0
)) {
2691 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 473);
2693 fra
.me
.REG
[1] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[1]);
2694 ATTR_standard___collection___hash_collection___HashSetIterator____node(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2695 stack_frame_head
= fra
.me
.prev
;
2698 void standard___collection___hash_collection___HashSetIterator___init(val_t p0
, val_t p1
, int* init_table
){
2699 int itpos9
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashSetIterator
].i
;
2700 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2702 if (init_table
[itpos9
]) return;
2703 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2704 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2706 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSetIterator___init
;
2707 fra
.me
.has_broke
= 0;
2708 fra
.me
.REG_size
= 2;
2709 fra
.me
.nitni_local_ref_head
= NULL
;
2710 fra
.me
.REG
[0] = NIT_NULL
;
2711 fra
.me
.REG
[1] = NIT_NULL
;
2714 /* ../lib/standard/collection/hash_collection.nit:484 */
2715 ATTR_standard___collection___hash_collection___HashSetIterator____set(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2716 /* ../lib/standard/collection/hash_collection.nit:485 */
2717 fra
.me
.REG
[1] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[1]);
2718 ATTR_standard___collection___hash_collection___HashSetIterator____node(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2719 stack_frame_head
= fra
.me
.prev
;
2720 init_table
[itpos9
] = 1;