1 #include "abstract_collection._sep.h"
2 val_t
abstract_collection___Collection___iterator(val_t self
) {
3 struct trace_t trace
= {NULL
, "abstract_collection::Collection::iterator (bin/../lib/standard//abstract_collection.nit:42,2--43:26)"};
4 trace
.prev
= tracehead
; tracehead
= &trace
;
5 fprintf(stderr
, "Deferred method iterator called (bin/../lib/standard//abstract_collection.nit:42,2)\n");
7 tracehead
= trace
.prev
;
10 val_t
abstract_collection___Collection___is_empty(val_t self
) {
11 struct trace_t trace
= {NULL
, "abstract_collection::Collection::is_empty (bin/../lib/standard//abstract_collection.nit:45,2--46:20)"};
12 trace
.prev
= tracehead
; tracehead
= &trace
;
13 fprintf(stderr
, "Deferred method is_empty called (bin/../lib/standard//abstract_collection.nit:45,2)\n");
15 tracehead
= trace
.prev
;
18 val_t
abstract_collection___Collection___length(val_t self
) {
19 struct trace_t trace
= {NULL
, "abstract_collection::Collection::length (bin/../lib/standard//abstract_collection.nit:48,2--49:17)"};
20 trace
.prev
= tracehead
; tracehead
= &trace
;
21 fprintf(stderr
, "Deferred method length called (bin/../lib/standard//abstract_collection.nit:48,2)\n");
23 tracehead
= trace
.prev
;
26 val_t
abstract_collection___Collection___has(val_t self
, val_t param0
) {
27 struct trace_t trace
= {NULL
, "abstract_collection::Collection::has (bin/../lib/standard//abstract_collection.nit:51,2--53:24)"};
28 trace
.prev
= tracehead
; tracehead
= &trace
;
29 fprintf(stderr
, "Deferred method has called (bin/../lib/standard//abstract_collection.nit:51,2)\n");
31 tracehead
= trace
.prev
;
34 val_t
abstract_collection___Collection___has_only(val_t self
, val_t param0
) {
35 struct trace_t trace
= {NULL
, "abstract_collection::Collection::has_only (bin/../lib/standard//abstract_collection.nit:55,2--58:29)"};
36 trace
.prev
= tracehead
; tracehead
= &trace
;
37 fprintf(stderr
, "Deferred method has_only called (bin/../lib/standard//abstract_collection.nit:55,2)\n");
39 tracehead
= trace
.prev
;
42 val_t
abstract_collection___Collection___count(val_t self
, val_t param0
) {
43 struct trace_t trace
= {NULL
, "abstract_collection::Collection::count (bin/../lib/standard//abstract_collection.nit:60,2--62:25)"};
44 trace
.prev
= tracehead
; tracehead
= &trace
;
45 fprintf(stderr
, "Deferred method count called (bin/../lib/standard//abstract_collection.nit:60,2)\n");
47 tracehead
= trace
.prev
;
50 val_t
abstract_collection___Collection___first(val_t self
) {
51 struct trace_t trace
= {NULL
, "abstract_collection::Collection::first (bin/../lib/standard//abstract_collection.nit:64,2--65:14)"};
52 trace
.prev
= tracehead
; tracehead
= &trace
;
53 fprintf(stderr
, "Deferred method first called (bin/../lib/standard//abstract_collection.nit:64,2)\n");
55 tracehead
= trace
.prev
;
58 val_t
abstract_collection___NaiveCollection___is_empty(val_t self
) {
59 struct trace_t trace
= {NULL
, "abstract_collection::NaiveCollection::is_empty (bin/../lib/standard//abstract_collection.nit:72,2--42)"};
61 trace
.prev
= tracehead
; tracehead
= &trace
;
62 variable0
= ((abstract_collection___NaiveCollection___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*NaiveCollection::length*/;
63 variable0
= TAG_Bool((variable0
)==( TAG_Int(0)));
65 return_label0
: while(false);
66 tracehead
= trace
.prev
;
69 val_t
abstract_collection___NaiveCollection___length(val_t self
) {
70 struct trace_t trace
= {NULL
, "abstract_collection::NaiveCollection::length (bin/../lib/standard//abstract_collection.nit:74,2--78:11)"};
74 trace
.prev
= tracehead
; tracehead
= &trace
;
75 variable0
= TAG_Int(0);
76 variable1
= ((abstract_collection___Collection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*NaiveCollection::iterator*/;
77 while (true) { /*for*/
78 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
79 if (!UNTAG_Bool(variable2
)) break; /*for*/
80 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
81 variable0
= TAG_Int(UNTAG_Int(variable0
)+UNTAG_Int( variable0
/*nb*/)) /*nb*/;
83 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
86 variable0
= variable0
/*nb*/;
88 return_label1
: while(false);
89 tracehead
= trace
.prev
;
92 val_t
abstract_collection___NaiveCollection___has(val_t self
, val_t param0
) {
93 struct trace_t trace
= {NULL
, "abstract_collection::NaiveCollection::has (bin/../lib/standard//abstract_collection.nit:81,2--84:14)"};
98 trace
.prev
= tracehead
; tracehead
= &trace
;
100 variable1
= ((abstract_collection___Collection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*NaiveCollection::iterator*/;
101 while (true) { /*for*/
102 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
103 if (!UNTAG_Bool(variable2
)) break; /*for*/
104 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
105 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::==*/)))));
106 if (UNTAG_Bool(variable3
)) { /*if*/
107 variable1
= TAG_Bool(true);
110 continue_4
: while(0);
111 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
114 variable1
= TAG_Bool(false);
116 return_label3
: while(false);
117 tracehead
= trace
.prev
;
120 val_t
abstract_collection___NaiveCollection___has_only(val_t self
, val_t param0
) {
121 struct trace_t trace
= {NULL
, "abstract_collection::NaiveCollection::has_only (bin/../lib/standard//abstract_collection.nit:87,2--90:13)"};
126 trace
.prev
= tracehead
; tracehead
= &trace
;
128 variable1
= ((abstract_collection___Collection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*NaiveCollection::iterator*/;
129 while (true) { /*for*/
130 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
131 if (!UNTAG_Bool(variable2
)) break; /*for*/
132 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
133 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::==*/)))))));
134 if (UNTAG_Bool(variable3
)) { /*if*/
135 variable1
= TAG_Bool(false);
138 continue_6
: while(0);
139 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
142 variable1
= TAG_Bool(true);
144 return_label5
: while(false);
145 tracehead
= trace
.prev
;
148 val_t
abstract_collection___NaiveCollection___count(val_t self
, val_t param0
) {
149 struct trace_t trace
= {NULL
, "abstract_collection::NaiveCollection::count (bin/../lib/standard//abstract_collection.nit:93,2--97:11)"};
155 trace
.prev
= tracehead
; tracehead
= &trace
;
157 variable1
= TAG_Int(0);
158 variable2
= ((abstract_collection___Collection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*NaiveCollection::iterator*/;
159 while (true) { /*for*/
160 variable3
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*Iterator::is_ok*/;
161 if (!UNTAG_Bool(variable3
)) break; /*for*/
162 variable3
= ((abstract_collection___Iterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*Iterator::item*/;
163 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::==*/)))));
164 if (UNTAG_Bool(variable4
)) { /*if*/
165 variable1
= TAG_Int(UNTAG_Int(variable1
)+UNTAG_Int( TAG_Int(1))) /*nb*/;
167 continue_8
: while(0);
168 ((abstract_collection___Iterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*Iterator::next*/;
171 variable1
= variable1
/*nb*/;
173 return_label7
: while(false);
174 tracehead
= trace
.prev
;
177 val_t
abstract_collection___NaiveCollection___first(val_t self
) {
178 struct trace_t trace
= {NULL
, "abstract_collection::NaiveCollection::first (bin/../lib/standard//abstract_collection.nit:100,2--103:22)"};
180 trace
.prev
= tracehead
; tracehead
= &trace
;
181 variable0
= ((abstract_collection___NaiveCollection___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*NaiveCollection::length*/;
182 variable0
= TAG_Bool(UNTAG_Int(variable0
)>UNTAG_Int( TAG_Int(0)));
183 if (!UNTAG_Bool(variable0
)) { fprintf(stderr
, "Assert failed: bin/../lib/standard//abstract_collection.nit:102,3--19\n"); nit_exit(1);}
184 variable0
= ((abstract_collection___Collection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*NaiveCollection::iterator*/;
185 variable0
= ((abstract_collection___Iterator___item_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___item
))(variable0
) /*Iterator::item*/;
187 return_label9
: while(false);
188 tracehead
= trace
.prev
;
191 val_t
abstract_collection___Iterator___item(val_t self
) {
192 struct trace_t trace
= {NULL
, "abstract_collection::Iterator::item (bin/../lib/standard//abstract_collection.nit:110,2--112:13)"};
193 trace
.prev
= tracehead
; tracehead
= &trace
;
194 fprintf(stderr
, "Deferred method item called (bin/../lib/standard//abstract_collection.nit:110,2)\n");
196 tracehead
= trace
.prev
;
199 void abstract_collection___Iterator___next(val_t self
) {
200 struct trace_t trace
= {NULL
, "abstract_collection::Iterator::next (bin/../lib/standard//abstract_collection.nit:114,2--116:10)"};
201 trace
.prev
= tracehead
; tracehead
= &trace
;
202 fprintf(stderr
, "Deferred method next called (bin/../lib/standard//abstract_collection.nit:114,2)\n");
204 tracehead
= trace
.prev
;
207 val_t
abstract_collection___Iterator___is_ok(val_t self
) {
208 struct trace_t trace
= {NULL
, "abstract_collection::Iterator::is_ok (bin/../lib/standard//abstract_collection.nit:118,2--119:17)"};
209 trace
.prev
= tracehead
; tracehead
= &trace
;
210 fprintf(stderr
, "Deferred method is_ok called (bin/../lib/standard//abstract_collection.nit:118,2)\n");
212 tracehead
= trace
.prev
;
215 val_t
abstract_collection___Container___first(val_t self
) {
216 struct trace_t trace
= {NULL
, "abstract_collection::Container::first (bin/../lib/standard//abstract_collection.nit:126,2--33)"};
218 trace
.prev
= tracehead
; tracehead
= &trace
;
219 variable0
= ATTR_abstract_collection___Container____item( self
) /*Container::_item*/;
221 return_label10
: while(false);
222 tracehead
= trace
.prev
;
225 val_t
abstract_collection___Container___is_empty(val_t self
) {
226 struct trace_t trace
= {NULL
, "abstract_collection::Container::is_empty (bin/../lib/standard//abstract_collection.nit:128,2--36)"};
228 trace
.prev
= tracehead
; tracehead
= &trace
;
229 variable0
= TAG_Bool(false);
231 return_label11
: while(false);
232 tracehead
= trace
.prev
;
235 val_t
abstract_collection___Container___length(val_t self
) {
236 struct trace_t trace
= {NULL
, "abstract_collection::Container::length (bin/../lib/standard//abstract_collection.nit:130,2--30)"};
238 trace
.prev
= tracehead
; tracehead
= &trace
;
239 variable0
= TAG_Int(1);
241 return_label12
: while(false);
242 tracehead
= trace
.prev
;
245 val_t
abstract_collection___Container___has(val_t self
, val_t param0
) {
246 struct trace_t trace
= {NULL
, "abstract_collection::Container::has (bin/../lib/standard//abstract_collection.nit:132,2--51)"};
249 trace
.prev
= tracehead
; tracehead
= &trace
;
251 variable1
= ATTR_abstract_collection___Container____item( self
) /*Container::_item*/;
252 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::==*/)))));
254 return_label13
: while(false);
255 tracehead
= trace
.prev
;
258 val_t
abstract_collection___Container___has_only(val_t self
, val_t param0
) {
259 struct trace_t trace
= {NULL
, "abstract_collection::Container::has_only (bin/../lib/standard//abstract_collection.nit:134,2--56)"};
262 trace
.prev
= tracehead
; tracehead
= &trace
;
264 variable1
= ATTR_abstract_collection___Container____item( self
) /*Container::_item*/;
265 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::==*/)))));
267 return_label14
: while(false);
268 tracehead
= trace
.prev
;
271 val_t
abstract_collection___Container___count(val_t self
, val_t param0
) {
272 struct trace_t trace
= {NULL
, "abstract_collection::Container::count (bin/../lib/standard//abstract_collection.nit:136,2--141:11)"};
275 trace
.prev
= tracehead
; tracehead
= &trace
;
277 variable1
= ATTR_abstract_collection___Container____item( self
) /*Container::_item*/;
278 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::==*/)))));
279 if (UNTAG_Bool(variable1
)) { /*if*/
280 variable1
= TAG_Int(1);
283 variable1
= TAG_Int(0);
286 return_label15
: while(false);
287 tracehead
= trace
.prev
;
290 val_t
abstract_collection___Container___iterator(val_t self
) {
291 struct trace_t trace
= {NULL
, "abstract_collection::Container::iterator (bin/../lib/standard//abstract_collection.nit:145,2--60)"};
293 trace
.prev
= tracehead
; tracehead
= &trace
;
294 variable0
= NEW_abstract_collection___ContainerIterator___init( self
); /*new ContainerIterator[E]*/
296 return_label16
: while(false);
297 tracehead
= trace
.prev
;
300 void abstract_collection___Container___init(val_t self
, val_t param0
, int* init_table
) {
301 struct trace_t trace
= {NULL
, "abstract_collection::Container::init (bin/../lib/standard//abstract_collection.nit:147,2--148:24)"};
303 trace
.prev
= tracehead
; tracehead
= &trace
;
305 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Container
].i
]) return;
306 ATTR_abstract_collection___Container____item( self
) /*Container::_item*/ = variable0
/*e*/;
307 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Container
].i
] = 1;
308 tracehead
= trace
.prev
;
311 val_t
abstract_collection___Container___item(val_t self
) {
312 struct trace_t trace
= {NULL
, "abstract_collection::Container::item (bin/../lib/standard//abstract_collection.nit:150,2--151:32)"};
313 trace
.prev
= tracehead
; tracehead
= &trace
;
314 tracehead
= trace
.prev
;
315 return ATTR_abstract_collection___Container____item( self
) /*Container::_item*/;
317 void abstract_collection___Container___item__eq(val_t self
, val_t param0
) {
318 struct trace_t trace
= {NULL
, "abstract_collection::Container::item= (bin/../lib/standard//abstract_collection.nit:150,2--151:32)"};
319 trace
.prev
= tracehead
; tracehead
= &trace
;
320 ATTR_abstract_collection___Container____item( self
) /*Container::_item*/ = param0
;
321 tracehead
= trace
.prev
;
324 val_t
abstract_collection___ContainerIterator___item(val_t self
) {
325 struct trace_t trace
= {NULL
, "abstract_collection::ContainerIterator::item (bin/../lib/standard//abstract_collection.nit:157,2--42)"};
327 trace
.prev
= tracehead
; tracehead
= &trace
;
328 variable0
= ATTR_abstract_collection___ContainerIterator____container( self
) /*ContainerIterator::_container*/;
329 variable0
= ((abstract_collection___Container___item_t
)CALL(variable0
,COLOR_abstract_collection___Container___item
))(variable0
) /*Container::item*/;
331 return_label18
: while(false);
332 tracehead
= trace
.prev
;
335 void abstract_collection___ContainerIterator___next(val_t self
) {
336 struct trace_t trace
= {NULL
, "abstract_collection::ContainerIterator::next (bin/../lib/standard//abstract_collection.nit:159,2--34)"};
337 trace
.prev
= tracehead
; tracehead
= &trace
;
338 ATTR_abstract_collection___ContainerIterator____is_ok( self
) /*ContainerIterator::_is_ok*/ = TAG_Bool(false);
339 tracehead
= trace
.prev
;
342 void abstract_collection___ContainerIterator___init(val_t self
, val_t param0
, int* init_table
) {
343 struct trace_t trace
= {NULL
, "abstract_collection::ContainerIterator::init (bin/../lib/standard//abstract_collection.nit:161,2--40)"};
345 trace
.prev
= tracehead
; tracehead
= &trace
;
347 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_ContainerIterator
].i
]) return;
348 ATTR_abstract_collection___ContainerIterator____container( self
) /*ContainerIterator::_container*/ = variable0
/*c*/;
349 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_ContainerIterator
].i
] = 1;
350 tracehead
= trace
.prev
;
353 val_t
abstract_collection___ContainerIterator___is_ok(val_t self
) {
354 struct trace_t trace
= {NULL
, "abstract_collection::ContainerIterator::is_ok (bin/../lib/standard//abstract_collection.nit:163,2--40)"};
355 trace
.prev
= tracehead
; tracehead
= &trace
;
356 tracehead
= trace
.prev
;
357 return ATTR_abstract_collection___ContainerIterator____is_ok( self
) /*ContainerIterator::_is_ok*/;
359 void abstract_collection___RemovableCollection___clear(val_t self
) {
360 struct trace_t trace
= {NULL
, "abstract_collection::RemovableCollection::clear (bin/../lib/standard//abstract_collection.nit:171,2--172:11)"};
361 trace
.prev
= tracehead
; tracehead
= &trace
;
362 fprintf(stderr
, "Deferred method clear called (bin/../lib/standard//abstract_collection.nit:171,2)\n");
364 tracehead
= trace
.prev
;
367 void abstract_collection___RemovableCollection___remove(val_t self
, val_t param0
) {
368 struct trace_t trace
= {NULL
, "abstract_collection::RemovableCollection::remove (bin/../lib/standard//abstract_collection.nit:174,2--175:20)"};
369 trace
.prev
= tracehead
; tracehead
= &trace
;
370 fprintf(stderr
, "Deferred method remove called (bin/../lib/standard//abstract_collection.nit:174,2)\n");
372 tracehead
= trace
.prev
;
375 void abstract_collection___RemovableCollection___remove_all(val_t self
, val_t param0
) {
376 struct trace_t trace
= {NULL
, "abstract_collection::RemovableCollection::remove_all (bin/../lib/standard//abstract_collection.nit:177,2--178:59)"};
379 trace
.prev
= tracehead
; tracehead
= &trace
;
381 while (true) { /*while*/
382 variable1
= ((abstract_collection___Collection___has_t
)CALL( self
,COLOR_abstract_collection___Collection___has
))( self
, variable0
/*item*/) /*RemovableCollection::has*/;
383 if (!UNTAG_Bool(variable1
)) break; /* while*/
384 ((abstract_collection___RemovableCollection___remove_t
)CALL( self
,COLOR_abstract_collection___RemovableCollection___remove
))( self
, variable0
/*item*/) /*RemovableCollection::remove*/;
385 continue_22
: while(0);
388 tracehead
= trace
.prev
;
391 void abstract_collection___SimpleCollection___add(val_t self
, val_t param0
) {
392 struct trace_t trace
= {NULL
, "abstract_collection::SimpleCollection::add (bin/../lib/standard//abstract_collection.nit:184,2--186:17)"};
393 trace
.prev
= tracehead
; tracehead
= &trace
;
394 fprintf(stderr
, "Deferred method add called (bin/../lib/standard//abstract_collection.nit:184,2)\n");
396 tracehead
= trace
.prev
;
399 void abstract_collection___SimpleCollection___add_all(val_t self
, val_t param0
) {
400 struct trace_t trace
= {NULL
, "abstract_collection::SimpleCollection::add_all (bin/../lib/standard//abstract_collection.nit:188,2--189:81)"};
404 trace
.prev
= tracehead
; tracehead
= &trace
;
406 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::==*/)))))));
407 if (UNTAG_Bool(variable1
)) { /*if*/
408 variable1
= ((abstract_collection___Collection___iterator_t
)CALL( variable0
/*coll*/,COLOR_abstract_collection___Collection___iterator
))( variable0
/*coll*/) /*Collection::iterator*/;
409 while (true) { /*for*/
410 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
411 if (!UNTAG_Bool(variable2
)) break; /*for*/
412 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
413 ((abstract_collection___SimpleCollection___add_t
)CALL( self
,COLOR_abstract_collection___SimpleCollection___add
))( self
, variable2
/*i*/) /*SimpleCollection::add*/;
414 continue_24
: while(0);
415 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
419 tracehead
= trace
.prev
;
422 val_t
abstract_collection___Set___has_only(val_t self
, val_t param0
) {
423 struct trace_t trace
= {NULL
, "abstract_collection::Set::has_only (bin/../lib/standard//abstract_collection.nit:204,2--212:15)"};
427 trace
.prev
= tracehead
; tracehead
= &trace
;
429 variable2
= ((abstract_collection___Collection___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*Set::length*/;
430 variable1
= variable2
;
431 variable2
= TAG_Bool(( variable1
/*l*/)==( TAG_Int(1)));
432 if (UNTAG_Bool(variable2
)) { /*if*/
433 variable2
= ((abstract_collection___Collection___has_t
)CALL( self
,COLOR_abstract_collection___Collection___has
))( self
, variable0
/*item*/) /*Set::has*/;
434 variable1
= variable2
;
437 variable2
= TAG_Bool(( variable1
/*l*/)==( TAG_Int(0)));
438 if (UNTAG_Bool(variable2
)) { /*if*/
439 variable1
= TAG_Bool(true);
442 variable1
= TAG_Bool(false);
446 return_label25
: while(false);
447 tracehead
= trace
.prev
;
450 val_t
abstract_collection___Set___count(val_t self
, val_t param0
) {
451 struct trace_t trace
= {NULL
, "abstract_collection::Set::count (bin/../lib/standard//abstract_collection.nit:216,2--222:11)"};
454 trace
.prev
= tracehead
; tracehead
= &trace
;
456 variable1
= ((abstract_collection___Collection___has_t
)CALL( self
,COLOR_abstract_collection___Collection___has
))( self
, variable0
/*item*/) /*Set::has*/;
457 if (UNTAG_Bool(variable1
)) { /*if*/
458 variable1
= TAG_Int(1);
461 variable1
= TAG_Int(0);
464 return_label26
: while(false);
465 tracehead
= trace
.prev
;
468 void abstract_collection___Set___remove_all(val_t self
, val_t param0
) {
469 struct trace_t trace
= {NULL
, "abstract_collection::Set::remove_all (bin/../lib/standard//abstract_collection.nit:226,2--227:43)"};
471 trace
.prev
= tracehead
; tracehead
= &trace
;
473 ((abstract_collection___RemovableCollection___remove_t
)CALL( self
,COLOR_abstract_collection___RemovableCollection___remove
))( self
, variable0
/*item*/) /*Set::remove*/;
474 tracehead
= trace
.prev
;
477 val_t
abstract_collection___Map_____bra(val_t self
, val_t param0
) {
478 struct trace_t trace
= {NULL
, "abstract_collection::Map::[] (bin/../lib/standard//abstract_collection.nit:244,2--245:19)"};
479 trace
.prev
= tracehead
; tracehead
= &trace
;
480 fprintf(stderr
, "Deferred method [] called (bin/../lib/standard//abstract_collection.nit:244,2)\n");
482 tracehead
= trace
.prev
;
485 void abstract_collection___Map_____braeq(val_t self
, val_t param0
, val_t param1
) {
486 struct trace_t trace
= {NULL
, "abstract_collection::Map::[]= (bin/../lib/standard//abstract_collection.nit:247,2--248:25)"};
487 trace
.prev
= tracehead
; tracehead
= &trace
;
488 fprintf(stderr
, "Deferred method []= called (bin/../lib/standard//abstract_collection.nit:247,2)\n");
490 tracehead
= trace
.prev
;
493 val_t
abstract_collection___Map___has_key(val_t self
, val_t param0
) {
494 struct trace_t trace
= {NULL
, "abstract_collection::Map::has_key (bin/../lib/standard//abstract_collection.nit:250,2--251:27)"};
495 trace
.prev
= tracehead
; tracehead
= &trace
;
496 fprintf(stderr
, "Deferred method has_key called (bin/../lib/standard//abstract_collection.nit:250,2)\n");
498 tracehead
= trace
.prev
;
501 void abstract_collection___Map___remove_at(val_t self
, val_t param0
) {
502 struct trace_t trace
= {NULL
, "abstract_collection::Map::remove_at (bin/../lib/standard//abstract_collection.nit:253,2--254:22)"};
503 trace
.prev
= tracehead
; tracehead
= &trace
;
504 fprintf(stderr
, "Deferred method remove_at called (bin/../lib/standard//abstract_collection.nit:253,2)\n");
506 tracehead
= trace
.prev
;
509 void abstract_collection___Map___recover_with(val_t self
, val_t param0
) {
510 struct trace_t trace
= {NULL
, "abstract_collection::Map::recover_with (bin/../lib/standard//abstract_collection.nit:256,2--263:9)"};
515 trace
.prev
= tracehead
; tracehead
= &trace
;
517 variable2
= ((abstract_collection___Map___iterator_t
)CALL( variable0
/*map*/,COLOR_abstract_collection___Collection___iterator
))( variable0
/*map*/) /*Map::iterator*/;
518 variable1
= variable2
;
519 while (true) { /*while*/
520 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___is_ok
))( variable1
/*i*/) /*MapIterator::is_ok*/;
521 if (!UNTAG_Bool(variable2
)) break; /* while*/
522 variable2
= ((abstract_collection___MapIterator___key_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___MapIterator___key
))( variable1
/*i*/) /*MapIterator::key*/;
523 variable3
= ((abstract_collection___Iterator___item_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___item
))( variable1
/*i*/) /*MapIterator::item*/;
524 ((abstract_collection___Map_____braeq_t
)CALL( self
,COLOR_abstract_collection___Map_____braeq
))( self
, variable2
, variable3
) /*Map::[]=*/;
525 ((abstract_collection___Iterator___next_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___next
))( variable1
/*i*/) /*MapIterator::next*/;
526 continue_29
: while(0);
529 tracehead
= trace
.prev
;
532 val_t
abstract_collection___Map___iterator(val_t self
) {
533 struct trace_t trace
= {NULL
, "abstract_collection::Map::iterator (bin/../lib/standard//abstract_collection.nit:267,2--38)"};
534 trace
.prev
= tracehead
; tracehead
= &trace
;
535 fprintf(stderr
, "Deferred method iterator called (bin/../lib/standard//abstract_collection.nit:267,2)\n");
537 tracehead
= trace
.prev
;
540 val_t
abstract_collection___MapIterator___key(val_t self
) {
541 struct trace_t trace
= {NULL
, "abstract_collection::MapIterator::key (bin/../lib/standard//abstract_collection.nit:273,2--274:12)"};
542 trace
.prev
= tracehead
; tracehead
= &trace
;
543 fprintf(stderr
, "Deferred method key called (bin/../lib/standard//abstract_collection.nit:273,2)\n");
545 tracehead
= trace
.prev
;
548 void abstract_collection___MapIterator___item__eq(val_t self
, val_t param0
) {
549 struct trace_t trace
= {NULL
, "abstract_collection::MapIterator::item= (bin/../lib/standard//abstract_collection.nit:276,2--277:19)"};
550 trace
.prev
= tracehead
; tracehead
= &trace
;
551 fprintf(stderr
, "Deferred method item= called (bin/../lib/standard//abstract_collection.nit:276,2)\n");
553 tracehead
= trace
.prev
;
556 val_t
abstract_collection___IndexedCollection___first(val_t self
) {
557 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::first (bin/../lib/standard//abstract_collection.nit:285,2--290:15)"};
559 trace
.prev
= tracehead
; tracehead
= &trace
;
560 variable0
= ((abstract_collection___Collection___is_empty_t
)CALL( self
,COLOR_abstract_collection___Collection___is_empty
))( self
) /*IndexedCollection::is_empty*/;
561 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);}
562 variable0
= ((abstract_collection___Map_____bra_t
)CALL( self
,COLOR_abstract_collection___Map_____bra
))( self
, TAG_Int(0)) /*IndexedCollection::[]*/;
564 return_label30
: while(false);
565 tracehead
= trace
.prev
;
568 void abstract_collection___IndexedCollection___first__eq(val_t self
, val_t param0
) {
569 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::first= (bin/../lib/standard//abstract_collection.nit:293,2--296:18)"};
571 trace
.prev
= tracehead
; tracehead
= &trace
;
573 ((abstract_collection___Map_____braeq_t
)CALL( self
,COLOR_abstract_collection___Map_____braeq
))( self
, TAG_Int(0), variable0
/*item*/) /*IndexedCollection::[]=*/;
574 tracehead
= trace
.prev
;
577 val_t
abstract_collection___IndexedCollection___last(val_t self
) {
578 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::last (bin/../lib/standard//abstract_collection.nit:298,2--303:22)"};
580 trace
.prev
= tracehead
; tracehead
= &trace
;
581 variable0
= ((abstract_collection___Collection___is_empty_t
)CALL( self
,COLOR_abstract_collection___Collection___is_empty
))( self
) /*IndexedCollection::is_empty*/;
582 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);}
583 variable0
= ((abstract_collection___Collection___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*IndexedCollection::length*/;
584 variable0
= TAG_Int(UNTAG_Int(variable0
)-UNTAG_Int( TAG_Int(1)));
585 variable0
= ((abstract_collection___Map_____bra_t
)CALL( self
,COLOR_abstract_collection___Map_____bra
))( self
, variable0
) /*IndexedCollection::[]*/;
587 return_label32
: while(false);
588 tracehead
= trace
.prev
;
591 void abstract_collection___IndexedCollection___last__eq(val_t self
, val_t param0
) {
592 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::last= (bin/../lib/standard//abstract_collection.nit:306,2--314:17)"};
596 trace
.prev
= tracehead
; tracehead
= &trace
;
598 variable2
= ((abstract_collection___Collection___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*IndexedCollection::length*/;
599 variable1
= variable2
;
600 variable2
= TAG_Bool(UNTAG_Int( variable1
/*l*/)>UNTAG_Int( TAG_Int(0)));
601 if (UNTAG_Bool(variable2
)) { /*if*/
602 variable2
= TAG_Int(UNTAG_Int( variable1
/*l*/)-UNTAG_Int( TAG_Int(1)));
603 ((abstract_collection___Map_____braeq_t
)CALL( self
,COLOR_abstract_collection___Map_____braeq
))( self
, variable2
, variable0
/*item*/) /*IndexedCollection::[]=*/;
605 ((abstract_collection___Map_____braeq_t
)CALL( self
,COLOR_abstract_collection___Map_____braeq
))( self
, TAG_Int(0), variable0
/*item*/) /*IndexedCollection::[]=*/;
607 tracehead
= trace
.prev
;
610 void abstract_collection___IndexedCollection___add(val_t self
, val_t param0
) {
611 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::add (bin/../lib/standard//abstract_collection.nit:318,2--319:28)"};
613 trace
.prev
= tracehead
; tracehead
= &trace
;
615 ((abstract_collection___IndexedCollection___push_t
)CALL( self
,COLOR_abstract_collection___IndexedCollection___push
))( self
, variable0
/*e*/) /*IndexedCollection::push*/;
616 tracehead
= trace
.prev
;
619 void abstract_collection___IndexedCollection___push(val_t self
, val_t param0
) {
620 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::push (bin/../lib/standard//abstract_collection.nit:321,2--322:15)"};
621 trace
.prev
= tracehead
; tracehead
= &trace
;
622 fprintf(stderr
, "Deferred method push called (bin/../lib/standard//abstract_collection.nit:321,2)\n");
624 tracehead
= trace
.prev
;
627 void abstract_collection___IndexedCollection___append(val_t self
, val_t param0
) {
628 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::append (bin/../lib/standard//abstract_collection.nit:324,2--325:81)"};
632 trace
.prev
= tracehead
; tracehead
= &trace
;
634 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::==*/)))))));
635 if (UNTAG_Bool(variable1
)) { /*if*/
636 variable1
= ((abstract_collection___Collection___iterator_t
)CALL( variable0
/*coll*/,COLOR_abstract_collection___Collection___iterator
))( variable0
/*coll*/) /*Collection::iterator*/;
637 while (true) { /*for*/
638 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
639 if (!UNTAG_Bool(variable2
)) break; /*for*/
640 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
641 ((abstract_collection___IndexedCollection___push_t
)CALL( self
,COLOR_abstract_collection___IndexedCollection___push
))( self
, variable2
/*i*/) /*IndexedCollection::push*/;
642 continue_36
: while(0);
643 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
647 tracehead
= trace
.prev
;
650 val_t
abstract_collection___IndexedCollection___pop(val_t self
) {
651 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::pop (bin/../lib/standard//abstract_collection.nit:327,2--328:12)"};
652 trace
.prev
= tracehead
; tracehead
= &trace
;
653 fprintf(stderr
, "Deferred method pop called (bin/../lib/standard//abstract_collection.nit:327,2)\n");
655 tracehead
= trace
.prev
;
658 void abstract_collection___IndexedCollection___unshift(val_t self
, val_t param0
) {
659 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::unshift (bin/../lib/standard//abstract_collection.nit:330,2--331:18)"};
660 trace
.prev
= tracehead
; tracehead
= &trace
;
661 fprintf(stderr
, "Deferred method unshift called (bin/../lib/standard//abstract_collection.nit:330,2)\n");
663 tracehead
= trace
.prev
;
666 val_t
abstract_collection___IndexedCollection___shift(val_t self
) {
667 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::shift (bin/../lib/standard//abstract_collection.nit:333,2--335:14)"};
668 trace
.prev
= tracehead
; tracehead
= &trace
;
669 fprintf(stderr
, "Deferred method shift called (bin/../lib/standard//abstract_collection.nit:333,2)\n");
671 tracehead
= trace
.prev
;
674 val_t
abstract_collection___IndexedCollection___index_of(val_t self
, val_t param0
) {
675 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::index_of (bin/../lib/standard//abstract_collection.nit:337,2--346:11)"};
679 trace
.prev
= tracehead
; tracehead
= &trace
;
681 variable2
= ((abstract_collection___IndexedCollection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*IndexedCollection::iterator*/;
682 variable1
= variable2
;
683 while (true) { /*while*/
684 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___is_ok
))( variable1
/*i*/) /*IndexedIterator::is_ok*/;
685 if (!UNTAG_Bool(variable2
)) break; /* while*/
686 variable2
= ((abstract_collection___Iterator___item_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___item
))( variable1
/*i*/) /*IndexedIterator::item*/;
687 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::==*/)))));
688 if (UNTAG_Bool(variable2
)) { /*if*/
689 variable2
= ((abstract_collection___IndexedIterator___index_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___IndexedIterator___index
))( variable1
/*i*/) /*IndexedIterator::index*/;
690 variable1
= variable2
;
693 ((abstract_collection___Iterator___next_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___next
))( variable1
/*i*/) /*IndexedIterator::next*/;
694 continue_38
: while(0);
697 variable2
= TAG_Int(-UNTAG_Int( TAG_Int(1)));
698 variable1
= variable2
;
700 return_label37
: while(false);
701 tracehead
= trace
.prev
;
704 val_t
abstract_collection___IndexedCollection___iterator(val_t self
) {
705 struct trace_t trace
= {NULL
, "abstract_collection::IndexedCollection::iterator (bin/../lib/standard//abstract_collection.nit:349,2--39)"};
706 trace
.prev
= tracehead
; tracehead
= &trace
;
707 fprintf(stderr
, "Deferred method iterator called (bin/../lib/standard//abstract_collection.nit:349,2)\n");
709 tracehead
= trace
.prev
;
712 val_t
abstract_collection___IndexedIterator___index(val_t self
) {
713 struct trace_t trace
= {NULL
, "abstract_collection::IndexedIterator::index (bin/../lib/standard//abstract_collection.nit:355,2--356:16)"};
714 trace
.prev
= tracehead
; tracehead
= &trace
;
715 fprintf(stderr
, "Deferred method index called (bin/../lib/standard//abstract_collection.nit:355,2)\n");
717 tracehead
= trace
.prev
;
720 val_t
abstract_collection___IndexedIterator___key(val_t self
) {
721 struct trace_t trace
= {NULL
, "abstract_collection::IndexedIterator::key (bin/../lib/standard//abstract_collection.nit:358,2--359:31)"};
723 trace
.prev
= tracehead
; tracehead
= &trace
;
724 variable0
= ((abstract_collection___IndexedIterator___index_t
)CALL( self
,COLOR_abstract_collection___IndexedIterator___index
))( self
) /*IndexedIterator::index*/;
726 return_label39
: while(false);
727 tracehead
= trace
.prev
;
730 val_t
abstract_collection___CoupleMap___couple_at(val_t self
, val_t param0
) {
731 struct trace_t trace
= {NULL
, "abstract_collection::CoupleMap::couple_at (bin/../lib/standard//abstract_collection.nit:365,2--367:46)"};
732 trace
.prev
= tracehead
; tracehead
= &trace
;
733 fprintf(stderr
, "Deferred method couple_at called (bin/../lib/standard//abstract_collection.nit:365,2)\n");
735 tracehead
= trace
.prev
;
738 val_t
abstract_collection___CoupleMap_____bra(val_t self
, val_t param0
) {
739 struct trace_t trace
= {NULL
, "abstract_collection::CoupleMap::[] (bin/../lib/standard//abstract_collection.nit:369,2--375:18)"};
743 trace
.prev
= tracehead
; tracehead
= &trace
;
745 variable2
= ((abstract_collection___CoupleMap___couple_at_t
)CALL( self
,COLOR_abstract_collection___CoupleMap___couple_at
))( self
, variable0
/*key*/) /*CoupleMap::couple_at*/;
746 variable1
= variable2
;
747 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::==*/)))));
748 if (UNTAG_Bool(variable2
)) { /*if*/
749 variable1
= NIT_NULL
/*null*/;
752 variable2
= ((abstract_collection___Couple___second_t
)CALL( variable1
/*c*/,COLOR_abstract_collection___Couple___second
))( variable1
/*c*/) /*Couple::second*/;
753 variable1
= variable2
;
756 return_label40
: while(false);
757 tracehead
= trace
.prev
;
760 val_t
abstract_collection___CoupleMap___has_key(val_t self
, val_t param0
) {
761 struct trace_t trace
= {NULL
, "abstract_collection::CoupleMap::has_key (bin/../lib/standard//abstract_collection.nit:379,2--57)"};
764 trace
.prev
= tracehead
; tracehead
= &trace
;
766 variable1
= ((abstract_collection___CoupleMap___couple_at_t
)CALL( self
,COLOR_abstract_collection___CoupleMap___couple_at
))( self
, variable0
/*key*/) /*CoupleMap::couple_at*/;
767 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::==*/)))))));
769 return_label41
: while(false);
770 tracehead
= trace
.prev
;
773 val_t
abstract_collection___CoupleMapIterator___item(val_t self
) {
774 struct trace_t trace
= {NULL
, "abstract_collection::CoupleMapIterator::item (bin/../lib/standard//abstract_collection.nit:387,2--44)"};
776 trace
.prev
= tracehead
; tracehead
= &trace
;
777 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
778 variable0
= ((abstract_collection___Iterator___item_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___item
))(variable0
) /*Iterator::item*/;
779 variable0
= ((abstract_collection___Couple___second_t
)CALL(variable0
,COLOR_abstract_collection___Couple___second
))(variable0
) /*Couple::second*/;
781 return_label42
: while(false);
782 tracehead
= trace
.prev
;
785 void abstract_collection___CoupleMapIterator___item__eq(val_t self
, val_t param0
) {
786 struct trace_t trace
= {NULL
, "abstract_collection::CoupleMapIterator::item= (bin/../lib/standard//abstract_collection.nit:389,2--45)"};
789 trace
.prev
= tracehead
; tracehead
= &trace
;
791 variable1
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
792 variable1
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
793 ((abstract_collection___Couple___second__eq_t
)CALL(variable1
,COLOR_abstract_collection___Couple___second__eq
))(variable1
, variable0
/*e*/) /*Couple::second=*/;
794 tracehead
= trace
.prev
;
797 val_t
abstract_collection___CoupleMapIterator___key(val_t self
) {
798 struct trace_t trace
= {NULL
, "abstract_collection::CoupleMapIterator::key (bin/../lib/standard//abstract_collection.nit:391,2--42)"};
800 trace
.prev
= tracehead
; tracehead
= &trace
;
801 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
802 variable0
= ((abstract_collection___Iterator___item_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___item
))(variable0
) /*Iterator::item*/;
803 variable0
= ((abstract_collection___Couple___first_t
)CALL(variable0
,COLOR_abstract_collection___Couple___first
))(variable0
) /*Couple::first*/;
805 return_label44
: while(false);
806 tracehead
= trace
.prev
;
809 val_t
abstract_collection___CoupleMapIterator___is_ok(val_t self
) {
810 struct trace_t trace
= {NULL
, "abstract_collection::CoupleMapIterator::is_ok (bin/../lib/standard//abstract_collection.nit:393,2--39)"};
812 trace
.prev
= tracehead
; tracehead
= &trace
;
813 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
814 variable0
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___is_ok
))(variable0
) /*Iterator::is_ok*/;
816 return_label45
: while(false);
817 tracehead
= trace
.prev
;
820 void abstract_collection___CoupleMapIterator___next(val_t self
) {
821 struct trace_t trace
= {NULL
, "abstract_collection::CoupleMapIterator::next (bin/../lib/standard//abstract_collection.nit:395,2--398:56)"};
824 trace
.prev
= tracehead
; tracehead
= &trace
;
825 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
826 ((abstract_collection___Iterator___next_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___next
))(variable0
) /*Iterator::next*/;
827 while (true) { /*while*/
828 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
829 variable0
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___is_ok
))(variable0
) /*Iterator::is_ok*/;
830 variable1
= variable0
;
831 if (UNTAG_Bool(variable1
)) { /* and */
832 variable1
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
833 variable1
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
834 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::==*/)))));
836 variable0
= variable1
;
837 if (!UNTAG_Bool(variable0
)) break; /* while*/
838 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
839 ((abstract_collection___Iterator___next_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___next
))(variable0
) /*Iterator::next*/;
840 continue_47
: while(0);
843 tracehead
= trace
.prev
;
846 void abstract_collection___CoupleMapIterator___init(val_t self
, val_t param0
, int* init_table
) {
847 struct trace_t trace
= {NULL
, "abstract_collection::CoupleMapIterator::init (bin/../lib/standard//abstract_collection.nit:403,2--44)"};
849 trace
.prev
= tracehead
; tracehead
= &trace
;
851 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_CoupleMapIterator
].i
]) return;
852 ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/ = variable0
/*i*/;
853 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_CoupleMapIterator
].i
] = 1;
854 tracehead
= trace
.prev
;
857 val_t
abstract_collection___Couple___first(val_t self
) {
858 struct trace_t trace
= {NULL
, "abstract_collection::Couple::first (bin/../lib/standard//abstract_collection.nit:411,2--412:33)"};
859 trace
.prev
= tracehead
; tracehead
= &trace
;
860 tracehead
= trace
.prev
;
861 return ATTR_abstract_collection___Couple____first( self
) /*Couple::_first*/;
863 void abstract_collection___Couple___first__eq(val_t self
, val_t param0
) {
864 struct trace_t trace
= {NULL
, "abstract_collection::Couple::first= (bin/../lib/standard//abstract_collection.nit:411,2--412:33)"};
865 trace
.prev
= tracehead
; tracehead
= &trace
;
866 ATTR_abstract_collection___Couple____first( self
) /*Couple::_first*/ = param0
;
867 tracehead
= trace
.prev
;
870 val_t
abstract_collection___Couple___second(val_t self
) {
871 struct trace_t trace
= {NULL
, "abstract_collection::Couple::second (bin/../lib/standard//abstract_collection.nit:414,2--415:34)"};
872 trace
.prev
= tracehead
; tracehead
= &trace
;
873 tracehead
= trace
.prev
;
874 return ATTR_abstract_collection___Couple____second( self
) /*Couple::_second*/;
876 void abstract_collection___Couple___second__eq(val_t self
, val_t param0
) {
877 struct trace_t trace
= {NULL
, "abstract_collection::Couple::second= (bin/../lib/standard//abstract_collection.nit:414,2--415:34)"};
878 trace
.prev
= tracehead
; tracehead
= &trace
;
879 ATTR_abstract_collection___Couple____second( self
) /*Couple::_second*/ = param0
;
880 tracehead
= trace
.prev
;
883 void abstract_collection___Couple___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
884 struct trace_t trace
= {NULL
, "abstract_collection::Couple::init (bin/../lib/standard//abstract_collection.nit:417,2--421:13)"};
887 trace
.prev
= tracehead
; tracehead
= &trace
;
890 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Couple
].i
]) return;
891 ATTR_abstract_collection___Couple____first( self
) /*Couple::_first*/ = variable0
/*f*/;
892 ATTR_abstract_collection___Couple____second( self
) /*Couple::_second*/ = variable1
/*s*/;
893 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Couple
].i
] = 1;
894 tracehead
= trace
.prev
;