1 /* This C file is generated by NIT to compile module abstract_collection. */
2 #include "abstract_collection._sep.h"
3 val_t
abstract_collection___Collection___iterator(val_t self
) {
4 struct trace_t trace
= {NULL
, "abstract_collection::Collection::iterator (bin/../lib/standard//abstract_collection.nit:42,2--43:26)"};
5 trace
.prev
= tracehead
; tracehead
= &trace
;
6 fprintf(stderr
, "Deferred method iterator called (bin/../lib/standard//abstract_collection.nit:42,2)\n");
8 tracehead
= trace
.prev
;
11 val_t
abstract_collection___Collection___is_empty(val_t self
) {
12 struct trace_t trace
= {NULL
, "abstract_collection::Collection::is_empty (bin/../lib/standard//abstract_collection.nit:45,2--46:20)"};
13 trace
.prev
= tracehead
; tracehead
= &trace
;
14 fprintf(stderr
, "Deferred method is_empty called (bin/../lib/standard//abstract_collection.nit:45,2)\n");
16 tracehead
= trace
.prev
;
19 val_t
abstract_collection___Collection___length(val_t self
) {
20 struct trace_t trace
= {NULL
, "abstract_collection::Collection::length (bin/../lib/standard//abstract_collection.nit:48,2--49:17)"};
21 trace
.prev
= tracehead
; tracehead
= &trace
;
22 fprintf(stderr
, "Deferred method length called (bin/../lib/standard//abstract_collection.nit:48,2)\n");
24 tracehead
= trace
.prev
;
27 val_t
abstract_collection___Collection___has(val_t self
, val_t param0
) {
28 struct trace_t trace
= {NULL
, "abstract_collection::Collection::has (bin/../lib/standard//abstract_collection.nit:51,2--53:24)"};
29 trace
.prev
= tracehead
; tracehead
= &trace
;
30 fprintf(stderr
, "Deferred method has called (bin/../lib/standard//abstract_collection.nit:51,2)\n");
32 tracehead
= trace
.prev
;
35 val_t
abstract_collection___Collection___has_only(val_t self
, val_t param0
) {
36 struct trace_t trace
= {NULL
, "abstract_collection::Collection::has_only (bin/../lib/standard//abstract_collection.nit:55,2--58:29)"};
37 trace
.prev
= tracehead
; tracehead
= &trace
;
38 fprintf(stderr
, "Deferred method has_only called (bin/../lib/standard//abstract_collection.nit:55,2)\n");
40 tracehead
= trace
.prev
;
43 val_t
abstract_collection___Collection___count(val_t self
, val_t param0
) {
44 struct trace_t trace
= {NULL
, "abstract_collection::Collection::count (bin/../lib/standard//abstract_collection.nit:60,2--62:25)"};
45 trace
.prev
= tracehead
; tracehead
= &trace
;
46 fprintf(stderr
, "Deferred method count called (bin/../lib/standard//abstract_collection.nit:60,2)\n");
48 tracehead
= trace
.prev
;
51 val_t
abstract_collection___Collection___first(val_t self
) {
52 struct trace_t trace
= {NULL
, "abstract_collection::Collection::first (bin/../lib/standard//abstract_collection.nit:64,2--65:14)"};
53 trace
.prev
= tracehead
; tracehead
= &trace
;
54 fprintf(stderr
, "Deferred method first called (bin/../lib/standard//abstract_collection.nit:64,2)\n");
56 tracehead
= trace
.prev
;
59 val_t
abstract_collection___NaiveCollection___is_empty(val_t self
) {
60 struct trace_t trace
= {NULL
, "abstract_collection::NaiveCollection::is_empty (bin/../lib/standard//abstract_collection.nit:72,2--42)"};
62 trace
.prev
= tracehead
; tracehead
= &trace
;
63 variable0
= ((abstract_collection___NaiveCollection___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*NaiveCollection::length*/;
64 variable0
= TAG_Bool((variable0
)==( TAG_Int(0)));
66 return_label0
: while(false);
67 tracehead
= trace
.prev
;
70 val_t
abstract_collection___NaiveCollection___length(val_t self
) {
71 struct trace_t trace
= {NULL
, "abstract_collection::NaiveCollection::length (bin/../lib/standard//abstract_collection.nit:74,2--78:11)"};
75 trace
.prev
= tracehead
; tracehead
= &trace
;
76 variable0
= TAG_Int(0);
77 variable1
= ((abstract_collection___Collection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*NaiveCollection::iterator*/;
78 while (true) { /*for*/
79 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
80 if (!UNTAG_Bool(variable2
)) break; /*for*/
81 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
82 variable0
= TAG_Int(UNTAG_Int(variable0
)+UNTAG_Int( variable0
/*nb*/)) /*nb*/;
84 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
87 variable0
= variable0
/*nb*/;
89 return_label1
: while(false);
90 tracehead
= trace
.prev
;
93 val_t
abstract_collection___NaiveCollection___has(val_t self
, val_t param0
) {
94 struct trace_t trace
= {NULL
, "abstract_collection::NaiveCollection::has (bin/../lib/standard//abstract_collection.nit:81,2--84:14)"};
99 trace
.prev
= tracehead
; tracehead
= &trace
;
101 variable1
= ((abstract_collection___Collection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*NaiveCollection::iterator*/;
102 while (true) { /*for*/
103 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
104 if (!UNTAG_Bool(variable2
)) break; /*for*/
105 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
106 variable3
= TAG_Bool(( variable2
/*i*/ == variable0
/*item*/) || (( variable2
/*i*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable2
/*i*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable2
/*i*/, variable0
/*item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable2
/*i*/,COLOR_kernel___Object_____eqeq
))( variable2
/*i*/, variable0
/*item*/) /*Object::==*/)))));
107 if (UNTAG_Bool(variable3
)) { /*if*/
108 variable1
= TAG_Bool(true);
111 continue_4
: while(0);
112 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
115 variable1
= TAG_Bool(false);
117 return_label3
: while(false);
118 tracehead
= trace
.prev
;
121 val_t
abstract_collection___NaiveCollection___has_only(val_t self
, val_t param0
) {
122 struct trace_t trace
= {NULL
, "abstract_collection::NaiveCollection::has_only (bin/../lib/standard//abstract_collection.nit:87,2--90:13)"};
127 trace
.prev
= tracehead
; tracehead
= &trace
;
129 variable1
= ((abstract_collection___Collection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*NaiveCollection::iterator*/;
130 while (true) { /*for*/
131 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
132 if (!UNTAG_Bool(variable2
)) break; /*for*/
133 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
134 variable3
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2
/*i*/ == variable0
/*item*/) || (( variable2
/*i*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable2
/*i*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable2
/*i*/, variable0
/*item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable2
/*i*/,COLOR_kernel___Object_____eqeq
))( variable2
/*i*/, variable0
/*item*/) /*Object::==*/)))))));
135 if (UNTAG_Bool(variable3
)) { /*if*/
136 variable1
= TAG_Bool(false);
139 continue_6
: while(0);
140 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
143 variable1
= TAG_Bool(true);
145 return_label5
: while(false);
146 tracehead
= trace
.prev
;
149 val_t
abstract_collection___NaiveCollection___count(val_t self
, val_t param0
) {
150 struct trace_t trace
= {NULL
, "abstract_collection::NaiveCollection::count (bin/../lib/standard//abstract_collection.nit:93,2--97:11)"};
156 trace
.prev
= tracehead
; tracehead
= &trace
;
158 variable1
= TAG_Int(0);
159 variable2
= ((abstract_collection___Collection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*NaiveCollection::iterator*/;
160 while (true) { /*for*/
161 variable3
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*Iterator::is_ok*/;
162 if (!UNTAG_Bool(variable3
)) break; /*for*/
163 variable3
= ((abstract_collection___Iterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*Iterator::item*/;
164 variable4
= TAG_Bool(( variable3
/*i*/ == variable0
/*item*/) || (( variable3
/*i*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable3
/*i*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable3
/*i*/, variable0
/*item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable3
/*i*/,COLOR_kernel___Object_____eqeq
))( variable3
/*i*/, variable0
/*item*/) /*Object::==*/)))));
165 if (UNTAG_Bool(variable4
)) { /*if*/
166 variable1
= TAG_Int(UNTAG_Int(variable1
)+UNTAG_Int( TAG_Int(1))) /*nb*/;
168 continue_8
: while(0);
169 ((abstract_collection___Iterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*Iterator::next*/;
172 variable1
= variable1
/*nb*/;
174 return_label7
: while(false);
175 tracehead
= trace
.prev
;
178 val_t
abstract_collection___NaiveCollection___first(val_t self
) {
179 struct trace_t trace
= {NULL
, "abstract_collection::NaiveCollection::first (bin/../lib/standard//abstract_collection.nit:100,2--103:22)"};
181 trace
.prev
= tracehead
; tracehead
= &trace
;
182 variable0
= ((abstract_collection___NaiveCollection___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*NaiveCollection::length*/;
183 variable0
= TAG_Bool(UNTAG_Int(variable0
)>UNTAG_Int( TAG_Int(0)));
184 if (!UNTAG_Bool(variable0
)) { fprintf(stderr
, "Assert failed: bin/../lib/standard//abstract_collection.nit:102,3--19\n"); nit_exit(1);}
185 variable0
= ((abstract_collection___Collection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*NaiveCollection::iterator*/;
186 variable0
= ((abstract_collection___Iterator___item_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___item
))(variable0
) /*Iterator::item*/;
188 return_label9
: while(false);
189 tracehead
= trace
.prev
;
192 val_t
abstract_collection___Iterator___item(val_t self
) {
193 struct trace_t trace
= {NULL
, "abstract_collection::Iterator::item (bin/../lib/standard//abstract_collection.nit:110,2--112:13)"};
194 trace
.prev
= tracehead
; tracehead
= &trace
;
195 fprintf(stderr
, "Deferred method item called (bin/../lib/standard//abstract_collection.nit:110,2)\n");
197 tracehead
= trace
.prev
;
200 void abstract_collection___Iterator___next(val_t self
) {
201 struct trace_t trace
= {NULL
, "abstract_collection::Iterator::next (bin/../lib/standard//abstract_collection.nit:114,2--116:10)"};
202 trace
.prev
= tracehead
; tracehead
= &trace
;
203 fprintf(stderr
, "Deferred method next called (bin/../lib/standard//abstract_collection.nit:114,2)\n");
205 tracehead
= trace
.prev
;
208 val_t
abstract_collection___Iterator___is_ok(val_t self
) {
209 struct trace_t trace
= {NULL
, "abstract_collection::Iterator::is_ok (bin/../lib/standard//abstract_collection.nit:118,2--119:17)"};
210 trace
.prev
= tracehead
; tracehead
= &trace
;
211 fprintf(stderr
, "Deferred method is_ok called (bin/../lib/standard//abstract_collection.nit:118,2)\n");
213 tracehead
= trace
.prev
;
216 val_t
abstract_collection___Container___first(val_t self
) {
217 struct trace_t trace
= {NULL
, "abstract_collection::Container::first (bin/../lib/standard//abstract_collection.nit:126,2--33)"};
219 trace
.prev
= tracehead
; tracehead
= &trace
;
220 variable0
= ATTR_abstract_collection___Container____item( self
) /*Container::_item*/;
222 return_label10
: while(false);
223 tracehead
= trace
.prev
;
226 val_t
abstract_collection___Container___is_empty(val_t self
) {
227 struct trace_t trace
= {NULL
, "abstract_collection::Container::is_empty (bin/../lib/standard//abstract_collection.nit:128,2--36)"};
229 trace
.prev
= tracehead
; tracehead
= &trace
;
230 variable0
= TAG_Bool(false);
232 return_label11
: while(false);
233 tracehead
= trace
.prev
;
236 val_t
abstract_collection___Container___length(val_t self
) {
237 struct trace_t trace
= {NULL
, "abstract_collection::Container::length (bin/../lib/standard//abstract_collection.nit:130,2--30)"};
239 trace
.prev
= tracehead
; tracehead
= &trace
;
240 variable0
= TAG_Int(1);
242 return_label12
: while(false);
243 tracehead
= trace
.prev
;
246 val_t
abstract_collection___Container___has(val_t self
, val_t param0
) {
247 struct trace_t trace
= {NULL
, "abstract_collection::Container::has (bin/../lib/standard//abstract_collection.nit:132,2--51)"};
250 trace
.prev
= tracehead
; tracehead
= &trace
;
252 variable1
= ATTR_abstract_collection___Container____item( self
) /*Container::_item*/;
253 variable1
= TAG_Bool((variable1
== variable0
/*an_item*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, variable0
/*an_item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, variable0
/*an_item*/) /*Object::==*/)))));
255 return_label13
: while(false);
256 tracehead
= trace
.prev
;
259 val_t
abstract_collection___Container___has_only(val_t self
, val_t param0
) {
260 struct trace_t trace
= {NULL
, "abstract_collection::Container::has_only (bin/../lib/standard//abstract_collection.nit:134,2--56)"};
263 trace
.prev
= tracehead
; tracehead
= &trace
;
265 variable1
= ATTR_abstract_collection___Container____item( self
) /*Container::_item*/;
266 variable1
= TAG_Bool((variable1
== variable0
/*an_item*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, variable0
/*an_item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, variable0
/*an_item*/) /*Object::==*/)))));
268 return_label14
: while(false);
269 tracehead
= trace
.prev
;
272 val_t
abstract_collection___Container___count(val_t self
, val_t param0
) {
273 struct trace_t trace
= {NULL
, "abstract_collection::Container::count (bin/../lib/standard//abstract_collection.nit:136,2--141:11)"};
276 trace
.prev
= tracehead
; tracehead
= &trace
;
278 variable1
= ATTR_abstract_collection___Container____item( self
) /*Container::_item*/;
279 variable1
= TAG_Bool((variable1
== variable0
/*an_item*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, variable0
/*an_item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, variable0
/*an_item*/) /*Object::==*/)))));
280 if (UNTAG_Bool(variable1
)) { /*if*/
281 variable1
= TAG_Int(1);
284 variable1
= TAG_Int(0);
287 return_label15
: while(false);
288 tracehead
= trace
.prev
;
291 val_t
abstract_collection___Container___iterator(val_t self
) {
292 struct trace_t trace
= {NULL
, "abstract_collection::Container::iterator (bin/../lib/standard//abstract_collection.nit:145,2--60)"};
294 trace
.prev
= tracehead
; tracehead
= &trace
;
295 variable0
= NEW_abstract_collection___ContainerIterator___init( self
); /*new ContainerIterator[E]*/
297 return_label16
: while(false);
298 tracehead
= trace
.prev
;
301 void abstract_collection___Container___init(val_t self
, val_t param0
, int* init_table
) {
302 struct trace_t trace
= {NULL
, "abstract_collection::Container::init (bin/../lib/standard//abstract_collection.nit:147,2--148:24)"};
304 trace
.prev
= tracehead
; tracehead
= &trace
;
306 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Container
].i
]) return;
307 ATTR_abstract_collection___Container____item( self
) /*Container::_item*/ = variable0
/*e*/;
308 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Container
].i
] = 1;
309 tracehead
= trace
.prev
;
312 val_t
abstract_collection___Container___item(val_t self
) {
313 struct trace_t trace
= {NULL
, "abstract_collection::Container::item (bin/../lib/standard//abstract_collection.nit:150,2--151:32)"};
314 trace
.prev
= tracehead
; tracehead
= &trace
;
315 tracehead
= trace
.prev
;
316 return ATTR_abstract_collection___Container____item( self
) /*Container::_item*/;
318 void abstract_collection___Container___item__eq(val_t self
, val_t param0
) {
319 struct trace_t trace
= {NULL
, "abstract_collection::Container::item= (bin/../lib/standard//abstract_collection.nit:150,2--151:32)"};
320 trace
.prev
= tracehead
; tracehead
= &trace
;
321 ATTR_abstract_collection___Container____item( self
) /*Container::_item*/ = param0
;
322 tracehead
= trace
.prev
;
325 val_t
abstract_collection___ContainerIterator___item(val_t self
) {
326 struct trace_t trace
= {NULL
, "abstract_collection::ContainerIterator::item (bin/../lib/standard//abstract_collection.nit:157,2--42)"};
328 trace
.prev
= tracehead
; tracehead
= &trace
;
329 variable0
= ATTR_abstract_collection___ContainerIterator____container( self
) /*ContainerIterator::_container*/;
330 variable0
= ((abstract_collection___Container___item_t
)CALL(variable0
,COLOR_abstract_collection___Container___item
))(variable0
) /*Container::item*/;
332 return_label18
: while(false);
333 tracehead
= trace
.prev
;
336 void abstract_collection___ContainerIterator___next(val_t self
) {
337 struct trace_t trace
= {NULL
, "abstract_collection::ContainerIterator::next (bin/../lib/standard//abstract_collection.nit:159,2--34)"};
338 trace
.prev
= tracehead
; tracehead
= &trace
;
339 ATTR_abstract_collection___ContainerIterator____is_ok( self
) /*ContainerIterator::_is_ok*/ = TAG_Bool(false);
340 tracehead
= trace
.prev
;
343 void abstract_collection___ContainerIterator___init(val_t self
, val_t param0
, int* init_table
) {
344 struct trace_t trace
= {NULL
, "abstract_collection::ContainerIterator::init (bin/../lib/standard//abstract_collection.nit:161,2--40)"};
346 trace
.prev
= tracehead
; tracehead
= &trace
;
348 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_ContainerIterator
].i
]) return;
349 ATTR_abstract_collection___ContainerIterator____container( self
) /*ContainerIterator::_container*/ = variable0
/*c*/;
350 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_ContainerIterator
].i
] = 1;
351 tracehead
= trace
.prev
;
354 val_t
abstract_collection___ContainerIterator___is_ok(val_t self
) {
355 struct trace_t trace
= {NULL
, "abstract_collection::ContainerIterator::is_ok (bin/../lib/standard//abstract_collection.nit:163,2--40)"};
356 trace
.prev
= tracehead
; tracehead
= &trace
;
357 tracehead
= trace
.prev
;
358 return ATTR_abstract_collection___ContainerIterator____is_ok( self
) /*ContainerIterator::_is_ok*/;
360 void abstract_collection___RemovableCollection___clear(val_t self
) {
361 struct trace_t trace
= {NULL
, "abstract_collection::RemovableCollection::clear (bin/../lib/standard//abstract_collection.nit:171,2--172:11)"};
362 trace
.prev
= tracehead
; tracehead
= &trace
;
363 fprintf(stderr
, "Deferred method clear called (bin/../lib/standard//abstract_collection.nit:171,2)\n");
365 tracehead
= trace
.prev
;
368 void abstract_collection___RemovableCollection___remove(val_t self
, val_t param0
) {
369 struct trace_t trace
= {NULL
, "abstract_collection::RemovableCollection::remove (bin/../lib/standard//abstract_collection.nit:174,2--175:20)"};
370 trace
.prev
= tracehead
; tracehead
= &trace
;
371 fprintf(stderr
, "Deferred method remove called (bin/../lib/standard//abstract_collection.nit:174,2)\n");
373 tracehead
= trace
.prev
;
376 void abstract_collection___RemovableCollection___remove_all(val_t self
, val_t param0
) {
377 struct trace_t trace
= {NULL
, "abstract_collection::RemovableCollection::remove_all (bin/../lib/standard//abstract_collection.nit:177,2--178:59)"};
380 trace
.prev
= tracehead
; tracehead
= &trace
;
382 while (true) { /*while*/
383 variable1
= ((abstract_collection___Collection___has_t
)CALL( self
,COLOR_abstract_collection___Collection___has
))( self
, variable0
/*item*/) /*RemovableCollection::has*/;
384 if (!UNTAG_Bool(variable1
)) break; /* while*/
385 ((abstract_collection___RemovableCollection___remove_t
)CALL( self
,COLOR_abstract_collection___RemovableCollection___remove
))( self
, variable0
/*item*/) /*RemovableCollection::remove*/;
386 continue_22
: while(0);
389 tracehead
= trace
.prev
;
392 void abstract_collection___SimpleCollection___add(val_t self
, val_t param0
) {
393 struct trace_t trace
= {NULL
, "abstract_collection::SimpleCollection::add (bin/../lib/standard//abstract_collection.nit:184,2--186:17)"};
394 trace
.prev
= tracehead
; tracehead
= &trace
;
395 fprintf(stderr
, "Deferred method add called (bin/../lib/standard//abstract_collection.nit:184,2)\n");
397 tracehead
= trace
.prev
;
400 void abstract_collection___SimpleCollection___add_all(val_t self
, val_t param0
) {
401 struct trace_t trace
= {NULL
, "abstract_collection::SimpleCollection::add_all (bin/../lib/standard//abstract_collection.nit:188,2--189:81)"};
405 trace
.prev
= tracehead
; tracehead
= &trace
;
407 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*coll*/ == NIT_NULL
/*null*/) || (( variable0
/*coll*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*coll*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*coll*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*coll*/,COLOR_kernel___Object_____eqeq
))( variable0
/*coll*/, NIT_NULL
/*null*/) /*Collection::==*/)))))));
408 if (UNTAG_Bool(variable1
)) { /*if*/
409 variable1
= ((abstract_collection___Collection___iterator_t
)CALL( variable0
/*coll*/,COLOR_abstract_collection___Collection___iterator
))( variable0
/*coll*/) /*Collection::iterator*/;
410 while (true) { /*for*/
411 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
412 if (!UNTAG_Bool(variable2
)) break; /*for*/
413 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
414 ((abstract_collection___SimpleCollection___add_t
)CALL( self
,COLOR_abstract_collection___SimpleCollection___add
))( self
, variable2
/*i*/) /*SimpleCollection::add*/;
415 continue_24
: while(0);
416 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
420 tracehead
= trace
.prev
;
423 val_t
abstract_collection___Set___has_only(val_t self
, val_t param0
) {
424 struct trace_t trace
= {NULL
, "abstract_collection::Set::has_only (bin/../lib/standard//abstract_collection.nit:204,2--212:15)"};
428 trace
.prev
= tracehead
; tracehead
= &trace
;
430 variable2
= ((abstract_collection___Collection___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*Set::length*/;
431 variable1
= variable2
;
432 variable2
= TAG_Bool(( variable1
/*l*/)==( TAG_Int(1)));
433 if (UNTAG_Bool(variable2
)) { /*if*/
434 variable2
= ((abstract_collection___Collection___has_t
)CALL( self
,COLOR_abstract_collection___Collection___has
))( self
, variable0
/*item*/) /*Set::has*/;
435 variable1
= variable2
;
438 variable2
= TAG_Bool(( variable1
/*l*/)==( TAG_Int(0)));
439 if (UNTAG_Bool(variable2
)) { /*if*/
440 variable1
= TAG_Bool(true);
443 variable1
= TAG_Bool(false);
447 return_label25
: while(false);
448 tracehead
= trace
.prev
;
451 val_t
abstract_collection___Set___count(val_t self
, val_t param0
) {
452 struct trace_t trace
= {NULL
, "abstract_collection::Set::count (bin/../lib/standard//abstract_collection.nit:216,2--222:11)"};
455 trace
.prev
= tracehead
; tracehead
= &trace
;
457 variable1
= ((abstract_collection___Collection___has_t
)CALL( self
,COLOR_abstract_collection___Collection___has
))( self
, variable0
/*item*/) /*Set::has*/;
458 if (UNTAG_Bool(variable1
)) { /*if*/
459 variable1
= TAG_Int(1);
462 variable1
= TAG_Int(0);
465 return_label26
: while(false);
466 tracehead
= trace
.prev
;
469 void abstract_collection___Set___remove_all(val_t self
, val_t param0
) {
470 struct trace_t trace
= {NULL
, "abstract_collection::Set::remove_all (bin/../lib/standard//abstract_collection.nit:226,2--227:43)"};
472 trace
.prev
= tracehead
; tracehead
= &trace
;
474 ((abstract_collection___RemovableCollection___remove_t
)CALL( self
,COLOR_abstract_collection___RemovableCollection___remove
))( self
, variable0
/*item*/) /*Set::remove*/;
475 tracehead
= trace
.prev
;
478 val_t
abstract_collection___Map_____bra(val_t self
, val_t param0
) {
479 struct trace_t trace
= {NULL
, "abstract_collection::Map::[] (bin/../lib/standard//abstract_collection.nit:244,2--245:19)"};
480 trace
.prev
= tracehead
; tracehead
= &trace
;
481 fprintf(stderr
, "Deferred method [] called (bin/../lib/standard//abstract_collection.nit:244,2)\n");
483 tracehead
= trace
.prev
;
486 void abstract_collection___Map_____braeq(val_t self
, val_t param0
, val_t param1
) {
487 struct trace_t trace
= {NULL
, "abstract_collection::Map::[]= (bin/../lib/standard//abstract_collection.nit:247,2--248:25)"};
488 trace
.prev
= tracehead
; tracehead
= &trace
;
489 fprintf(stderr
, "Deferred method []= called (bin/../lib/standard//abstract_collection.nit:247,2)\n");
491 tracehead
= trace
.prev
;
494 val_t
abstract_collection___Map___has_key(val_t self
, val_t param0
) {
495 struct trace_t trace
= {NULL
, "abstract_collection::Map::has_key (bin/../lib/standard//abstract_collection.nit:250,2--251:27)"};
496 trace
.prev
= tracehead
; tracehead
= &trace
;
497 fprintf(stderr
, "Deferred method has_key called (bin/../lib/standard//abstract_collection.nit:250,2)\n");
499 tracehead
= trace
.prev
;
502 void abstract_collection___Map___remove_at(val_t self
, val_t param0
) {
503 struct trace_t trace
= {NULL
, "abstract_collection::Map::remove_at (bin/../lib/standard//abstract_collection.nit:253,2--254:22)"};
504 trace
.prev
= tracehead
; tracehead
= &trace
;
505 fprintf(stderr
, "Deferred method remove_at called (bin/../lib/standard//abstract_collection.nit:253,2)\n");
507 tracehead
= trace
.prev
;
510 void abstract_collection___Map___recover_with(val_t self
, val_t param0
) {
511 struct trace_t trace
= {NULL
, "abstract_collection::Map::recover_with (bin/../lib/standard//abstract_collection.nit:256,2--263:9)"};
516 trace
.prev
= tracehead
; tracehead
= &trace
;
518 variable2
= ((abstract_collection___Map___iterator_t
)CALL( variable0
/*map*/,COLOR_abstract_collection___Collection___iterator
))( variable0
/*map*/) /*Map::iterator*/;
519 variable1
= variable2
;
520 while (true) { /*while*/
521 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___is_ok
))( variable1
/*i*/) /*MapIterator::is_ok*/;
522 if (!UNTAG_Bool(variable2
)) break; /* while*/
523 variable2
= ((abstract_collection___MapIterator___key_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___MapIterator___key
))( variable1
/*i*/) /*MapIterator::key*/;
524 variable3
= ((abstract_collection___Iterator___item_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___item
))( variable1
/*i*/) /*MapIterator::item*/;
525 ((abstract_collection___Map_____braeq_t
)CALL( self
,COLOR_abstract_collection___Map_____braeq
))( self
, variable2
, variable3
) /*Map::[]=*/;
526 ((abstract_collection___Iterator___next_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___next
))( variable1
/*i*/) /*MapIterator::next*/;
527 continue_29
: while(0);
530 tracehead
= trace
.prev
;
533 val_t
abstract_collection___Map___iterator(val_t self
) {
534 struct trace_t trace
= {NULL
, "abstract_collection::Map::iterator (bin/../lib/standard//abstract_collection.nit:267,2--38)"};
535 trace
.prev
= tracehead
; tracehead
= &trace
;
536 fprintf(stderr
, "Deferred method iterator called (bin/../lib/standard//abstract_collection.nit:267,2)\n");
538 tracehead
= trace
.prev
;
541 val_t
abstract_collection___MapIterator___key(val_t self
) {
542 struct trace_t trace
= {NULL
, "abstract_collection::MapIterator::key (bin/../lib/standard//abstract_collection.nit:273,2--274:12)"};
543 trace
.prev
= tracehead
; tracehead
= &trace
;
544 fprintf(stderr
, "Deferred method key called (bin/../lib/standard//abstract_collection.nit:273,2)\n");
546 tracehead
= trace
.prev
;
549 void abstract_collection___MapIterator___item__eq(val_t self
, val_t param0
) {
550 struct trace_t trace
= {NULL
, "abstract_collection::MapIterator::item= (bin/../lib/standard//abstract_collection.nit:276,2--277:19)"};
551 trace
.prev
= tracehead
; tracehead
= &trace
;
552 fprintf(stderr
, "Deferred method item= called (bin/../lib/standard//abstract_collection.nit:276,2)\n");
554 tracehead
= trace
.prev
;
557 val_t
abstract_collection___IndexedCollection___first(val_t self
) {
558 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::first (bin/../lib/standard//abstract_collection.nit:285,2--290:15)"};
560 trace
.prev
= tracehead
; tracehead
= &trace
;
561 variable0
= ((abstract_collection___Collection___is_empty_t
)CALL( self
,COLOR_abstract_collection___Collection___is_empty
))( self
) /*IndexedCollection::is_empty*/;
562 if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0
)))) { fprintf(stderr
, "Assert 'not_empty' failed: bin/../lib/standard//abstract_collection.nit:289,3--32\n"); nit_exit(1);}
563 variable0
= ((abstract_collection___Map_____bra_t
)CALL( self
,COLOR_abstract_collection___Map_____bra
))( self
, TAG_Int(0)) /*IndexedCollection::[]*/;
565 return_label30
: while(false);
566 tracehead
= trace
.prev
;
569 void abstract_collection___IndexedCollection___first__eq(val_t self
, val_t param0
) {
570 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::first= (bin/../lib/standard//abstract_collection.nit:293,2--296:18)"};
572 trace
.prev
= tracehead
; tracehead
= &trace
;
574 ((abstract_collection___Map_____braeq_t
)CALL( self
,COLOR_abstract_collection___Map_____braeq
))( self
, TAG_Int(0), variable0
/*item*/) /*IndexedCollection::[]=*/;
575 tracehead
= trace
.prev
;
578 val_t
abstract_collection___IndexedCollection___last(val_t self
) {
579 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::last (bin/../lib/standard//abstract_collection.nit:298,2--303:22)"};
581 trace
.prev
= tracehead
; tracehead
= &trace
;
582 variable0
= ((abstract_collection___Collection___is_empty_t
)CALL( self
,COLOR_abstract_collection___Collection___is_empty
))( self
) /*IndexedCollection::is_empty*/;
583 if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0
)))) { fprintf(stderr
, "Assert 'not_empty' failed: bin/../lib/standard//abstract_collection.nit:302,3--32\n"); nit_exit(1);}
584 variable0
= ((abstract_collection___Collection___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*IndexedCollection::length*/;
585 variable0
= TAG_Int(UNTAG_Int(variable0
)-UNTAG_Int( TAG_Int(1)));
586 variable0
= ((abstract_collection___Map_____bra_t
)CALL( self
,COLOR_abstract_collection___Map_____bra
))( self
, variable0
) /*IndexedCollection::[]*/;
588 return_label32
: while(false);
589 tracehead
= trace
.prev
;
592 void abstract_collection___IndexedCollection___last__eq(val_t self
, val_t param0
) {
593 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::last= (bin/../lib/standard//abstract_collection.nit:306,2--314:17)"};
597 trace
.prev
= tracehead
; tracehead
= &trace
;
599 variable2
= ((abstract_collection___Collection___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*IndexedCollection::length*/;
600 variable1
= variable2
;
601 variable2
= TAG_Bool(UNTAG_Int( variable1
/*l*/)>UNTAG_Int( TAG_Int(0)));
602 if (UNTAG_Bool(variable2
)) { /*if*/
603 variable2
= TAG_Int(UNTAG_Int( variable1
/*l*/)-UNTAG_Int( TAG_Int(1)));
604 ((abstract_collection___Map_____braeq_t
)CALL( self
,COLOR_abstract_collection___Map_____braeq
))( self
, variable2
, variable0
/*item*/) /*IndexedCollection::[]=*/;
606 ((abstract_collection___Map_____braeq_t
)CALL( self
,COLOR_abstract_collection___Map_____braeq
))( self
, TAG_Int(0), variable0
/*item*/) /*IndexedCollection::[]=*/;
608 tracehead
= trace
.prev
;
611 void abstract_collection___IndexedCollection___add(val_t self
, val_t param0
) {
612 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::add (bin/../lib/standard//abstract_collection.nit:318,2--319:28)"};
614 trace
.prev
= tracehead
; tracehead
= &trace
;
616 ((abstract_collection___IndexedCollection___push_t
)CALL( self
,COLOR_abstract_collection___IndexedCollection___push
))( self
, variable0
/*e*/) /*IndexedCollection::push*/;
617 tracehead
= trace
.prev
;
620 void abstract_collection___IndexedCollection___push(val_t self
, val_t param0
) {
621 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::push (bin/../lib/standard//abstract_collection.nit:321,2--322:15)"};
622 trace
.prev
= tracehead
; tracehead
= &trace
;
623 fprintf(stderr
, "Deferred method push called (bin/../lib/standard//abstract_collection.nit:321,2)\n");
625 tracehead
= trace
.prev
;
628 void abstract_collection___IndexedCollection___append(val_t self
, val_t param0
) {
629 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::append (bin/../lib/standard//abstract_collection.nit:324,2--325:81)"};
633 trace
.prev
= tracehead
; tracehead
= &trace
;
635 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*coll*/ == NIT_NULL
/*null*/) || (( variable0
/*coll*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*coll*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*coll*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*coll*/,COLOR_kernel___Object_____eqeq
))( variable0
/*coll*/, NIT_NULL
/*null*/) /*Collection::==*/)))))));
636 if (UNTAG_Bool(variable1
)) { /*if*/
637 variable1
= ((abstract_collection___Collection___iterator_t
)CALL( variable0
/*coll*/,COLOR_abstract_collection___Collection___iterator
))( variable0
/*coll*/) /*Collection::iterator*/;
638 while (true) { /*for*/
639 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
640 if (!UNTAG_Bool(variable2
)) break; /*for*/
641 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
642 ((abstract_collection___IndexedCollection___push_t
)CALL( self
,COLOR_abstract_collection___IndexedCollection___push
))( self
, variable2
/*i*/) /*IndexedCollection::push*/;
643 continue_36
: while(0);
644 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
648 tracehead
= trace
.prev
;
651 val_t
abstract_collection___IndexedCollection___pop(val_t self
) {
652 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::pop (bin/../lib/standard//abstract_collection.nit:327,2--328:12)"};
653 trace
.prev
= tracehead
; tracehead
= &trace
;
654 fprintf(stderr
, "Deferred method pop called (bin/../lib/standard//abstract_collection.nit:327,2)\n");
656 tracehead
= trace
.prev
;
659 void abstract_collection___IndexedCollection___unshift(val_t self
, val_t param0
) {
660 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::unshift (bin/../lib/standard//abstract_collection.nit:330,2--331:18)"};
661 trace
.prev
= tracehead
; tracehead
= &trace
;
662 fprintf(stderr
, "Deferred method unshift called (bin/../lib/standard//abstract_collection.nit:330,2)\n");
664 tracehead
= trace
.prev
;
667 val_t
abstract_collection___IndexedCollection___shift(val_t self
) {
668 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::shift (bin/../lib/standard//abstract_collection.nit:333,2--335:14)"};
669 trace
.prev
= tracehead
; tracehead
= &trace
;
670 fprintf(stderr
, "Deferred method shift called (bin/../lib/standard//abstract_collection.nit:333,2)\n");
672 tracehead
= trace
.prev
;
675 val_t
abstract_collection___IndexedCollection___index_of(val_t self
, val_t param0
) {
676 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::index_of (bin/../lib/standard//abstract_collection.nit:337,2--346:11)"};
680 trace
.prev
= tracehead
; tracehead
= &trace
;
682 variable2
= ((abstract_collection___IndexedCollection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*IndexedCollection::iterator*/;
683 variable1
= variable2
;
684 while (true) { /*while*/
685 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___is_ok
))( variable1
/*i*/) /*IndexedIterator::is_ok*/;
686 if (!UNTAG_Bool(variable2
)) break; /* while*/
687 variable2
= ((abstract_collection___Iterator___item_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___item
))( variable1
/*i*/) /*IndexedIterator::item*/;
688 variable2
= TAG_Bool((variable2
== variable0
/*item*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, variable0
/*item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, variable0
/*item*/) /*Object::==*/)))));
689 if (UNTAG_Bool(variable2
)) { /*if*/
690 variable2
= ((abstract_collection___IndexedIterator___index_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___IndexedIterator___index
))( variable1
/*i*/) /*IndexedIterator::index*/;
691 variable1
= variable2
;
694 ((abstract_collection___Iterator___next_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___next
))( variable1
/*i*/) /*IndexedIterator::next*/;
695 continue_38
: while(0);
698 variable2
= TAG_Int(-UNTAG_Int( TAG_Int(1)));
699 variable1
= variable2
;
701 return_label37
: while(false);
702 tracehead
= trace
.prev
;
705 val_t
abstract_collection___IndexedCollection___iterator(val_t self
) {
706 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::iterator (bin/../lib/standard//abstract_collection.nit:349,2--39)"};
707 trace
.prev
= tracehead
; tracehead
= &trace
;
708 fprintf(stderr
, "Deferred method iterator called (bin/../lib/standard//abstract_collection.nit:349,2)\n");
710 tracehead
= trace
.prev
;
713 val_t
abstract_collection___IndexedIterator___index(val_t self
) {
714 struct trace_t trace
= {NULL
, "abstract_collection::IndexedIterator::index (bin/../lib/standard//abstract_collection.nit:355,2--356:16)"};
715 trace
.prev
= tracehead
; tracehead
= &trace
;
716 fprintf(stderr
, "Deferred method index called (bin/../lib/standard//abstract_collection.nit:355,2)\n");
718 tracehead
= trace
.prev
;
721 val_t
abstract_collection___IndexedIterator___key(val_t self
) {
722 struct trace_t trace
= {NULL
, "abstract_collection::IndexedIterator::key (bin/../lib/standard//abstract_collection.nit:358,2--359:31)"};
724 trace
.prev
= tracehead
; tracehead
= &trace
;
725 variable0
= ((abstract_collection___IndexedIterator___index_t
)CALL( self
,COLOR_abstract_collection___IndexedIterator___index
))( self
) /*IndexedIterator::index*/;
727 return_label39
: while(false);
728 tracehead
= trace
.prev
;
731 val_t
abstract_collection___CoupleMap___couple_at(val_t self
, val_t param0
) {
732 struct trace_t trace
= {NULL
, "abstract_collection::CoupleMap::couple_at (bin/../lib/standard//abstract_collection.nit:365,2--367:46)"};
733 trace
.prev
= tracehead
; tracehead
= &trace
;
734 fprintf(stderr
, "Deferred method couple_at called (bin/../lib/standard//abstract_collection.nit:365,2)\n");
736 tracehead
= trace
.prev
;
739 val_t
abstract_collection___CoupleMap_____bra(val_t self
, val_t param0
) {
740 struct trace_t trace
= {NULL
, "abstract_collection::CoupleMap::[] (bin/../lib/standard//abstract_collection.nit:369,2--375:18)"};
744 trace
.prev
= tracehead
; tracehead
= &trace
;
746 variable2
= ((abstract_collection___CoupleMap___couple_at_t
)CALL( self
,COLOR_abstract_collection___CoupleMap___couple_at
))( self
, variable0
/*key*/) /*CoupleMap::couple_at*/;
747 variable1
= variable2
;
748 variable2
= TAG_Bool(( variable1
/*c*/ == NIT_NULL
/*null*/) || (( variable1
/*c*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*c*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*c*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*c*/,COLOR_kernel___Object_____eqeq
))( variable1
/*c*/, NIT_NULL
/*null*/) /*Couple::==*/)))));
749 if (UNTAG_Bool(variable2
)) { /*if*/
750 variable1
= NIT_NULL
/*null*/;
753 variable2
= ((abstract_collection___Couple___second_t
)CALL( variable1
/*c*/,COLOR_abstract_collection___Couple___second
))( variable1
/*c*/) /*Couple::second*/;
754 variable1
= variable2
;
757 return_label40
: while(false);
758 tracehead
= trace
.prev
;
761 val_t
abstract_collection___CoupleMap___has_key(val_t self
, val_t param0
) {
762 struct trace_t trace
= {NULL
, "abstract_collection::CoupleMap::has_key (bin/../lib/standard//abstract_collection.nit:379,2--57)"};
765 trace
.prev
= tracehead
; tracehead
= &trace
;
767 variable1
= ((abstract_collection___CoupleMap___couple_at_t
)CALL( self
,COLOR_abstract_collection___CoupleMap___couple_at
))( self
, variable0
/*key*/) /*CoupleMap::couple_at*/;
768 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Couple::==*/)))))));
770 return_label41
: while(false);
771 tracehead
= trace
.prev
;
774 val_t
abstract_collection___CoupleMapIterator___item(val_t self
) {
775 struct trace_t trace
= {NULL
, "abstract_collection::CoupleMapIterator::item (bin/../lib/standard//abstract_collection.nit:387,2--44)"};
777 trace
.prev
= tracehead
; tracehead
= &trace
;
778 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
779 variable0
= ((abstract_collection___Iterator___item_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___item
))(variable0
) /*Iterator::item*/;
780 variable0
= ((abstract_collection___Couple___second_t
)CALL(variable0
,COLOR_abstract_collection___Couple___second
))(variable0
) /*Couple::second*/;
782 return_label42
: while(false);
783 tracehead
= trace
.prev
;
786 void abstract_collection___CoupleMapIterator___item__eq(val_t self
, val_t param0
) {
787 struct trace_t trace
= {NULL
, "abstract_collection::CoupleMapIterator::item= (bin/../lib/standard//abstract_collection.nit:389,2--45)"};
790 trace
.prev
= tracehead
; tracehead
= &trace
;
792 variable1
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
793 variable1
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
794 ((abstract_collection___Couple___second__eq_t
)CALL(variable1
,COLOR_abstract_collection___Couple___second__eq
))(variable1
, variable0
/*e*/) /*Couple::second=*/;
795 tracehead
= trace
.prev
;
798 val_t
abstract_collection___CoupleMapIterator___key(val_t self
) {
799 struct trace_t trace
= {NULL
, "abstract_collection::CoupleMapIterator::key (bin/../lib/standard//abstract_collection.nit:391,2--42)"};
801 trace
.prev
= tracehead
; tracehead
= &trace
;
802 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
803 variable0
= ((abstract_collection___Iterator___item_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___item
))(variable0
) /*Iterator::item*/;
804 variable0
= ((abstract_collection___Couple___first_t
)CALL(variable0
,COLOR_abstract_collection___Couple___first
))(variable0
) /*Couple::first*/;
806 return_label44
: while(false);
807 tracehead
= trace
.prev
;
810 val_t
abstract_collection___CoupleMapIterator___is_ok(val_t self
) {
811 struct trace_t trace
= {NULL
, "abstract_collection::CoupleMapIterator::is_ok (bin/../lib/standard//abstract_collection.nit:393,2--39)"};
813 trace
.prev
= tracehead
; tracehead
= &trace
;
814 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
815 variable0
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___is_ok
))(variable0
) /*Iterator::is_ok*/;
817 return_label45
: while(false);
818 tracehead
= trace
.prev
;
821 void abstract_collection___CoupleMapIterator___next(val_t self
) {
822 struct trace_t trace
= {NULL
, "abstract_collection::CoupleMapIterator::next (bin/../lib/standard//abstract_collection.nit:395,2--398:56)"};
825 trace
.prev
= tracehead
; tracehead
= &trace
;
826 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
827 ((abstract_collection___Iterator___next_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___next
))(variable0
) /*Iterator::next*/;
828 while (true) { /*while*/
829 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
830 variable0
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___is_ok
))(variable0
) /*Iterator::is_ok*/;
831 variable1
= variable0
;
832 if (UNTAG_Bool(variable1
)) { /* and */
833 variable1
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
834 variable1
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
835 variable1
= TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Couple::==*/)))));
837 variable0
= variable1
;
838 if (!UNTAG_Bool(variable0
)) break; /* while*/
839 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
840 ((abstract_collection___Iterator___next_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___next
))(variable0
) /*Iterator::next*/;
841 continue_47
: while(0);
844 tracehead
= trace
.prev
;
847 void abstract_collection___CoupleMapIterator___init(val_t self
, val_t param0
, int* init_table
) {
848 struct trace_t trace
= {NULL
, "abstract_collection::CoupleMapIterator::init (bin/../lib/standard//abstract_collection.nit:403,2--44)"};
850 trace
.prev
= tracehead
; tracehead
= &trace
;
852 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_CoupleMapIterator
].i
]) return;
853 ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/ = variable0
/*i*/;
854 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_CoupleMapIterator
].i
] = 1;
855 tracehead
= trace
.prev
;
858 val_t
abstract_collection___Couple___first(val_t self
) {
859 struct trace_t trace
= {NULL
, "abstract_collection::Couple::first (bin/../lib/standard//abstract_collection.nit:411,2--412:33)"};
860 trace
.prev
= tracehead
; tracehead
= &trace
;
861 tracehead
= trace
.prev
;
862 return ATTR_abstract_collection___Couple____first( self
) /*Couple::_first*/;
864 void abstract_collection___Couple___first__eq(val_t self
, val_t param0
) {
865 struct trace_t trace
= {NULL
, "abstract_collection::Couple::first= (bin/../lib/standard//abstract_collection.nit:411,2--412:33)"};
866 trace
.prev
= tracehead
; tracehead
= &trace
;
867 ATTR_abstract_collection___Couple____first( self
) /*Couple::_first*/ = param0
;
868 tracehead
= trace
.prev
;
871 val_t
abstract_collection___Couple___second(val_t self
) {
872 struct trace_t trace
= {NULL
, "abstract_collection::Couple::second (bin/../lib/standard//abstract_collection.nit:414,2--415:34)"};
873 trace
.prev
= tracehead
; tracehead
= &trace
;
874 tracehead
= trace
.prev
;
875 return ATTR_abstract_collection___Couple____second( self
) /*Couple::_second*/;
877 void abstract_collection___Couple___second__eq(val_t self
, val_t param0
) {
878 struct trace_t trace
= {NULL
, "abstract_collection::Couple::second= (bin/../lib/standard//abstract_collection.nit:414,2--415:34)"};
879 trace
.prev
= tracehead
; tracehead
= &trace
;
880 ATTR_abstract_collection___Couple____second( self
) /*Couple::_second*/ = param0
;
881 tracehead
= trace
.prev
;
884 void abstract_collection___Couple___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
885 struct trace_t trace
= {NULL
, "abstract_collection::Couple::init (bin/../lib/standard//abstract_collection.nit:417,2--421:13)"};
888 trace
.prev
= tracehead
; tracehead
= &trace
;
891 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Couple
].i
]) return;
892 ATTR_abstract_collection___Couple____first( self
) /*Couple::_first*/ = variable0
/*f*/;
893 ATTR_abstract_collection___Couple____second( self
) /*Couple::_second*/ = variable1
/*s*/;
894 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Couple
].i
] = 1;
895 tracehead
= trace
.prev
;