1 /* This C file is generated by NIT to compile module standard___collection___hash_collection. */
2 #include "standard___collection___hash_collection._sep.h"
3 static const char LOCATE_standard___collection___hash_collection___HashCollection___first_item
[] = "hash_collection::HashCollection::first_item";
4 val_t
standard___collection___hash_collection___HashCollection___first_item(val_t p0
){
5 struct {struct stack_frame_t me
;} fra
;
7 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
10 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashCollection___first_item
;
13 fra
.me
.nitni_local_ref_head
= NULL
;
14 fra
.me
.REG
[0] = NIT_NULL
;
16 /* ../lib/standard/collection/hash_collection.nit:27 */
17 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
18 stack_frame_head
= fra
.me
.prev
;
21 static const char LOCATE_standard___collection___hash_collection___HashCollection___index_at
[] = "hash_collection::HashCollection::index_at";
22 val_t
standard___collection___hash_collection___HashCollection___index_at(val_t p0
, val_t p1
){
23 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
28 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
29 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
31 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashCollection___index_at
;
34 fra
.me
.nitni_local_ref_head
= NULL
;
35 fra
.me
.REG
[0] = NIT_NULL
;
36 fra
.me
.REG
[1] = NIT_NULL
;
39 /* ../lib/standard/collection/hash_collection.nit:39 */
40 REGB0
= CALL_standard___hash___Object___hash(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
41 REGB1
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
42 if (UNTAG_Bool(REGB1
)) {
44 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___collection___hash_collection
, 39);
46 REGB1
= ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
47 /* ../lib/standard/kernel.nit:250 */
48 REGB1
= TAG_Int(UNTAG_Int(REGB0
)%UNTAG_Int(REGB1
));
49 /* ../lib/standard/collection/hash_collection.nit:40 */
51 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
52 if (UNTAG_Bool(REGB2
)) {
54 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
56 /* ../lib/standard/kernel.nit:242 */
57 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
58 /* ../lib/standard/collection/hash_collection.nit:40 */
59 if (UNTAG_Bool(REGB0
)) {
60 /* ../lib/standard/kernel.nit:246 */
61 REGB0
= TAG_Int(-UNTAG_Int(REGB1
));
62 /* ../lib/standard/collection/hash_collection.nit:40 */
65 /* ../lib/standard/collection/hash_collection.nit:41 */
68 stack_frame_head
= fra
.me
.prev
;
71 static const char LOCATE_standard___collection___hash_collection___HashCollection___node_at
[] = "hash_collection::HashCollection::node_at";
72 val_t
standard___collection___hash_collection___HashCollection___node_at(val_t p0
, val_t p1
){
73 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
76 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
77 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
79 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashCollection___node_at
;
82 fra
.me
.nitni_local_ref_head
= NULL
;
83 fra
.me
.REG
[0] = NIT_NULL
;
84 fra
.me
.REG
[1] = NIT_NULL
;
85 fra
.me
.REG
[2] = NIT_NULL
;
86 fra
.me
.REG
[3] = NIT_NULL
;
89 /* ../lib/standard/collection/hash_collection.nit:48 */
90 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashCollection____last_accessed_key(fra
.me
.REG
[0]);
91 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[1],fra
.me
.REG
[2]));
92 if (UNTAG_Bool(REGB0
)) {
93 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashCollection____last_accessed_node(fra
.me
.REG
[0]);
96 /* ../lib/standard/collection/hash_collection.nit:50 */
97 REGB0
= CALL_standard___collection___hash_collection___HashCollection___index_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
98 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]);
99 /* ../lib/standard/collection/hash_collection.nit:51 */
100 ATTR_standard___collection___hash_collection___HashCollection____last_accessed_key(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
101 /* ../lib/standard/collection/hash_collection.nit:52 */
102 ATTR_standard___collection___hash_collection___HashCollection____last_accessed_node(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
103 /* ../lib/standard/collection/hash_collection.nit:53 */
104 fra
.me
.REG
[2] = fra
.me
.REG
[3];
107 stack_frame_head
= fra
.me
.prev
;
108 return fra
.me
.REG
[2];
110 static const char LOCATE_standard___collection___hash_collection___HashCollection___node_at_idx
[] = "hash_collection::HashCollection::node_at_idx";
111 val_t
standard___collection___hash_collection___HashCollection___node_at_idx(val_t p0
, val_t p1
, val_t p2
){
112 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
117 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
118 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
120 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashCollection___node_at_idx
;
121 fra
.me
.has_broke
= 0;
123 fra
.me
.nitni_local_ref_head
= NULL
;
124 fra
.me
.REG
[0] = NIT_NULL
;
125 fra
.me
.REG
[1] = NIT_NULL
;
126 fra
.me
.REG
[2] = NIT_NULL
;
130 /* ../lib/standard/collection/hash_collection.nit:59 */
131 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashCollection____array(fra
.me
.REG
[0]);
132 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
133 if (UNTAG_Bool(REGB1
)) {
134 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 59);
136 /* ../lib/standard/collection/array.nit:725 */
137 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
138 /* ../lib/standard/collection/hash_collection.nit:60 */
140 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
141 if (UNTAG_Bool(REGB0
)) {
143 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
144 if (UNTAG_Bool(REGB1
)) {
148 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
152 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
153 if (UNTAG_Bool(REGB0
)) {
154 /* ../lib/standard/collection/hash_collection.nit:61 */
155 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0])!=NIT_NULL
);
156 if (UNTAG_Bool(REGB0
)) {
158 nit_abort("Uninitialized attribute %s", "_key", LOCATE_standard___collection___hash_collection
, 61);
160 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0]);
161 /* ../lib/standard/collection/hash_collection.nit:62 */
162 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[1]));
163 if (UNTAG_Bool(REGB0
)) {
166 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[1]));
167 if (UNTAG_Bool(REGB1
)) {
169 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
174 if (UNTAG_Bool(REGB0
)) {
175 /* ../lib/standard/collection/hash_collection.nit:63 */
178 /* ../lib/standard/collection/hash_collection.nit:65 */
179 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashNode____next_in_bucklet(fra
.me
.REG
[0]);
180 fra
.me
.REG
[0] = fra
.me
.REG
[2];
182 /* ../lib/standard/collection/hash_collection.nit:60 */
187 /* ../lib/standard/collection/hash_collection.nit:67 */
190 stack_frame_head
= fra
.me
.prev
;
191 return fra
.me
.REG
[0];
193 static const char LOCATE_standard___collection___hash_collection___HashCollection___store
[] = "hash_collection::HashCollection::store";
194 void standard___collection___hash_collection___HashCollection___store(val_t p0
, val_t p1
, val_t p2
){
195 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
200 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
201 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
203 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashCollection___store
;
204 fra
.me
.has_broke
= 0;
206 fra
.me
.nitni_local_ref_head
= NULL
;
207 fra
.me
.REG
[0] = NIT_NULL
;
208 fra
.me
.REG
[1] = NIT_NULL
;
209 fra
.me
.REG
[2] = NIT_NULL
;
210 fra
.me
.REG
[3] = NIT_NULL
;
214 /* ../lib/standard/collection/hash_collection.nit:74 */
215 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
216 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
217 if (UNTAG_Bool(REGB1
)) {
219 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
220 if (UNTAG_Bool(REGB2
)) {
224 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
228 if (UNTAG_Bool(REGB1
)) {
229 /* ../lib/standard/collection/hash_collection.nit:75 */
230 ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
232 /* ../lib/standard/collection/hash_collection.nit:77 */
233 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashCollection____last_item(fra
.me
.REG
[0]);
234 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
235 if (UNTAG_Bool(REGB1
)) {
236 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 77);
238 ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
240 /* ../lib/standard/collection/hash_collection.nit:79 */
241 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashCollection____last_item(fra
.me
.REG
[0]);
242 ATTR_standard___collection___hash_collection___HashNode____prev_item(fra
.me
.REG
[1]) = fra
.me
.REG
[2];
243 /* ../lib/standard/collection/hash_collection.nit:80 */
244 ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[1]) = NIT_NULL
;
245 /* ../lib/standard/collection/hash_collection.nit:81 */
246 ATTR_standard___collection___hash_collection___HashCollection____last_item(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
247 /* ../lib/standard/collection/hash_collection.nit:84 */
248 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashCollection____array(fra
.me
.REG
[0]);
249 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
250 if (UNTAG_Bool(REGB1
)) {
251 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 84);
253 /* ../lib/standard/collection/array.nit:725 */
254 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
255 /* ../lib/standard/collection/hash_collection.nit:85 */
256 fra
.me
.REG
[3] = ATTR_standard___collection___hash_collection___HashCollection____array(fra
.me
.REG
[0]);
257 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
258 if (UNTAG_Bool(REGB1
)) {
259 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 85);
261 /* ../lib/standard/collection/array.nit:726 */
262 ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)]=fra
.me
.REG
[1];
263 /* ../lib/standard/collection/hash_collection.nit:86 */
264 ATTR_standard___collection___hash_collection___HashNode____next_in_bucklet(fra
.me
.REG
[1]) = fra
.me
.REG
[2];
265 /* ../lib/standard/collection/hash_collection.nit:87 */
266 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
267 if (UNTAG_Bool(REGB0
)) {
269 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
270 if (UNTAG_Bool(REGB1
)) {
274 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
278 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
279 if (UNTAG_Bool(REGB0
)) {
280 ATTR_standard___collection___hash_collection___HashNode____prev_in_bucklet(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
282 /* ../lib/standard/collection/hash_collection.nit:89 */
283 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[1])!=NIT_NULL
);
284 if (UNTAG_Bool(REGB0
)) {
286 nit_abort("Uninitialized attribute %s", "_key", LOCATE_standard___collection___hash_collection
, 89);
288 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[1]);
289 ATTR_standard___collection___hash_collection___HashCollection____last_accessed_key(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
290 /* ../lib/standard/collection/hash_collection.nit:90 */
291 ATTR_standard___collection___hash_collection___HashCollection____last_accessed_node(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
292 /* ../lib/standard/collection/hash_collection.nit:93 */
293 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
294 if (UNTAG_Bool(REGB0
)) {
296 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___hash_collection
, 93);
298 REGB0
= ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]);
299 /* ../lib/standard/collection/hash_collection.nit:94 */
301 /* ../lib/standard/kernel.nit:245 */
302 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
303 /* ../lib/standard/collection/hash_collection.nit:94 */
304 ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]) = REGB1
;
305 /* ../lib/standard/collection/hash_collection.nit:95 */
307 /* ../lib/standard/kernel.nit:245 */
308 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
309 /* ../lib/standard/collection/hash_collection.nit:95 */
311 /* ../lib/standard/kernel.nit:248 */
312 REGB2
= TAG_Int(UNTAG_Int(REGB1
)*UNTAG_Int(REGB2
));
313 /* ../lib/standard/collection/hash_collection.nit:95 */
315 /* ../lib/standard/kernel.nit:249 */
316 REGB1
= TAG_Int(UNTAG_Int(REGB2
)/UNTAG_Int(REGB1
));
317 /* ../lib/standard/collection/hash_collection.nit:95 */
319 /* ../lib/standard/collection/hash_collection.nit:96 */
320 REGB1
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
321 if (UNTAG_Bool(REGB1
)) {
323 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___collection___hash_collection
, 96);
325 REGB1
= ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
326 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
327 if (UNTAG_Bool(REGB2
)) {
329 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
331 /* ../lib/standard/kernel.nit:243 */
332 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
333 /* ../lib/standard/collection/hash_collection.nit:96 */
334 if (UNTAG_Bool(REGB1
)) {
335 /* ../lib/standard/collection/hash_collection.nit:97 */
337 /* ../lib/standard/kernel.nit:248 */
338 REGB1
= TAG_Int(UNTAG_Int(REGB0
)*UNTAG_Int(REGB1
));
339 /* ../lib/standard/collection/hash_collection.nit:97 */
340 CALL_standard___collection___hash_collection___HashCollection___enlarge(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
342 stack_frame_head
= fra
.me
.prev
;
345 static const char LOCATE_standard___collection___hash_collection___HashCollection___remove_node
[] = "hash_collection::HashCollection::remove_node";
346 void standard___collection___hash_collection___HashCollection___remove_node(val_t p0
, val_t p1
){
347 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
352 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
353 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
355 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashCollection___remove_node
;
356 fra
.me
.has_broke
= 0;
358 fra
.me
.nitni_local_ref_head
= NULL
;
359 fra
.me
.REG
[0] = NIT_NULL
;
360 fra
.me
.REG
[1] = NIT_NULL
;
361 fra
.me
.REG
[2] = NIT_NULL
;
362 fra
.me
.REG
[3] = NIT_NULL
;
363 fra
.me
.REG
[4] = NIT_NULL
;
366 /* ../lib/standard/collection/hash_collection.nit:104 */
367 REGB0
= CALL_standard___collection___hash_collection___HashCollection___index_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
368 /* ../lib/standard/collection/hash_collection.nit:105 */
369 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]);
370 /* ../lib/standard/collection/hash_collection.nit:106 */
371 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
372 if (UNTAG_Bool(REGB1
)) {
374 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
375 if (UNTAG_Bool(REGB2
)) {
379 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
383 if (UNTAG_Bool(REGB1
)) {
386 /* ../lib/standard/collection/hash_collection.nit:109 */
387 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashNode____prev_item(fra
.me
.REG
[1]);
388 /* ../lib/standard/collection/hash_collection.nit:110 */
389 fra
.me
.REG
[3] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[1]);
390 /* ../lib/standard/collection/hash_collection.nit:111 */
391 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
392 if (UNTAG_Bool(REGB1
)) {
394 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
395 if (UNTAG_Bool(REGB2
)) {
399 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
403 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
404 if (UNTAG_Bool(REGB1
)) {
405 /* ../lib/standard/collection/hash_collection.nit:112 */
406 ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[2]) = fra
.me
.REG
[3];
408 /* ../lib/standard/collection/hash_collection.nit:114 */
409 ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
411 /* ../lib/standard/collection/hash_collection.nit:116 */
412 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
413 if (UNTAG_Bool(REGB1
)) {
415 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
416 if (UNTAG_Bool(REGB2
)) {
420 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
424 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
425 if (UNTAG_Bool(REGB1
)) {
426 /* ../lib/standard/collection/hash_collection.nit:117 */
427 ATTR_standard___collection___hash_collection___HashNode____prev_item(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
429 /* ../lib/standard/collection/hash_collection.nit:119 */
430 ATTR_standard___collection___hash_collection___HashCollection____last_item(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
432 /* ../lib/standard/collection/hash_collection.nit:123 */
433 REGB1
= ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]);
435 /* ../lib/standard/kernel.nit:247 */
436 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
437 /* ../lib/standard/collection/hash_collection.nit:123 */
438 ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]) = REGB2
;
439 /* ../lib/standard/collection/hash_collection.nit:124 */
440 fra
.me
.REG
[4] = ATTR_standard___collection___hash_collection___HashNode____prev_in_bucklet(fra
.me
.REG
[1]);
441 fra
.me
.REG
[2] = fra
.me
.REG
[4];
442 /* ../lib/standard/collection/hash_collection.nit:125 */
443 fra
.me
.REG
[1] = ATTR_standard___collection___hash_collection___HashNode____next_in_bucklet(fra
.me
.REG
[1]);
444 fra
.me
.REG
[3] = fra
.me
.REG
[1];
445 /* ../lib/standard/collection/hash_collection.nit:126 */
446 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
447 if (UNTAG_Bool(REGB2
)) {
449 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
450 if (UNTAG_Bool(REGB1
)) {
454 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
458 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
459 if (UNTAG_Bool(REGB2
)) {
460 /* ../lib/standard/collection/hash_collection.nit:127 */
461 ATTR_standard___collection___hash_collection___HashNode____next_in_bucklet(fra
.me
.REG
[2]) = fra
.me
.REG
[3];
463 /* ../lib/standard/collection/hash_collection.nit:129 */
464 fra
.me
.REG
[1] = ATTR_standard___collection___hash_collection___HashCollection____array(fra
.me
.REG
[0]);
465 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
466 if (UNTAG_Bool(REGB2
)) {
467 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 129);
469 /* ../lib/standard/collection/array.nit:726 */
470 ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB0
)]=fra
.me
.REG
[3];
472 /* ../lib/standard/collection/hash_collection.nit:131 */
473 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
474 if (UNTAG_Bool(REGB0
)) {
476 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
477 if (UNTAG_Bool(REGB2
)) {
481 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
485 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
486 if (UNTAG_Bool(REGB0
)) {
487 /* ../lib/standard/collection/hash_collection.nit:132 */
488 ATTR_standard___collection___hash_collection___HashNode____prev_in_bucklet(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
490 /* ../lib/standard/collection/hash_collection.nit:135 */
491 ATTR_standard___collection___hash_collection___HashCollection____last_accessed_key(fra
.me
.REG
[0]) = NIT_NULL
;
493 stack_frame_head
= fra
.me
.prev
;
496 static const char LOCATE_standard___collection___hash_collection___HashCollection___raz
[] = "hash_collection::HashCollection::raz";
497 void standard___collection___hash_collection___HashCollection___raz(val_t p0
){
498 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
503 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
504 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
506 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashCollection___raz
;
507 fra
.me
.has_broke
= 0;
509 fra
.me
.nitni_local_ref_head
= NULL
;
510 fra
.me
.REG
[0] = NIT_NULL
;
511 fra
.me
.REG
[1] = NIT_NULL
;
513 /* ../lib/standard/collection/hash_collection.nit:141 */
514 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
515 if (UNTAG_Bool(REGB0
)) {
517 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___collection___hash_collection
, 141);
519 REGB0
= ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
521 /* ../lib/standard/kernel.nit:247 */
522 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
523 /* ../lib/standard/collection/hash_collection.nit:142 */
526 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
527 if (UNTAG_Bool(REGB2
)) {
529 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
531 /* ../lib/standard/kernel.nit:243 */
532 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
533 /* ../lib/standard/collection/hash_collection.nit:142 */
534 if (UNTAG_Bool(REGB0
)) {
535 /* ../lib/standard/collection/hash_collection.nit:143 */
536 fra
.me
.REG
[1] = ATTR_standard___collection___hash_collection___HashCollection____array(fra
.me
.REG
[0]);
537 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
538 if (UNTAG_Bool(REGB0
)) {
539 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 143);
541 /* ../lib/standard/collection/array.nit:726 */
542 ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB1
)]=NIT_NULL
;
543 /* ../lib/standard/collection/hash_collection.nit:144 */
545 /* ../lib/standard/kernel.nit:247 */
546 REGB0
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
547 /* ../lib/standard/collection/hash_collection.nit:144 */
550 /* ../lib/standard/collection/hash_collection.nit:142 */
555 /* ../lib/standard/collection/hash_collection.nit:146 */
557 ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]) = REGB1
;
558 /* ../lib/standard/collection/hash_collection.nit:147 */
559 ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]) = NIT_NULL
;
560 /* ../lib/standard/collection/hash_collection.nit:148 */
561 ATTR_standard___collection___hash_collection___HashCollection____last_item(fra
.me
.REG
[0]) = NIT_NULL
;
562 /* ../lib/standard/collection/hash_collection.nit:149 */
563 ATTR_standard___collection___hash_collection___HashCollection____last_accessed_key(fra
.me
.REG
[0]) = NIT_NULL
;
564 stack_frame_head
= fra
.me
.prev
;
567 static const char LOCATE_standard___collection___hash_collection___HashCollection___enlarge
[] = "hash_collection::HashCollection::enlarge";
568 void standard___collection___hash_collection___HashCollection___enlarge(val_t p0
, val_t p1
){
569 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
575 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
576 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
578 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashCollection___enlarge
;
579 fra
.me
.has_broke
= 0;
581 fra
.me
.nitni_local_ref_head
= NULL
;
582 fra
.me
.REG
[0] = NIT_NULL
;
583 fra
.me
.REG
[1] = NIT_NULL
;
584 fra
.me
.REG
[2] = NIT_NULL
;
585 fra
.me
.REG
[3] = NIT_NULL
;
588 /* ../lib/standard/collection/hash_collection.nit:155 */
589 REGB1
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
590 if (UNTAG_Bool(REGB1
)) {
592 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___collection___hash_collection
, 155);
594 REGB1
= ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
595 /* ../lib/standard/collection/hash_collection.nit:157 */
596 REGB2
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
597 if (UNTAG_Bool(REGB2
)) {
599 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___hash_collection
, 157);
601 REGB2
= ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]);
603 /* ../lib/standard/kernel.nit:245 */
604 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
605 REGB2
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
606 if (UNTAG_Bool(REGB2
)) {
608 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
610 /* ../lib/standard/kernel.nit:242 */
611 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB3
));
612 /* ../lib/standard/collection/hash_collection.nit:157 */
613 if (UNTAG_Bool(REGB3
)) {
614 REGB3
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
615 if (UNTAG_Bool(REGB3
)) {
617 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___hash_collection
, 157);
619 REGB3
= ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]);
621 /* ../lib/standard/kernel.nit:245 */
622 REGB2
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB2
));
623 /* ../lib/standard/collection/hash_collection.nit:157 */
626 /* ../lib/standard/collection/hash_collection.nit:158 */
627 REGB2
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
628 if (UNTAG_Bool(REGB2
)) {
630 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___collection___hash_collection
, 158);
632 REGB2
= ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
633 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
634 if (UNTAG_Bool(REGB3
)) {
636 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
638 /* ../lib/standard/kernel.nit:241 */
639 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB2
));
640 /* ../lib/standard/collection/hash_collection.nit:158 */
641 if (UNTAG_Bool(REGB2
)) {
644 /* ../lib/standard/collection/hash_collection.nit:159 */
645 ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0]) = REGB0
;
646 /* ../lib/standard/collection/hash_collection.nit:160 */
647 ATTR_standard___collection___hash_collection___HashCollection____last_accessed_key(fra
.me
.REG
[0]) = NIT_NULL
;
648 /* ../lib/standard/collection/array.nit:719 */
649 fra
.me
.REG
[1] = NEW_NativeArray(UNTAG_Int(REGB0
), sizeof(val_t
));
650 /* ../lib/standard/collection/hash_collection.nit:164 */
651 ATTR_standard___collection___hash_collection___HashCollection____array(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
652 /* ../lib/standard/collection/hash_collection.nit:167 */
654 /* ../lib/standard/kernel.nit:247 */
655 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
656 /* ../lib/standard/collection/hash_collection.nit:168 */
659 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
660 if (UNTAG_Bool(REGB3
)) {
662 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
664 /* ../lib/standard/kernel.nit:243 */
665 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB0
));
666 /* ../lib/standard/collection/hash_collection.nit:168 */
667 if (UNTAG_Bool(REGB0
)) {
668 /* ../lib/standard/collection/array.nit:726 */
669 ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB2
)]=NIT_NULL
;
670 /* ../lib/standard/collection/hash_collection.nit:170 */
672 /* ../lib/standard/kernel.nit:247 */
673 REGB0
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB0
));
674 /* ../lib/standard/collection/hash_collection.nit:170 */
677 /* ../lib/standard/collection/hash_collection.nit:168 */
682 /* ../lib/standard/collection/hash_collection.nit:173 */
683 REGB2
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
684 if (UNTAG_Bool(REGB2
)) {
686 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___collection___hash_collection
, 173);
688 REGB2
= ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[0]);
689 REGB0
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
690 if (UNTAG_Bool(REGB0
)) {
692 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
694 /* ../lib/standard/kernel.nit:241 */
695 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)<=UNTAG_Int(REGB1
));
696 /* ../lib/standard/collection/hash_collection.nit:173 */
697 if (UNTAG_Bool(REGB1
)) {
700 /* ../lib/standard/collection/hash_collection.nit:176 */
701 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
702 /* ../lib/standard/collection/hash_collection.nit:177 */
704 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
705 if (UNTAG_Bool(REGB1
)) {
707 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
708 if (UNTAG_Bool(REGB2
)) {
712 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
716 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
717 if (UNTAG_Bool(REGB1
)) {
718 /* ../lib/standard/collection/hash_collection.nit:178 */
719 REGB1
= TAG_Bool(ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[2])!=NIT_NULL
);
720 if (UNTAG_Bool(REGB1
)) {
722 nit_abort("Uninitialized attribute %s", "_key", LOCATE_standard___collection___hash_collection
, 178);
724 fra
.me
.REG
[3] = ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[2]);
725 REGB1
= CALL_standard___collection___hash_collection___HashCollection___index_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
726 /* ../lib/standard/collection/array.nit:725 */
727 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB1
)];
728 /* ../lib/standard/collection/array.nit:726 */
729 ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB1
)]=fra
.me
.REG
[2];
730 /* ../lib/standard/collection/hash_collection.nit:182 */
731 ATTR_standard___collection___hash_collection___HashNode____next_in_bucklet(fra
.me
.REG
[2]) = fra
.me
.REG
[3];
732 /* ../lib/standard/collection/hash_collection.nit:183 */
733 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
734 if (UNTAG_Bool(REGB1
)) {
736 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
737 if (UNTAG_Bool(REGB2
)) {
741 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
745 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
746 if (UNTAG_Bool(REGB1
)) {
747 ATTR_standard___collection___hash_collection___HashNode____prev_in_bucklet(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
749 /* ../lib/standard/collection/hash_collection.nit:184 */
750 fra
.me
.REG
[3] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[2]);
751 fra
.me
.REG
[2] = fra
.me
.REG
[3];
753 /* ../lib/standard/collection/hash_collection.nit:177 */
759 stack_frame_head
= fra
.me
.prev
;
762 static const char LOCATE_standard___collection___hash_collection___HashCollection___init
[] = "hash_collection::HashCollection::init";
763 void standard___collection___hash_collection___HashCollection___init(val_t p0
, int* init_table
){
764 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashCollection
].i
;
765 struct {struct stack_frame_t me
;} fra
;
767 if (init_table
[itpos0
]) return;
768 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
769 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
771 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashCollection___init
;
772 fra
.me
.has_broke
= 0;
774 fra
.me
.nitni_local_ref_head
= NULL
;
775 stack_frame_head
= fra
.me
.prev
;
776 init_table
[itpos0
] = 1;
779 static const char LOCATE_standard___collection___hash_collection___HashNode___next_item
[] = "hash_collection::HashNode::next_item";
780 val_t
standard___collection___hash_collection___HashNode___next_item(val_t p0
){
781 struct {struct stack_frame_t me
;} fra
;
783 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
784 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
786 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashNode___next_item
;
787 fra
.me
.has_broke
= 0;
789 fra
.me
.nitni_local_ref_head
= NULL
;
790 fra
.me
.REG
[0] = NIT_NULL
;
792 /* ../lib/standard/collection/hash_collection.nit:192 */
793 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[0]);
794 stack_frame_head
= fra
.me
.prev
;
795 return fra
.me
.REG
[0];
797 static const char LOCATE_standard___collection___hash_collection___HashNode___next_item__eq
[] = "hash_collection::HashNode::next_item=";
798 void standard___collection___hash_collection___HashNode___next_item__eq(val_t p0
, val_t p1
){
799 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
801 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
802 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
804 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashNode___next_item__eq
;
805 fra
.me
.has_broke
= 0;
807 fra
.me
.nitni_local_ref_head
= NULL
;
808 fra
.me
.REG
[0] = NIT_NULL
;
809 fra
.me
.REG
[1] = NIT_NULL
;
812 /* ../lib/standard/collection/hash_collection.nit:192 */
813 ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
814 stack_frame_head
= fra
.me
.prev
;
817 static const char LOCATE_standard___collection___hash_collection___HashNode___prev_item
[] = "hash_collection::HashNode::prev_item";
818 val_t
standard___collection___hash_collection___HashNode___prev_item(val_t p0
){
819 struct {struct stack_frame_t me
;} fra
;
821 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
822 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
824 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashNode___prev_item
;
825 fra
.me
.has_broke
= 0;
827 fra
.me
.nitni_local_ref_head
= NULL
;
828 fra
.me
.REG
[0] = NIT_NULL
;
830 /* ../lib/standard/collection/hash_collection.nit:193 */
831 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashNode____prev_item(fra
.me
.REG
[0]);
832 stack_frame_head
= fra
.me
.prev
;
833 return fra
.me
.REG
[0];
835 static const char LOCATE_standard___collection___hash_collection___HashNode___prev_item__eq
[] = "hash_collection::HashNode::prev_item=";
836 void standard___collection___hash_collection___HashNode___prev_item__eq(val_t p0
, val_t p1
){
837 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
839 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
840 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
842 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashNode___prev_item__eq
;
843 fra
.me
.has_broke
= 0;
845 fra
.me
.nitni_local_ref_head
= NULL
;
846 fra
.me
.REG
[0] = NIT_NULL
;
847 fra
.me
.REG
[1] = NIT_NULL
;
850 /* ../lib/standard/collection/hash_collection.nit:193 */
851 ATTR_standard___collection___hash_collection___HashNode____prev_item(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
852 stack_frame_head
= fra
.me
.prev
;
855 static const char LOCATE_standard___collection___hash_collection___HashNode___init
[] = "hash_collection::HashNode::init";
856 void standard___collection___hash_collection___HashNode___init(val_t p0
, val_t p1
, int* init_table
){
857 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashNode
].i
;
858 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
860 if (init_table
[itpos1
]) return;
861 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
862 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
864 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashNode___init
;
865 fra
.me
.has_broke
= 0;
867 fra
.me
.nitni_local_ref_head
= NULL
;
868 fra
.me
.REG
[0] = NIT_NULL
;
869 fra
.me
.REG
[1] = NIT_NULL
;
872 /* ../lib/standard/collection/hash_collection.nit:198 */
873 ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
874 stack_frame_head
= fra
.me
.prev
;
875 init_table
[itpos1
] = 1;
878 static const char LOCATE_standard___collection___hash_collection___HashMap_____bra
[] = "hash_collection::HashMap::(abstract_collection::MapRead::[])";
879 val_t
standard___collection___hash_collection___HashMap_____bra(val_t p0
, val_t p1
){
880 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
884 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
885 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
887 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap_____bra
;
888 fra
.me
.has_broke
= 0;
890 fra
.me
.nitni_local_ref_head
= NULL
;
891 fra
.me
.REG
[0] = NIT_NULL
;
892 fra
.me
.REG
[1] = NIT_NULL
;
895 /* ../lib/standard/collection/hash_collection.nit:210 */
896 fra
.me
.REG
[1] = CALL_standard___collection___hash_collection___HashCollection___node_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
897 /* ../lib/standard/collection/hash_collection.nit:211 */
898 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
899 if (UNTAG_Bool(REGB0
)) {
901 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
902 if (UNTAG_Bool(REGB1
)) {
906 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
910 if (UNTAG_Bool(REGB0
)) {
911 /* ../lib/standard/collection/hash_collection.nit:212 */
912 nit_abort("Aborted", NULL
, LOCATE_standard___collection___hash_collection
, 212);
914 /* ../lib/standard/collection/hash_collection.nit:214 */
915 fra
.me
.REG
[1] = ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[1]);
919 stack_frame_head
= fra
.me
.prev
;
920 return fra
.me
.REG
[1];
922 static const char LOCATE_standard___collection___hash_collection___HashMap___iterator
[] = "hash_collection::HashMap::(abstract_collection::MapRead::iterator)";
923 val_t
standard___collection___hash_collection___HashMap___iterator(val_t p0
){
924 struct {struct stack_frame_t me
;} fra
;
926 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
927 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
929 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap___iterator
;
930 fra
.me
.has_broke
= 0;
932 fra
.me
.nitni_local_ref_head
= NULL
;
933 fra
.me
.REG
[0] = NIT_NULL
;
935 /* ../lib/standard/collection/hash_collection.nit:218 */
936 fra
.me
.REG
[0] = NEW_HashMapIterator_standard___collection___hash_collection___HashMapIterator___init(fra
.me
.REG
[0]);
939 stack_frame_head
= fra
.me
.prev
;
940 return fra
.me
.REG
[0];
942 static const char LOCATE_standard___collection___hash_collection___HashMap___iterate
[] = "hash_collection::HashMap::(abstract_collection::MapRead::iterate)";
943 void standard___collection___hash_collection___HashMap___iterate(val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
944 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
949 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
950 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
952 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap___iterate
;
953 fra
.me
.has_broke
= 0;
955 fra
.me
.nitni_local_ref_head
= NULL
;
956 fra
.me
.REG
[0] = NIT_NULL
;
957 fra
.me
.REG
[1] = NIT_NULL
;
958 fra
.me
.REG
[2] = NIT_NULL
;
959 fra
.me
.closure_ctx
= closctx_param
;
960 fra
.me
.closure_funs
= CREG
;
963 /* ../lib/standard/collection/hash_collection.nit:223 */
964 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
965 /* ../lib/standard/collection/hash_collection.nit:224 */
967 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
968 if (UNTAG_Bool(REGB0
)) {
970 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
971 if (UNTAG_Bool(REGB1
)) {
975 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
979 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
980 if (UNTAG_Bool(REGB0
)) {
981 /* ../lib/standard/collection/hash_collection.nit:225 */
982 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0])!=NIT_NULL
);
983 if (UNTAG_Bool(REGB0
)) {
985 nit_abort("Uninitialized attribute %s", "_key", LOCATE_standard___collection___hash_collection
, 225);
987 fra
.me
.REG
[1] = ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0]);
988 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[0]);
989 ((void (*)(struct stack_frame_t
*, val_t
, val_t
))(CREG
[0]))(closctx_param
, fra
.me
.REG
[1], fra
.me
.REG
[2]);
990 if (closctx_param
->has_broke
) {
993 /* ../lib/standard/collection/hash_collection.nit:226 */
994 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[0]);
995 fra
.me
.REG
[0] = fra
.me
.REG
[2];
997 /* ../lib/standard/collection/hash_collection.nit:224 */
1003 stack_frame_head
= fra
.me
.prev
;
1006 static const char LOCATE_standard___collection___hash_collection___HashMap___length
[] = "hash_collection::HashMap::(abstract_collection::MapRead::length)";
1007 val_t
standard___collection___hash_collection___HashMap___length(val_t p0
){
1008 struct {struct stack_frame_t me
;} fra
;
1011 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1012 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1014 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap___length
;
1015 fra
.me
.has_broke
= 0;
1016 fra
.me
.REG_size
= 1;
1017 fra
.me
.nitni_local_ref_head
= NULL
;
1018 fra
.me
.REG
[0] = NIT_NULL
;
1020 /* ../lib/standard/collection/hash_collection.nit:230 */
1021 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
1022 if (UNTAG_Bool(REGB0
)) {
1024 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___hash_collection
, 230);
1026 REGB0
= ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]);
1029 stack_frame_head
= fra
.me
.prev
;
1032 static const char LOCATE_standard___collection___hash_collection___HashMap___is_empty
[] = "hash_collection::HashMap::(abstract_collection::MapRead::is_empty)";
1033 val_t
standard___collection___hash_collection___HashMap___is_empty(val_t p0
){
1034 struct {struct stack_frame_t me
;} fra
;
1039 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1040 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1042 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap___is_empty
;
1043 fra
.me
.has_broke
= 0;
1044 fra
.me
.REG_size
= 1;
1045 fra
.me
.nitni_local_ref_head
= NULL
;
1046 fra
.me
.REG
[0] = NIT_NULL
;
1048 /* ../lib/standard/collection/hash_collection.nit:232 */
1049 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
1050 if (UNTAG_Bool(REGB0
)) {
1052 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___hash_collection
, 232);
1054 REGB0
= ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]);
1056 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
1057 if (UNTAG_Bool(REGB2
)) {
1059 /* ../lib/standard/kernel.nit:237 */
1060 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
1061 /* ../lib/standard/collection/hash_collection.nit:232 */
1066 stack_frame_head
= fra
.me
.prev
;
1069 static const char LOCATE_standard___collection___hash_collection___HashMap_____braeq
[] = "hash_collection::HashMap::(abstract_collection::Map::[]=)";
1070 void standard___collection___hash_collection___HashMap_____braeq(val_t p0
, val_t p1
, val_t p2
){
1071 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1076 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1077 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1079 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap_____braeq
;
1080 fra
.me
.has_broke
= 0;
1081 fra
.me
.REG_size
= 4;
1082 fra
.me
.nitni_local_ref_head
= NULL
;
1083 fra
.me
.REG
[0] = NIT_NULL
;
1084 fra
.me
.REG
[1] = NIT_NULL
;
1085 fra
.me
.REG
[2] = NIT_NULL
;
1086 fra
.me
.REG
[3] = NIT_NULL
;
1090 /* ../lib/standard/collection/hash_collection.nit:236 */
1091 REGB0
= CALL_standard___collection___hash_collection___HashCollection___index_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1092 /* ../lib/standard/collection/hash_collection.nit:237 */
1093 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]);
1094 /* ../lib/standard/collection/hash_collection.nit:238 */
1095 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1096 if (UNTAG_Bool(REGB1
)) {
1098 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1099 if (UNTAG_Bool(REGB2
)) {
1100 REGB2
= TAG_Bool(0);
1103 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1107 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1108 if (UNTAG_Bool(REGB1
)) {
1109 /* ../lib/standard/collection/hash_collection.nit:239 */
1110 ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[3]) = fra
.me
.REG
[1];
1111 /* ../lib/standard/collection/hash_collection.nit:240 */
1112 ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
1114 /* ../lib/standard/collection/hash_collection.nit:242 */
1115 fra
.me
.REG
[2] = NEW_HashMapNode_standard___collection___hash_collection___HashMapNode___init(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1116 CALL_standard___collection___hash_collection___HashCollection___store(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[2]);
1118 stack_frame_head
= fra
.me
.prev
;
1121 static const char LOCATE_standard___collection___hash_collection___HashMap___clear
[] = "hash_collection::HashMap::(abstract_collection::Map::clear)";
1122 void standard___collection___hash_collection___HashMap___clear(val_t p0
){
1123 struct {struct stack_frame_t me
;} fra
;
1125 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1126 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1128 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap___clear
;
1129 fra
.me
.has_broke
= 0;
1130 fra
.me
.REG_size
= 1;
1131 fra
.me
.nitni_local_ref_head
= NULL
;
1132 fra
.me
.REG
[0] = NIT_NULL
;
1134 /* ../lib/standard/collection/hash_collection.nit:246 */
1135 CALL_standard___collection___hash_collection___HashCollection___raz(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1136 stack_frame_head
= fra
.me
.prev
;
1139 static const char LOCATE_standard___collection___hash_collection___HashMap___init
[] = "hash_collection::HashMap::init";
1140 void standard___collection___hash_collection___HashMap___init(val_t p0
, int* init_table
){
1141 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashMap
].i
;
1142 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1145 if (init_table
[itpos2
]) return;
1146 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1147 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1149 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap___init
;
1150 fra
.me
.has_broke
= 0;
1151 fra
.me
.REG_size
= 2;
1152 fra
.me
.nitni_local_ref_head
= NULL
;
1153 fra
.me
.REG
[0] = NIT_NULL
;
1154 fra
.me
.REG
[1] = NIT_NULL
;
1156 /* ../lib/standard/collection/hash_collection.nit:248 */
1157 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1158 CALL_standard___collection___hash_collection___HashCollection___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
1159 /* ../lib/standard/collection/hash_collection.nit:250 */
1161 ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[1]) = REGB0
;
1162 /* ../lib/standard/collection/hash_collection.nit:251 */
1164 ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[1]) = REGB0
;
1165 /* ../lib/standard/collection/hash_collection.nit:252 */
1167 CALL_standard___collection___hash_collection___HashCollection___enlarge(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
1168 stack_frame_head
= fra
.me
.prev
;
1169 init_table
[itpos2
] = 1;
1172 static const char LOCATE_standard___collection___hash_collection___HashMap___keys
[] = "hash_collection::HashMap::(abstract_collection::MapRead::keys)";
1173 val_t
standard___collection___hash_collection___HashMap___keys(val_t p0
){
1174 struct {struct stack_frame_t me
;} fra
;
1177 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1178 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1180 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap___keys
;
1181 fra
.me
.has_broke
= 0;
1182 fra
.me
.REG_size
= 1;
1183 fra
.me
.nitni_local_ref_head
= NULL
;
1184 fra
.me
.REG
[0] = NIT_NULL
;
1186 /* ../lib/standard/collection/hash_collection.nit:255 */
1187 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashMap_____atkeys(fra
.me
.REG
[0])!=NIT_NULL
);
1188 if (UNTAG_Bool(REGB0
)) {
1190 nit_abort("Uninitialized attribute %s", "@keys", LOCATE_standard___collection___hash_collection
, 255);
1192 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashMap_____atkeys(fra
.me
.REG
[0]);
1193 stack_frame_head
= fra
.me
.prev
;
1194 return fra
.me
.REG
[0];
1196 static const char LOCATE_standard___collection___hash_collection___HashMap___keys__eq
[] = "hash_collection::HashMap::keys=";
1197 void standard___collection___hash_collection___HashMap___keys__eq(val_t p0
, val_t p1
){
1198 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1200 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1201 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1203 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap___keys__eq
;
1204 fra
.me
.has_broke
= 0;
1205 fra
.me
.REG_size
= 2;
1206 fra
.me
.nitni_local_ref_head
= NULL
;
1207 fra
.me
.REG
[0] = NIT_NULL
;
1208 fra
.me
.REG
[1] = NIT_NULL
;
1211 /* ../lib/standard/collection/hash_collection.nit:255 */
1212 ATTR_standard___collection___hash_collection___HashMap_____atkeys(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1213 stack_frame_head
= fra
.me
.prev
;
1216 static const char LOCATE_standard___collection___hash_collection___HashMap___values
[] = "hash_collection::HashMap::(abstract_collection::MapRead::values)";
1217 val_t
standard___collection___hash_collection___HashMap___values(val_t p0
){
1218 struct {struct stack_frame_t me
;} fra
;
1221 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1222 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1224 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap___values
;
1225 fra
.me
.has_broke
= 0;
1226 fra
.me
.REG_size
= 1;
1227 fra
.me
.nitni_local_ref_head
= NULL
;
1228 fra
.me
.REG
[0] = NIT_NULL
;
1230 /* ../lib/standard/collection/hash_collection.nit:256 */
1231 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashMap_____atvalues(fra
.me
.REG
[0])!=NIT_NULL
);
1232 if (UNTAG_Bool(REGB0
)) {
1234 nit_abort("Uninitialized attribute %s", "@values", LOCATE_standard___collection___hash_collection
, 256);
1236 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashMap_____atvalues(fra
.me
.REG
[0]);
1237 stack_frame_head
= fra
.me
.prev
;
1238 return fra
.me
.REG
[0];
1240 static const char LOCATE_standard___collection___hash_collection___HashMap___values__eq
[] = "hash_collection::HashMap::values=";
1241 void standard___collection___hash_collection___HashMap___values__eq(val_t p0
, val_t p1
){
1242 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1244 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1245 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1247 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMap___values__eq
;
1248 fra
.me
.has_broke
= 0;
1249 fra
.me
.REG_size
= 2;
1250 fra
.me
.nitni_local_ref_head
= NULL
;
1251 fra
.me
.REG
[0] = NIT_NULL
;
1252 fra
.me
.REG
[1] = NIT_NULL
;
1255 /* ../lib/standard/collection/hash_collection.nit:256 */
1256 ATTR_standard___collection___hash_collection___HashMap_____atvalues(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1257 stack_frame_head
= fra
.me
.prev
;
1260 static const char LOCATE_standard___collection___hash_collection___HashMapKeys___map
[] = "hash_collection::HashMapKeys::map";
1261 val_t
standard___collection___hash_collection___HashMapKeys___map(val_t p0
){
1262 struct {struct stack_frame_t me
;} fra
;
1265 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1266 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1268 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___map
;
1269 fra
.me
.has_broke
= 0;
1270 fra
.me
.REG_size
= 1;
1271 fra
.me
.nitni_local_ref_head
= NULL
;
1272 fra
.me
.REG
[0] = NIT_NULL
;
1274 /* ../lib/standard/collection/hash_collection.nit:262 */
1275 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashMapKeys_____atmap(fra
.me
.REG
[0])!=NIT_NULL
);
1276 if (UNTAG_Bool(REGB0
)) {
1278 nit_abort("Uninitialized attribute %s", "@map", LOCATE_standard___collection___hash_collection
, 262);
1280 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashMapKeys_____atmap(fra
.me
.REG
[0]);
1281 stack_frame_head
= fra
.me
.prev
;
1282 return fra
.me
.REG
[0];
1284 static const char LOCATE_standard___collection___hash_collection___HashMapKeys___map__eq
[] = "hash_collection::HashMapKeys::map=";
1285 void standard___collection___hash_collection___HashMapKeys___map__eq(val_t p0
, val_t p1
){
1286 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1288 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1289 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1291 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___map__eq
;
1292 fra
.me
.has_broke
= 0;
1293 fra
.me
.REG_size
= 2;
1294 fra
.me
.nitni_local_ref_head
= NULL
;
1295 fra
.me
.REG
[0] = NIT_NULL
;
1296 fra
.me
.REG
[1] = NIT_NULL
;
1299 /* ../lib/standard/collection/hash_collection.nit:262 */
1300 ATTR_standard___collection___hash_collection___HashMapKeys_____atmap(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1301 stack_frame_head
= fra
.me
.prev
;
1304 static const char LOCATE_standard___collection___hash_collection___HashMapKeys___count
[] = "hash_collection::HashMapKeys::(abstract_collection::Collection::count)";
1305 val_t
standard___collection___hash_collection___HashMapKeys___count(val_t p0
, val_t p1
){
1306 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} 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___count
;
1314 fra
.me
.has_broke
= 0;
1315 fra
.me
.REG_size
= 2;
1316 fra
.me
.nitni_local_ref_head
= NULL
;
1317 fra
.me
.REG
[0] = NIT_NULL
;
1318 fra
.me
.REG
[1] = NIT_NULL
;
1321 /* ../lib/standard/collection/hash_collection.nit:265 */
1322 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1323 if (UNTAG_Bool(REGB0
)) {
1332 stack_frame_head
= fra
.me
.prev
;
1335 static const char LOCATE_standard___collection___hash_collection___HashMapKeys___first
[] = "hash_collection::HashMapKeys::(abstract_collection::Collection::first)";
1336 val_t
standard___collection___hash_collection___HashMapKeys___first(val_t p0
){
1337 struct {struct stack_frame_t me
;} fra
;
1340 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1341 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1343 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___first
;
1344 fra
.me
.has_broke
= 0;
1345 fra
.me
.REG_size
= 1;
1346 fra
.me
.nitni_local_ref_head
= NULL
;
1347 fra
.me
.REG
[0] = NIT_NULL
;
1349 /* ../lib/standard/collection/hash_collection.nit:266 */
1350 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1351 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
1352 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1353 if (UNTAG_Bool(REGB0
)) {
1354 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 266);
1356 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0])!=NIT_NULL
);
1357 if (UNTAG_Bool(REGB0
)) {
1359 nit_abort("Uninitialized attribute %s", "_key", LOCATE_standard___collection___hash_collection
, 266);
1361 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0]);
1364 stack_frame_head
= fra
.me
.prev
;
1365 return fra
.me
.REG
[0];
1367 static const char LOCATE_standard___collection___hash_collection___HashMapKeys___has
[] = "hash_collection::HashMapKeys::(abstract_collection::Collection::has)";
1368 val_t
standard___collection___hash_collection___HashMapKeys___has(val_t p0
, val_t p1
){
1369 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1373 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1374 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1376 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___has
;
1377 fra
.me
.has_broke
= 0;
1378 fra
.me
.REG_size
= 2;
1379 fra
.me
.nitni_local_ref_head
= NULL
;
1380 fra
.me
.REG
[0] = NIT_NULL
;
1381 fra
.me
.REG
[1] = NIT_NULL
;
1384 /* ../lib/standard/collection/hash_collection.nit:267 */
1385 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1386 fra
.me
.REG
[1] = CALL_standard___collection___hash_collection___HashCollection___node_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1387 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1388 if (UNTAG_Bool(REGB0
)) {
1390 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1391 if (UNTAG_Bool(REGB1
)) {
1392 REGB1
= TAG_Bool(0);
1395 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1399 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1402 stack_frame_head
= fra
.me
.prev
;
1405 static const char LOCATE_standard___collection___hash_collection___HashMapKeys___has_only
[] = "hash_collection::HashMapKeys::(abstract_collection::Collection::has_only)";
1406 val_t
standard___collection___hash_collection___HashMapKeys___has_only(val_t p0
, val_t p1
){
1407 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1412 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1413 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1415 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___has_only
;
1416 fra
.me
.has_broke
= 0;
1417 fra
.me
.REG_size
= 2;
1418 fra
.me
.nitni_local_ref_head
= NULL
;
1419 fra
.me
.REG
[0] = NIT_NULL
;
1420 fra
.me
.REG
[1] = NIT_NULL
;
1423 /* ../lib/standard/collection/hash_collection.nit:268 */
1424 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1425 if (UNTAG_Bool(REGB0
)) {
1426 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1428 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
1429 if (UNTAG_Bool(REGB2
)) {
1431 /* ../lib/standard/kernel.nit:237 */
1432 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
1433 /* ../lib/standard/collection/hash_collection.nit:268 */
1437 REGB1
= TAG_Bool(0);
1440 if (UNTAG_Bool(REGB2
)) {
1441 REGB2
= TAG_Bool(1);
1443 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1448 stack_frame_head
= fra
.me
.prev
;
1451 static const char LOCATE_standard___collection___hash_collection___HashMapKeys___is_empty
[] = "hash_collection::HashMapKeys::(abstract_collection::Collection::is_empty)";
1452 val_t
standard___collection___hash_collection___HashMapKeys___is_empty(val_t p0
){
1453 struct {struct stack_frame_t me
;} fra
;
1456 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1457 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1459 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___is_empty
;
1460 fra
.me
.has_broke
= 0;
1461 fra
.me
.REG_size
= 1;
1462 fra
.me
.nitni_local_ref_head
= NULL
;
1463 fra
.me
.REG
[0] = NIT_NULL
;
1465 /* ../lib/standard/collection/hash_collection.nit:269 */
1466 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1467 REGB0
= CALL_standard___collection___abstract_collection___MapRead___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1470 stack_frame_head
= fra
.me
.prev
;
1473 static const char LOCATE_standard___collection___hash_collection___HashMapKeys___length
[] = "hash_collection::HashMapKeys::(abstract_collection::Collection::length)";
1474 val_t
standard___collection___hash_collection___HashMapKeys___length(val_t p0
){
1475 struct {struct stack_frame_t me
;} fra
;
1478 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1479 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1481 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___length
;
1482 fra
.me
.has_broke
= 0;
1483 fra
.me
.REG_size
= 1;
1484 fra
.me
.nitni_local_ref_head
= NULL
;
1485 fra
.me
.REG
[0] = NIT_NULL
;
1487 /* ../lib/standard/collection/hash_collection.nit:270 */
1488 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1489 REGB0
= CALL_standard___collection___abstract_collection___MapRead___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1492 stack_frame_head
= fra
.me
.prev
;
1495 static const char LOCATE_standard___collection___hash_collection___HashMapKeys___iterator
[] = "hash_collection::HashMapKeys::(abstract_collection::Collection::iterator)";
1496 val_t
standard___collection___hash_collection___HashMapKeys___iterator(val_t p0
){
1497 struct {struct stack_frame_t me
;} fra
;
1499 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1500 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1502 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___iterator
;
1503 fra
.me
.has_broke
= 0;
1504 fra
.me
.REG_size
= 1;
1505 fra
.me
.nitni_local_ref_head
= NULL
;
1506 fra
.me
.REG
[0] = NIT_NULL
;
1508 /* ../lib/standard/collection/hash_collection.nit:272 */
1509 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1510 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1511 fra
.me
.REG
[0] = NEW_MapKeysIterator_standard___collection___abstract_collection___MapKeysIterator___init(fra
.me
.REG
[0]);
1514 stack_frame_head
= fra
.me
.prev
;
1515 return fra
.me
.REG
[0];
1517 static const char LOCATE_standard___collection___hash_collection___HashMapKeys___clear
[] = "hash_collection::HashMapKeys::(abstract_collection::RemovableCollection::clear)";
1518 void standard___collection___hash_collection___HashMapKeys___clear(val_t p0
){
1519 struct {struct stack_frame_t me
;} fra
;
1521 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1522 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1524 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___clear
;
1525 fra
.me
.has_broke
= 0;
1526 fra
.me
.REG_size
= 1;
1527 fra
.me
.nitni_local_ref_head
= NULL
;
1528 fra
.me
.REG
[0] = NIT_NULL
;
1530 /* ../lib/standard/collection/hash_collection.nit:274 */
1531 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1532 CALL_standard___collection___abstract_collection___Map___clear(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1533 stack_frame_head
= fra
.me
.prev
;
1536 static const char LOCATE_standard___collection___hash_collection___HashMapKeys___remove
[] = "hash_collection::HashMapKeys::(abstract_collection::RemovableCollection::remove)";
1537 void standard___collection___hash_collection___HashMapKeys___remove(val_t p0
, val_t p1
){
1538 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1540 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1541 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1543 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___remove
;
1544 fra
.me
.has_broke
= 0;
1545 fra
.me
.REG_size
= 2;
1546 fra
.me
.nitni_local_ref_head
= NULL
;
1547 fra
.me
.REG
[0] = NIT_NULL
;
1548 fra
.me
.REG
[1] = NIT_NULL
;
1551 /* ../lib/standard/collection/hash_collection.nit:276 */
1552 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1553 CALL_standard___collection___hash_collection___HashCollection___remove_node(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1554 stack_frame_head
= fra
.me
.prev
;
1557 static const char LOCATE_standard___collection___hash_collection___HashMapKeys___remove_all
[] = "hash_collection::HashMapKeys::(abstract_collection::RemovableCollection::remove_all)";
1558 void standard___collection___hash_collection___HashMapKeys___remove_all(val_t p0
, val_t p1
){
1559 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1561 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1562 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1564 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___remove_all
;
1565 fra
.me
.has_broke
= 0;
1566 fra
.me
.REG_size
= 2;
1567 fra
.me
.nitni_local_ref_head
= NULL
;
1568 fra
.me
.REG
[0] = NIT_NULL
;
1569 fra
.me
.REG
[1] = NIT_NULL
;
1572 /* ../lib/standard/collection/hash_collection.nit:277 */
1573 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapKeys___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1574 CALL_standard___collection___hash_collection___HashCollection___remove_node(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1575 stack_frame_head
= fra
.me
.prev
;
1578 static const char LOCATE_standard___collection___hash_collection___HashMapKeys___init
[] = "hash_collection::HashMapKeys::init";
1579 void standard___collection___hash_collection___HashMapKeys___init(val_t p0
, val_t p1
, int* init_table
){
1580 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashMapKeys
].i
;
1581 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1583 if (init_table
[itpos3
]) return;
1584 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1585 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1587 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapKeys___init
;
1588 fra
.me
.has_broke
= 0;
1589 fra
.me
.REG_size
= 2;
1590 fra
.me
.nitni_local_ref_head
= NULL
;
1591 fra
.me
.REG
[0] = NIT_NULL
;
1592 fra
.me
.REG
[1] = NIT_NULL
;
1595 ATTR_standard___collection___hash_collection___HashMapKeys_____atmap(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1596 stack_frame_head
= fra
.me
.prev
;
1597 init_table
[itpos3
] = 1;
1600 static const char LOCATE_standard___collection___hash_collection___HashMapValues___map
[] = "hash_collection::HashMapValues::map";
1601 val_t
standard___collection___hash_collection___HashMapValues___map(val_t p0
){
1602 struct {struct stack_frame_t me
;} fra
;
1605 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1606 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1608 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___map
;
1609 fra
.me
.has_broke
= 0;
1610 fra
.me
.REG_size
= 1;
1611 fra
.me
.nitni_local_ref_head
= NULL
;
1612 fra
.me
.REG
[0] = NIT_NULL
;
1614 /* ../lib/standard/collection/hash_collection.nit:283 */
1615 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashMapValues_____atmap(fra
.me
.REG
[0])!=NIT_NULL
);
1616 if (UNTAG_Bool(REGB0
)) {
1618 nit_abort("Uninitialized attribute %s", "@map", LOCATE_standard___collection___hash_collection
, 283);
1620 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashMapValues_____atmap(fra
.me
.REG
[0]);
1621 stack_frame_head
= fra
.me
.prev
;
1622 return fra
.me
.REG
[0];
1624 static const char LOCATE_standard___collection___hash_collection___HashMapValues___map__eq
[] = "hash_collection::HashMapValues::map=";
1625 void standard___collection___hash_collection___HashMapValues___map__eq(val_t p0
, val_t p1
){
1626 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1628 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1629 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1631 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___map__eq
;
1632 fra
.me
.has_broke
= 0;
1633 fra
.me
.REG_size
= 2;
1634 fra
.me
.nitni_local_ref_head
= NULL
;
1635 fra
.me
.REG
[0] = NIT_NULL
;
1636 fra
.me
.REG
[1] = NIT_NULL
;
1639 /* ../lib/standard/collection/hash_collection.nit:283 */
1640 ATTR_standard___collection___hash_collection___HashMapValues_____atmap(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1641 stack_frame_head
= fra
.me
.prev
;
1644 static const char LOCATE_standard___collection___hash_collection___HashMapValues___count
[] = "hash_collection::HashMapValues::(abstract_collection::Collection::count)";
1645 val_t
standard___collection___hash_collection___HashMapValues___count(val_t p0
, val_t p1
){
1646 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1651 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1652 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1654 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___count
;
1655 fra
.me
.has_broke
= 0;
1656 fra
.me
.REG_size
= 3;
1657 fra
.me
.nitni_local_ref_head
= NULL
;
1658 fra
.me
.REG
[0] = NIT_NULL
;
1659 fra
.me
.REG
[1] = NIT_NULL
;
1660 fra
.me
.REG
[2] = NIT_NULL
;
1663 /* ../lib/standard/collection/hash_collection.nit:288 */
1665 /* ../lib/standard/collection/hash_collection.nit:289 */
1666 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1667 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
1668 /* ../lib/standard/collection/hash_collection.nit:290 */
1670 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1671 if (UNTAG_Bool(REGB1
)) {
1673 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1674 if (UNTAG_Bool(REGB2
)) {
1675 REGB2
= TAG_Bool(0);
1678 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
1682 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1683 if (UNTAG_Bool(REGB1
)) {
1684 /* ../lib/standard/collection/hash_collection.nit:291 */
1685 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[0]);
1686 REGB1
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1687 if (UNTAG_Bool(REGB1
)) {
1689 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1690 if (UNTAG_Bool(REGB2
)) {
1691 REGB2
= TAG_Bool(0);
1694 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1698 if (UNTAG_Bool(REGB1
)) {
1700 /* ../lib/standard/kernel.nit:245 */
1701 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1702 /* ../lib/standard/collection/hash_collection.nit:291 */
1705 /* ../lib/standard/collection/hash_collection.nit:292 */
1706 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[0]);
1707 fra
.me
.REG
[0] = fra
.me
.REG
[2];
1709 /* ../lib/standard/collection/hash_collection.nit:290 */
1714 /* ../lib/standard/collection/hash_collection.nit:294 */
1717 stack_frame_head
= fra
.me
.prev
;
1720 static const char LOCATE_standard___collection___hash_collection___HashMapValues___first
[] = "hash_collection::HashMapValues::(abstract_collection::Collection::first)";
1721 val_t
standard___collection___hash_collection___HashMapValues___first(val_t p0
){
1722 struct {struct stack_frame_t me
;} fra
;
1725 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1726 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1728 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___first
;
1729 fra
.me
.has_broke
= 0;
1730 fra
.me
.REG_size
= 1;
1731 fra
.me
.nitni_local_ref_head
= NULL
;
1732 fra
.me
.REG
[0] = NIT_NULL
;
1734 /* ../lib/standard/collection/hash_collection.nit:296 */
1735 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1736 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
1737 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1738 if (UNTAG_Bool(REGB0
)) {
1739 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 296);
1741 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[0]);
1744 stack_frame_head
= fra
.me
.prev
;
1745 return fra
.me
.REG
[0];
1747 static const char LOCATE_standard___collection___hash_collection___HashMapValues___has
[] = "hash_collection::HashMapValues::(abstract_collection::Collection::has)";
1748 val_t
standard___collection___hash_collection___HashMapValues___has(val_t p0
, val_t p1
){
1749 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1753 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1754 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1756 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___has
;
1757 fra
.me
.has_broke
= 0;
1758 fra
.me
.REG_size
= 3;
1759 fra
.me
.nitni_local_ref_head
= NULL
;
1760 fra
.me
.REG
[0] = NIT_NULL
;
1761 fra
.me
.REG
[1] = NIT_NULL
;
1762 fra
.me
.REG
[2] = NIT_NULL
;
1765 /* ../lib/standard/collection/hash_collection.nit:300 */
1766 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1767 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
1768 /* ../lib/standard/collection/hash_collection.nit:301 */
1770 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1771 if (UNTAG_Bool(REGB0
)) {
1773 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1774 if (UNTAG_Bool(REGB1
)) {
1775 REGB1
= TAG_Bool(0);
1778 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
1782 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1783 if (UNTAG_Bool(REGB0
)) {
1784 /* ../lib/standard/collection/hash_collection.nit:302 */
1785 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[0]);
1786 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1787 if (UNTAG_Bool(REGB0
)) {
1789 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1790 if (UNTAG_Bool(REGB1
)) {
1791 REGB1
= TAG_Bool(0);
1794 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1798 if (UNTAG_Bool(REGB0
)) {
1799 REGB0
= TAG_Bool(1);
1802 /* ../lib/standard/collection/hash_collection.nit:303 */
1803 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[0]);
1804 fra
.me
.REG
[0] = fra
.me
.REG
[2];
1806 /* ../lib/standard/collection/hash_collection.nit:301 */
1811 /* ../lib/standard/collection/hash_collection.nit:305 */
1812 REGB1
= TAG_Bool(0);
1816 stack_frame_head
= fra
.me
.prev
;
1819 static const char LOCATE_standard___collection___hash_collection___HashMapValues___has_only
[] = "hash_collection::HashMapValues::(abstract_collection::Collection::has_only)";
1820 val_t
standard___collection___hash_collection___HashMapValues___has_only(val_t p0
, val_t p1
){
1821 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1825 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1826 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1828 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___has_only
;
1829 fra
.me
.has_broke
= 0;
1830 fra
.me
.REG_size
= 3;
1831 fra
.me
.nitni_local_ref_head
= NULL
;
1832 fra
.me
.REG
[0] = NIT_NULL
;
1833 fra
.me
.REG
[1] = NIT_NULL
;
1834 fra
.me
.REG
[2] = NIT_NULL
;
1837 /* ../lib/standard/collection/hash_collection.nit:310 */
1838 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1839 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
1840 /* ../lib/standard/collection/hash_collection.nit:311 */
1842 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1843 if (UNTAG_Bool(REGB0
)) {
1845 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1846 if (UNTAG_Bool(REGB1
)) {
1847 REGB1
= TAG_Bool(0);
1850 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
1854 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1855 if (UNTAG_Bool(REGB0
)) {
1856 /* ../lib/standard/collection/hash_collection.nit:312 */
1857 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[0]);
1858 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1859 if (UNTAG_Bool(REGB0
)) {
1861 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1862 if (UNTAG_Bool(REGB1
)) {
1863 REGB1
= TAG_Bool(0);
1866 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1870 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1871 if (UNTAG_Bool(REGB0
)) {
1872 REGB0
= TAG_Bool(0);
1875 /* ../lib/standard/collection/hash_collection.nit:313 */
1876 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[0]);
1877 fra
.me
.REG
[0] = fra
.me
.REG
[2];
1879 /* ../lib/standard/collection/hash_collection.nit:311 */
1884 /* ../lib/standard/collection/hash_collection.nit:315 */
1885 REGB1
= TAG_Bool(1);
1889 stack_frame_head
= fra
.me
.prev
;
1892 static const char LOCATE_standard___collection___hash_collection___HashMapValues___is_empty
[] = "hash_collection::HashMapValues::(abstract_collection::Collection::is_empty)";
1893 val_t
standard___collection___hash_collection___HashMapValues___is_empty(val_t p0
){
1894 struct {struct stack_frame_t me
;} fra
;
1897 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1898 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1900 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___is_empty
;
1901 fra
.me
.has_broke
= 0;
1902 fra
.me
.REG_size
= 1;
1903 fra
.me
.nitni_local_ref_head
= NULL
;
1904 fra
.me
.REG
[0] = NIT_NULL
;
1906 /* ../lib/standard/collection/hash_collection.nit:318 */
1907 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1908 REGB0
= CALL_standard___collection___abstract_collection___MapRead___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1911 stack_frame_head
= fra
.me
.prev
;
1914 static const char LOCATE_standard___collection___hash_collection___HashMapValues___length
[] = "hash_collection::HashMapValues::(abstract_collection::Collection::length)";
1915 val_t
standard___collection___hash_collection___HashMapValues___length(val_t p0
){
1916 struct {struct stack_frame_t me
;} fra
;
1919 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1920 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1922 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___length
;
1923 fra
.me
.has_broke
= 0;
1924 fra
.me
.REG_size
= 1;
1925 fra
.me
.nitni_local_ref_head
= NULL
;
1926 fra
.me
.REG
[0] = NIT_NULL
;
1928 /* ../lib/standard/collection/hash_collection.nit:319 */
1929 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1930 REGB0
= CALL_standard___collection___abstract_collection___MapRead___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1933 stack_frame_head
= fra
.me
.prev
;
1936 static const char LOCATE_standard___collection___hash_collection___HashMapValues___iterator
[] = "hash_collection::HashMapValues::(abstract_collection::Collection::iterator)";
1937 val_t
standard___collection___hash_collection___HashMapValues___iterator(val_t p0
){
1938 struct {struct stack_frame_t me
;} fra
;
1940 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1941 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1943 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___iterator
;
1944 fra
.me
.has_broke
= 0;
1945 fra
.me
.REG_size
= 1;
1946 fra
.me
.nitni_local_ref_head
= NULL
;
1947 fra
.me
.REG
[0] = NIT_NULL
;
1949 /* ../lib/standard/collection/hash_collection.nit:321 */
1950 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1951 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1952 fra
.me
.REG
[0] = NEW_MapValuesIterator_standard___collection___abstract_collection___MapValuesIterator___init(fra
.me
.REG
[0]);
1955 stack_frame_head
= fra
.me
.prev
;
1956 return fra
.me
.REG
[0];
1958 static const char LOCATE_standard___collection___hash_collection___HashMapValues___clear
[] = "hash_collection::HashMapValues::(abstract_collection::RemovableCollection::clear)";
1959 void standard___collection___hash_collection___HashMapValues___clear(val_t p0
){
1960 struct {struct stack_frame_t me
;} fra
;
1962 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1963 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1965 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___clear
;
1966 fra
.me
.has_broke
= 0;
1967 fra
.me
.REG_size
= 1;
1968 fra
.me
.nitni_local_ref_head
= NULL
;
1969 fra
.me
.REG
[0] = NIT_NULL
;
1971 /* ../lib/standard/collection/hash_collection.nit:323 */
1972 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1973 CALL_standard___collection___abstract_collection___Map___clear(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1974 stack_frame_head
= fra
.me
.prev
;
1977 static const char LOCATE_standard___collection___hash_collection___HashMapValues___remove
[] = "hash_collection::HashMapValues::(abstract_collection::RemovableCollection::remove)";
1978 void standard___collection___hash_collection___HashMapValues___remove(val_t p0
, val_t p1
){
1979 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1983 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1984 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
1986 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___remove
;
1987 fra
.me
.has_broke
= 0;
1988 fra
.me
.REG_size
= 4;
1989 fra
.me
.nitni_local_ref_head
= NULL
;
1990 fra
.me
.REG
[0] = NIT_NULL
;
1991 fra
.me
.REG
[1] = NIT_NULL
;
1992 fra
.me
.REG
[2] = NIT_NULL
;
1993 fra
.me
.REG
[3] = NIT_NULL
;
1996 /* ../lib/standard/collection/hash_collection.nit:327 */
1997 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1998 /* ../lib/standard/collection/hash_collection.nit:328 */
1999 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
2000 /* ../lib/standard/collection/hash_collection.nit:329 */
2002 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2003 if (UNTAG_Bool(REGB0
)) {
2005 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2006 if (UNTAG_Bool(REGB1
)) {
2007 REGB1
= TAG_Bool(0);
2010 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
2014 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2015 if (UNTAG_Bool(REGB0
)) {
2016 /* ../lib/standard/collection/hash_collection.nit:330 */
2017 fra
.me
.REG
[3] = ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[2]);
2018 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[3],fra
.me
.REG
[1]));
2019 if (UNTAG_Bool(REGB0
)) {
2021 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2022 if (UNTAG_Bool(REGB1
)) {
2023 REGB1
= TAG_Bool(0);
2026 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
2030 if (UNTAG_Bool(REGB0
)) {
2031 /* ../lib/standard/collection/hash_collection.nit:331 */
2032 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[2])!=NIT_NULL
);
2033 if (UNTAG_Bool(REGB0
)) {
2035 nit_abort("Uninitialized attribute %s", "_key", LOCATE_standard___collection___hash_collection
, 331);
2037 fra
.me
.REG
[3] = ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[2]);
2038 CALL_standard___collection___hash_collection___HashCollection___remove_node(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
2039 /* ../lib/standard/collection/hash_collection.nit:332 */
2042 /* ../lib/standard/collection/hash_collection.nit:334 */
2043 fra
.me
.REG
[3] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[2]);
2044 fra
.me
.REG
[2] = fra
.me
.REG
[3];
2046 /* ../lib/standard/collection/hash_collection.nit:329 */
2052 stack_frame_head
= fra
.me
.prev
;
2055 static const char LOCATE_standard___collection___hash_collection___HashMapValues___remove_all
[] = "hash_collection::HashMapValues::(abstract_collection::RemovableCollection::remove_all)";
2056 void standard___collection___hash_collection___HashMapValues___remove_all(val_t p0
, val_t p1
){
2057 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2061 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2062 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2064 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___remove_all
;
2065 fra
.me
.has_broke
= 0;
2066 fra
.me
.REG_size
= 4;
2067 fra
.me
.nitni_local_ref_head
= NULL
;
2068 fra
.me
.REG
[0] = NIT_NULL
;
2069 fra
.me
.REG
[1] = NIT_NULL
;
2070 fra
.me
.REG
[2] = NIT_NULL
;
2071 fra
.me
.REG
[3] = NIT_NULL
;
2074 /* ../lib/standard/collection/hash_collection.nit:340 */
2075 fra
.me
.REG
[0] = CALL_standard___collection___hash_collection___HashMapValues___map(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2076 /* ../lib/standard/collection/hash_collection.nit:341 */
2077 fra
.me
.REG
[2] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
2078 /* ../lib/standard/collection/hash_collection.nit:342 */
2080 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2081 if (UNTAG_Bool(REGB0
)) {
2083 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2084 if (UNTAG_Bool(REGB1
)) {
2085 REGB1
= TAG_Bool(0);
2088 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
2092 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2093 if (UNTAG_Bool(REGB0
)) {
2094 /* ../lib/standard/collection/hash_collection.nit:343 */
2095 fra
.me
.REG
[3] = ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[2]);
2096 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[3],fra
.me
.REG
[1]));
2097 if (UNTAG_Bool(REGB0
)) {
2099 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2100 if (UNTAG_Bool(REGB1
)) {
2101 REGB1
= TAG_Bool(0);
2104 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
2108 if (UNTAG_Bool(REGB0
)) {
2109 /* ../lib/standard/collection/hash_collection.nit:344 */
2110 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[2])!=NIT_NULL
);
2111 if (UNTAG_Bool(REGB0
)) {
2113 nit_abort("Uninitialized attribute %s", "_key", LOCATE_standard___collection___hash_collection
, 344);
2115 fra
.me
.REG
[3] = ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[2]);
2116 CALL_standard___collection___hash_collection___HashCollection___remove_node(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
2118 /* ../lib/standard/collection/hash_collection.nit:346 */
2119 fra
.me
.REG
[3] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[2]);
2120 fra
.me
.REG
[2] = fra
.me
.REG
[3];
2122 /* ../lib/standard/collection/hash_collection.nit:342 */
2127 stack_frame_head
= fra
.me
.prev
;
2130 static const char LOCATE_standard___collection___hash_collection___HashMapValues___init
[] = "hash_collection::HashMapValues::init";
2131 void standard___collection___hash_collection___HashMapValues___init(val_t p0
, val_t p1
, int* init_table
){
2132 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashMapValues
].i
;
2133 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2135 if (init_table
[itpos4
]) return;
2136 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2137 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2139 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapValues___init
;
2140 fra
.me
.has_broke
= 0;
2141 fra
.me
.REG_size
= 2;
2142 fra
.me
.nitni_local_ref_head
= NULL
;
2143 fra
.me
.REG
[0] = NIT_NULL
;
2144 fra
.me
.REG
[1] = NIT_NULL
;
2147 ATTR_standard___collection___hash_collection___HashMapValues_____atmap(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2148 stack_frame_head
= fra
.me
.prev
;
2149 init_table
[itpos4
] = 1;
2152 static const char LOCATE_standard___collection___hash_collection___HashMapNode___init
[] = "hash_collection::HashMapNode::init";
2153 void standard___collection___hash_collection___HashMapNode___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2154 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashMapNode
].i
;
2155 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2157 if (init_table
[itpos5
]) return;
2158 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2159 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2161 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapNode___init
;
2162 fra
.me
.has_broke
= 0;
2163 fra
.me
.REG_size
= 4;
2164 fra
.me
.nitni_local_ref_head
= NULL
;
2165 fra
.me
.REG
[0] = NIT_NULL
;
2166 fra
.me
.REG
[1] = NIT_NULL
;
2167 fra
.me
.REG
[2] = NIT_NULL
;
2168 fra
.me
.REG
[3] = NIT_NULL
;
2172 /* ../lib/standard/collection/hash_collection.nit:356 */
2173 fra
.me
.REG
[3] = fra
.me
.REG
[0];
2174 /* ../lib/standard/collection/hash_collection.nit:358 */
2175 CALL_standard___collection___hash_collection___HashNode___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], init_table
);
2176 /* ../lib/standard/collection/hash_collection.nit:359 */
2177 ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
2178 stack_frame_head
= fra
.me
.prev
;
2179 init_table
[itpos5
] = 1;
2182 static const char LOCATE_standard___collection___hash_collection___HashMapIterator___is_ok
[] = "hash_collection::HashMapIterator::(abstract_collection::MapIterator::is_ok)";
2183 val_t
standard___collection___hash_collection___HashMapIterator___is_ok(val_t p0
){
2184 struct {struct stack_frame_t me
;} fra
;
2188 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2189 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2191 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapIterator___is_ok
;
2192 fra
.me
.has_broke
= 0;
2193 fra
.me
.REG_size
= 1;
2194 fra
.me
.nitni_local_ref_head
= NULL
;
2195 fra
.me
.REG
[0] = NIT_NULL
;
2197 /* ../lib/standard/collection/hash_collection.nit:365 */
2198 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashMapIterator____node(fra
.me
.REG
[0]);
2199 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2200 if (UNTAG_Bool(REGB0
)) {
2202 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2203 if (UNTAG_Bool(REGB1
)) {
2204 REGB1
= TAG_Bool(0);
2207 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
2211 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2214 stack_frame_head
= fra
.me
.prev
;
2217 static const char LOCATE_standard___collection___hash_collection___HashMapIterator___item
[] = "hash_collection::HashMapIterator::(abstract_collection::MapIterator::item)";
2218 val_t
standard___collection___hash_collection___HashMapIterator___item(val_t p0
){
2219 struct {struct stack_frame_t me
;} fra
;
2222 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2223 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2225 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapIterator___item
;
2226 fra
.me
.has_broke
= 0;
2227 fra
.me
.REG_size
= 1;
2228 fra
.me
.nitni_local_ref_head
= NULL
;
2229 fra
.me
.REG
[0] = NIT_NULL
;
2231 /* ../lib/standard/collection/hash_collection.nit:369 */
2232 REGB0
= CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2233 if (UNTAG_Bool(REGB0
)) {
2235 nit_abort("Assert failed", NULL
, LOCATE_standard___collection___hash_collection
, 369);
2237 /* ../lib/standard/collection/hash_collection.nit:370 */
2238 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashMapIterator____node(fra
.me
.REG
[0]);
2239 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2240 if (UNTAG_Bool(REGB0
)) {
2241 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 370);
2243 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashMapNode____value(fra
.me
.REG
[0]);
2246 stack_frame_head
= fra
.me
.prev
;
2247 return fra
.me
.REG
[0];
2249 static const char LOCATE_standard___collection___hash_collection___HashMapIterator___key
[] = "hash_collection::HashMapIterator::(abstract_collection::MapIterator::key)";
2250 val_t
standard___collection___hash_collection___HashMapIterator___key(val_t p0
){
2251 struct {struct stack_frame_t me
;} fra
;
2254 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2255 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2257 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapIterator___key
;
2258 fra
.me
.has_broke
= 0;
2259 fra
.me
.REG_size
= 1;
2260 fra
.me
.nitni_local_ref_head
= NULL
;
2261 fra
.me
.REG
[0] = NIT_NULL
;
2263 /* ../lib/standard/collection/hash_collection.nit:381 */
2264 REGB0
= CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2265 if (UNTAG_Bool(REGB0
)) {
2267 nit_abort("Assert failed", NULL
, LOCATE_standard___collection___hash_collection
, 381);
2269 /* ../lib/standard/collection/hash_collection.nit:382 */
2270 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashMapIterator____node(fra
.me
.REG
[0]);
2271 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2272 if (UNTAG_Bool(REGB0
)) {
2273 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 382);
2275 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0])!=NIT_NULL
);
2276 if (UNTAG_Bool(REGB0
)) {
2278 nit_abort("Uninitialized attribute %s", "_key", LOCATE_standard___collection___hash_collection
, 382);
2280 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0]);
2283 stack_frame_head
= fra
.me
.prev
;
2284 return fra
.me
.REG
[0];
2286 static const char LOCATE_standard___collection___hash_collection___HashMapIterator___next
[] = "hash_collection::HashMapIterator::(abstract_collection::MapIterator::next)";
2287 void standard___collection___hash_collection___HashMapIterator___next(val_t p0
){
2288 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2291 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2292 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2294 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapIterator___next
;
2295 fra
.me
.has_broke
= 0;
2296 fra
.me
.REG_size
= 2;
2297 fra
.me
.nitni_local_ref_head
= NULL
;
2298 fra
.me
.REG
[0] = NIT_NULL
;
2299 fra
.me
.REG
[1] = NIT_NULL
;
2301 /* ../lib/standard/collection/hash_collection.nit:387 */
2302 REGB0
= CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2303 if (UNTAG_Bool(REGB0
)) {
2305 nit_abort("Assert failed", NULL
, LOCATE_standard___collection___hash_collection
, 387);
2307 /* ../lib/standard/collection/hash_collection.nit:388 */
2308 fra
.me
.REG
[1] = ATTR_standard___collection___hash_collection___HashMapIterator____node(fra
.me
.REG
[0]);
2309 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2310 if (UNTAG_Bool(REGB0
)) {
2311 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 388);
2313 fra
.me
.REG
[1] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[1]);
2314 ATTR_standard___collection___hash_collection___HashMapIterator____node(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2315 stack_frame_head
= fra
.me
.prev
;
2318 static const char LOCATE_standard___collection___hash_collection___HashMapIterator___init
[] = "hash_collection::HashMapIterator::init";
2319 void standard___collection___hash_collection___HashMapIterator___init(val_t p0
, val_t p1
, int* init_table
){
2320 int itpos6
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashMapIterator
].i
;
2321 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2323 if (init_table
[itpos6
]) return;
2324 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2325 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2327 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashMapIterator___init
;
2328 fra
.me
.has_broke
= 0;
2329 fra
.me
.REG_size
= 2;
2330 fra
.me
.nitni_local_ref_head
= NULL
;
2331 fra
.me
.REG
[0] = NIT_NULL
;
2332 fra
.me
.REG
[1] = NIT_NULL
;
2335 /* ../lib/standard/collection/hash_collection.nit:399 */
2336 ATTR_standard___collection___hash_collection___HashMapIterator____map(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2337 /* ../lib/standard/collection/hash_collection.nit:400 */
2338 fra
.me
.REG
[1] = CALL_standard___collection___hash_collection___HashCollection___first_item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2339 ATTR_standard___collection___hash_collection___HashMapIterator____node(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2340 stack_frame_head
= fra
.me
.prev
;
2341 init_table
[itpos6
] = 1;
2344 static const char LOCATE_standard___collection___hash_collection___HashSet___length
[] = "hash_collection::HashSet::(abstract_collection::Collection::length)";
2345 val_t
standard___collection___hash_collection___HashSet___length(val_t p0
){
2346 struct {struct stack_frame_t me
;} fra
;
2349 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2350 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2352 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSet___length
;
2353 fra
.me
.has_broke
= 0;
2354 fra
.me
.REG_size
= 1;
2355 fra
.me
.nitni_local_ref_head
= NULL
;
2356 fra
.me
.REG
[0] = NIT_NULL
;
2358 /* ../lib/standard/collection/hash_collection.nit:410 */
2359 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
2360 if (UNTAG_Bool(REGB0
)) {
2362 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___hash_collection
, 410);
2364 REGB0
= ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]);
2367 stack_frame_head
= fra
.me
.prev
;
2370 static const char LOCATE_standard___collection___hash_collection___HashSet___is_empty
[] = "hash_collection::HashSet::(abstract_collection::Collection::is_empty)";
2371 val_t
standard___collection___hash_collection___HashSet___is_empty(val_t p0
){
2372 struct {struct stack_frame_t me
;} fra
;
2377 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2378 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2380 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSet___is_empty
;
2381 fra
.me
.has_broke
= 0;
2382 fra
.me
.REG_size
= 1;
2383 fra
.me
.nitni_local_ref_head
= NULL
;
2384 fra
.me
.REG
[0] = NIT_NULL
;
2386 /* ../lib/standard/collection/hash_collection.nit:412 */
2387 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
2388 if (UNTAG_Bool(REGB0
)) {
2390 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___hash_collection
, 412);
2392 REGB0
= ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]);
2394 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
2395 if (UNTAG_Bool(REGB2
)) {
2397 /* ../lib/standard/kernel.nit:237 */
2398 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
2399 /* ../lib/standard/collection/hash_collection.nit:412 */
2404 stack_frame_head
= fra
.me
.prev
;
2407 static const char LOCATE_standard___collection___hash_collection___HashSet___first
[] = "hash_collection::HashSet::(abstract_collection::Collection::first)";
2408 val_t
standard___collection___hash_collection___HashSet___first(val_t p0
){
2409 struct {struct stack_frame_t me
;} fra
;
2414 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2415 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2417 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSet___first
;
2418 fra
.me
.has_broke
= 0;
2419 fra
.me
.REG_size
= 1;
2420 fra
.me
.nitni_local_ref_head
= NULL
;
2421 fra
.me
.REG
[0] = NIT_NULL
;
2423 /* ../lib/standard/collection/hash_collection.nit:416 */
2424 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0])!=NIT_NULL
);
2425 if (UNTAG_Bool(REGB0
)) {
2427 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___hash_collection
, 416);
2429 REGB0
= ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[0]);
2431 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2432 if (UNTAG_Bool(REGB2
)) {
2434 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2436 /* ../lib/standard/kernel.nit:244 */
2437 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
2438 /* ../lib/standard/collection/hash_collection.nit:416 */
2439 if (UNTAG_Bool(REGB1
)) {
2441 nit_abort("Assert failed", NULL
, LOCATE_standard___collection___hash_collection
, 416);
2443 /* ../lib/standard/collection/hash_collection.nit:417 */
2444 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[0]);
2445 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2446 if (UNTAG_Bool(REGB1
)) {
2447 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 417);
2449 REGB1
= TAG_Bool(ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0])!=NIT_NULL
);
2450 if (UNTAG_Bool(REGB1
)) {
2452 nit_abort("Uninitialized attribute %s", "_key", LOCATE_standard___collection___hash_collection
, 417);
2454 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0]);
2457 stack_frame_head
= fra
.me
.prev
;
2458 return fra
.me
.REG
[0];
2460 static const char LOCATE_standard___collection___hash_collection___HashSet___has
[] = "hash_collection::HashSet::(abstract_collection::Collection::has)";
2461 val_t
standard___collection___hash_collection___HashSet___has(val_t p0
, val_t p1
){
2462 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2466 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2467 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2469 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSet___has
;
2470 fra
.me
.has_broke
= 0;
2471 fra
.me
.REG_size
= 2;
2472 fra
.me
.nitni_local_ref_head
= NULL
;
2473 fra
.me
.REG
[0] = NIT_NULL
;
2474 fra
.me
.REG
[1] = NIT_NULL
;
2477 /* ../lib/standard/collection/hash_collection.nit:422 */
2478 fra
.me
.REG
[1] = CALL_standard___collection___hash_collection___HashCollection___node_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2479 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2480 if (UNTAG_Bool(REGB0
)) {
2482 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2483 if (UNTAG_Bool(REGB1
)) {
2484 REGB1
= TAG_Bool(0);
2487 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
2491 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2494 stack_frame_head
= fra
.me
.prev
;
2497 static const char LOCATE_standard___collection___hash_collection___HashSet___add
[] = "hash_collection::HashSet::(abstract_collection::SimpleCollection::add)";
2498 void standard___collection___hash_collection___HashSet___add(val_t p0
, val_t p1
){
2499 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} 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___add
;
2508 fra
.me
.has_broke
= 0;
2509 fra
.me
.REG_size
= 3;
2510 fra
.me
.nitni_local_ref_head
= NULL
;
2511 fra
.me
.REG
[0] = NIT_NULL
;
2512 fra
.me
.REG
[1] = NIT_NULL
;
2513 fra
.me
.REG
[2] = NIT_NULL
;
2516 /* ../lib/standard/collection/hash_collection.nit:427 */
2517 REGB0
= CALL_standard___collection___hash_collection___HashCollection___index_at(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2518 /* ../lib/standard/collection/hash_collection.nit:428 */
2519 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]);
2520 /* ../lib/standard/collection/hash_collection.nit:429 */
2521 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2522 if (UNTAG_Bool(REGB1
)) {
2524 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2525 if (UNTAG_Bool(REGB2
)) {
2526 REGB2
= TAG_Bool(0);
2529 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
2533 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2534 if (UNTAG_Bool(REGB1
)) {
2535 /* ../lib/standard/collection/hash_collection.nit:430 */
2536 ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
2538 /* ../lib/standard/collection/hash_collection.nit:432 */
2539 fra
.me
.REG
[1] = NEW_HashSetNode_standard___collection___hash_collection___HashSetNode___init(fra
.me
.REG
[1]);
2540 CALL_standard___collection___hash_collection___HashCollection___store(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[1]);
2542 stack_frame_head
= fra
.me
.prev
;
2545 static const char LOCATE_standard___collection___hash_collection___HashSet___remove
[] = "hash_collection::HashSet::(abstract_collection::RemovableCollection::remove)";
2546 void standard___collection___hash_collection___HashSet___remove(val_t p0
, val_t p1
){
2547 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2549 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2550 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2552 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSet___remove
;
2553 fra
.me
.has_broke
= 0;
2554 fra
.me
.REG_size
= 2;
2555 fra
.me
.nitni_local_ref_head
= NULL
;
2556 fra
.me
.REG
[0] = NIT_NULL
;
2557 fra
.me
.REG
[1] = NIT_NULL
;
2560 /* ../lib/standard/collection/hash_collection.nit:436 */
2561 CALL_standard___collection___hash_collection___HashCollection___remove_node(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2562 stack_frame_head
= fra
.me
.prev
;
2565 static const char LOCATE_standard___collection___hash_collection___HashSet___clear
[] = "hash_collection::HashSet::(abstract_collection::RemovableCollection::clear)";
2566 void standard___collection___hash_collection___HashSet___clear(val_t p0
){
2567 struct {struct stack_frame_t me
;} fra
;
2569 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2570 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2572 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSet___clear
;
2573 fra
.me
.has_broke
= 0;
2574 fra
.me
.REG_size
= 1;
2575 fra
.me
.nitni_local_ref_head
= NULL
;
2576 fra
.me
.REG
[0] = NIT_NULL
;
2578 /* ../lib/standard/collection/hash_collection.nit:438 */
2579 CALL_standard___collection___hash_collection___HashCollection___raz(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2580 stack_frame_head
= fra
.me
.prev
;
2583 static const char LOCATE_standard___collection___hash_collection___HashSet___iterator
[] = "hash_collection::HashSet::(abstract_collection::Collection::iterator)";
2584 val_t
standard___collection___hash_collection___HashSet___iterator(val_t p0
){
2585 struct {struct stack_frame_t me
;} fra
;
2587 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2588 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2590 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSet___iterator
;
2591 fra
.me
.has_broke
= 0;
2592 fra
.me
.REG_size
= 1;
2593 fra
.me
.nitni_local_ref_head
= NULL
;
2594 fra
.me
.REG
[0] = NIT_NULL
;
2596 /* ../lib/standard/collection/hash_collection.nit:440 */
2597 fra
.me
.REG
[0] = NEW_HashSetIterator_standard___collection___hash_collection___HashSetIterator___init(fra
.me
.REG
[0]);
2600 stack_frame_head
= fra
.me
.prev
;
2601 return fra
.me
.REG
[0];
2603 static const char LOCATE_standard___collection___hash_collection___HashSet___init
[] = "hash_collection::HashSet::init";
2604 void standard___collection___hash_collection___HashSet___init(val_t p0
, int* init_table
){
2605 int itpos7
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashSet
].i
;
2606 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2609 if (init_table
[itpos7
]) return;
2610 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2611 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2613 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSet___init
;
2614 fra
.me
.has_broke
= 0;
2615 fra
.me
.REG_size
= 2;
2616 fra
.me
.nitni_local_ref_head
= NULL
;
2617 fra
.me
.REG
[0] = NIT_NULL
;
2618 fra
.me
.REG
[1] = NIT_NULL
;
2620 /* ../lib/standard/collection/hash_collection.nit:442 */
2621 fra
.me
.REG
[1] = fra
.me
.REG
[0];
2622 CALL_standard___collection___hash_collection___HashCollection___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
2623 /* ../lib/standard/collection/hash_collection.nit:444 */
2625 ATTR_standard___collection___hash_collection___HashCollection____capacity(fra
.me
.REG
[1]) = REGB0
;
2626 /* ../lib/standard/collection/hash_collection.nit:445 */
2628 ATTR_standard___collection___hash_collection___HashCollection____length(fra
.me
.REG
[1]) = REGB0
;
2629 /* ../lib/standard/collection/hash_collection.nit:446 */
2631 CALL_standard___collection___hash_collection___HashCollection___enlarge(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
2632 stack_frame_head
= fra
.me
.prev
;
2633 init_table
[itpos7
] = 1;
2636 static const char LOCATE_standard___collection___hash_collection___HashSet___from
[] = "hash_collection::HashSet::from";
2637 void standard___collection___hash_collection___HashSet___from(val_t p0
, val_t p1
, int* init_table
){
2638 int itpos8
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashSet
].i
;
2639 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2641 if (init_table
[itpos8
]) return;
2642 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2643 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2645 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSet___from
;
2646 fra
.me
.has_broke
= 0;
2647 fra
.me
.REG_size
= 2;
2648 fra
.me
.nitni_local_ref_head
= NULL
;
2649 fra
.me
.REG
[0] = NIT_NULL
;
2650 fra
.me
.REG
[1] = NIT_NULL
;
2653 /* ../lib/standard/collection/hash_collection.nit:451 */
2654 CALL_standard___collection___hash_collection___HashSet___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
2655 /* ../lib/standard/collection/hash_collection.nit:452 */
2656 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2657 stack_frame_head
= fra
.me
.prev
;
2658 init_table
[itpos8
] = 1;
2661 static const char LOCATE_standard___collection___hash_collection___HashSetNode___init
[] = "hash_collection::HashSetNode::init";
2662 void standard___collection___hash_collection___HashSetNode___init(val_t p0
, val_t p1
, int* init_table
){
2663 int itpos9
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashSetNode
].i
;
2664 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2666 if (init_table
[itpos9
]) return;
2667 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2668 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2670 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSetNode___init
;
2671 fra
.me
.has_broke
= 0;
2672 fra
.me
.REG_size
= 4;
2673 fra
.me
.nitni_local_ref_head
= NULL
;
2674 fra
.me
.REG
[0] = NIT_NULL
;
2675 fra
.me
.REG
[1] = NIT_NULL
;
2676 fra
.me
.REG
[2] = NIT_NULL
;
2677 fra
.me
.REG
[3] = NIT_NULL
;
2680 /* ../lib/standard/collection/hash_collection.nit:460 */
2681 fra
.me
.REG
[2] = fra
.me
.REG
[0];
2682 fra
.me
.REG
[3] = fra
.me
.REG
[1];
2683 CALL_standard___collection___hash_collection___HashNode___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], init_table
);
2684 /* ../lib/standard/collection/hash_collection.nit:462 */
2685 ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[2]) = fra
.me
.REG
[3];
2686 stack_frame_head
= fra
.me
.prev
;
2687 init_table
[itpos9
] = 1;
2690 static const char LOCATE_standard___collection___hash_collection___HashSetIterator___is_ok
[] = "hash_collection::HashSetIterator::(abstract_collection::Iterator::is_ok)";
2691 val_t
standard___collection___hash_collection___HashSetIterator___is_ok(val_t p0
){
2692 struct {struct stack_frame_t me
;} fra
;
2696 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2697 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2699 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSetIterator___is_ok
;
2700 fra
.me
.has_broke
= 0;
2701 fra
.me
.REG_size
= 1;
2702 fra
.me
.nitni_local_ref_head
= NULL
;
2703 fra
.me
.REG
[0] = NIT_NULL
;
2705 /* ../lib/standard/collection/hash_collection.nit:468 */
2706 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashSetIterator____node(fra
.me
.REG
[0]);
2707 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2708 if (UNTAG_Bool(REGB0
)) {
2710 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2711 if (UNTAG_Bool(REGB1
)) {
2712 REGB1
= TAG_Bool(0);
2715 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
2719 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2722 stack_frame_head
= fra
.me
.prev
;
2725 static const char LOCATE_standard___collection___hash_collection___HashSetIterator___item
[] = "hash_collection::HashSetIterator::(abstract_collection::Iterator::item)";
2726 val_t
standard___collection___hash_collection___HashSetIterator___item(val_t p0
){
2727 struct {struct stack_frame_t me
;} fra
;
2730 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2731 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2733 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSetIterator___item
;
2734 fra
.me
.has_broke
= 0;
2735 fra
.me
.REG_size
= 1;
2736 fra
.me
.nitni_local_ref_head
= NULL
;
2737 fra
.me
.REG
[0] = NIT_NULL
;
2739 /* ../lib/standard/collection/hash_collection.nit:472 */
2740 REGB0
= CALL_standard___collection___abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2741 if (UNTAG_Bool(REGB0
)) {
2743 nit_abort("Assert failed", NULL
, LOCATE_standard___collection___hash_collection
, 472);
2745 /* ../lib/standard/collection/hash_collection.nit:473 */
2746 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashSetIterator____node(fra
.me
.REG
[0]);
2747 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2748 if (UNTAG_Bool(REGB0
)) {
2749 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 473);
2751 REGB0
= TAG_Bool(ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0])!=NIT_NULL
);
2752 if (UNTAG_Bool(REGB0
)) {
2754 nit_abort("Uninitialized attribute %s", "_key", LOCATE_standard___collection___hash_collection
, 473);
2756 fra
.me
.REG
[0] = ATTR_standard___collection___hash_collection___HashNode____key(fra
.me
.REG
[0]);
2759 stack_frame_head
= fra
.me
.prev
;
2760 return fra
.me
.REG
[0];
2762 static const char LOCATE_standard___collection___hash_collection___HashSetIterator___next
[] = "hash_collection::HashSetIterator::(abstract_collection::Iterator::next)";
2763 void standard___collection___hash_collection___HashSetIterator___next(val_t p0
){
2764 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2767 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2768 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2770 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSetIterator___next
;
2771 fra
.me
.has_broke
= 0;
2772 fra
.me
.REG_size
= 2;
2773 fra
.me
.nitni_local_ref_head
= NULL
;
2774 fra
.me
.REG
[0] = NIT_NULL
;
2775 fra
.me
.REG
[1] = NIT_NULL
;
2777 /* ../lib/standard/collection/hash_collection.nit:478 */
2778 REGB0
= CALL_standard___collection___abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2779 if (UNTAG_Bool(REGB0
)) {
2781 nit_abort("Assert failed", NULL
, LOCATE_standard___collection___hash_collection
, 478);
2783 /* ../lib/standard/collection/hash_collection.nit:479 */
2784 fra
.me
.REG
[1] = ATTR_standard___collection___hash_collection___HashSetIterator____node(fra
.me
.REG
[0]);
2785 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2786 if (UNTAG_Bool(REGB0
)) {
2787 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___hash_collection
, 479);
2789 fra
.me
.REG
[1] = ATTR_standard___collection___hash_collection___HashNode____next_item(fra
.me
.REG
[1]);
2790 ATTR_standard___collection___hash_collection___HashSetIterator____node(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2791 stack_frame_head
= fra
.me
.prev
;
2794 static const char LOCATE_standard___collection___hash_collection___HashSetIterator___init
[] = "hash_collection::HashSetIterator::init";
2795 void standard___collection___hash_collection___HashSetIterator___init(val_t p0
, val_t p1
, int* init_table
){
2796 int itpos10
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___hash_collection___HashSetIterator
].i
;
2797 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2799 if (init_table
[itpos10
]) return;
2800 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2801 fra
.me
.file
= LOCATE_standard___collection___hash_collection
;
2803 fra
.me
.meth
= LOCATE_standard___collection___hash_collection___HashSetIterator___init
;
2804 fra
.me
.has_broke
= 0;
2805 fra
.me
.REG_size
= 2;
2806 fra
.me
.nitni_local_ref_head
= NULL
;
2807 fra
.me
.REG
[0] = NIT_NULL
;
2808 fra
.me
.REG
[1] = NIT_NULL
;
2811 /* ../lib/standard/collection/hash_collection.nit:490 */
2812 ATTR_standard___collection___hash_collection___HashSetIterator____set(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2813 /* ../lib/standard/collection/hash_collection.nit:491 */
2814 fra
.me
.REG
[1] = ATTR_standard___collection___hash_collection___HashCollection____first_item(fra
.me
.REG
[1]);
2815 ATTR_standard___collection___hash_collection___HashSetIterator____node(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2816 stack_frame_head
= fra
.me
.prev
;
2817 init_table
[itpos10
] = 1;