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
, LOCATE_abstract_collection
, 42, LOCATE_abstract_collection___Collection___iterator
};
5 trace
.prev
= tracehead
; tracehead
= &trace
;
6 fprintf(stderr
, "Deferred method %s called");
7 fprintf(stderr
, " (%s:%d)\n", LOCATE_abstract_collection
, 42);
9 tracehead
= trace
.prev
;
12 val_t
abstract_collection___Collection___is_empty(val_t self
) {
13 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 45, LOCATE_abstract_collection___Collection___is_empty
};
14 trace
.prev
= tracehead
; tracehead
= &trace
;
15 fprintf(stderr
, "Deferred method %s called");
16 fprintf(stderr
, " (%s:%d)\n", LOCATE_abstract_collection
, 45);
18 tracehead
= trace
.prev
;
21 val_t
abstract_collection___Collection___length(val_t self
) {
22 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 48, LOCATE_abstract_collection___Collection___length
};
23 trace
.prev
= tracehead
; tracehead
= &trace
;
24 fprintf(stderr
, "Deferred method %s called");
25 fprintf(stderr
, " (%s:%d)\n", LOCATE_abstract_collection
, 48);
27 tracehead
= trace
.prev
;
30 val_t
abstract_collection___Collection___has(val_t self
, val_t param0
) {
31 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 51, LOCATE_abstract_collection___Collection___has
};
32 trace
.prev
= tracehead
; tracehead
= &trace
;
33 fprintf(stderr
, "Deferred method %s called");
34 fprintf(stderr
, " (%s:%d)\n", LOCATE_abstract_collection
, 51);
36 tracehead
= trace
.prev
;
39 val_t
abstract_collection___Collection___has_only(val_t self
, val_t param0
) {
40 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 55, LOCATE_abstract_collection___Collection___has_only
};
41 trace
.prev
= tracehead
; tracehead
= &trace
;
42 fprintf(stderr
, "Deferred method %s called");
43 fprintf(stderr
, " (%s:%d)\n", LOCATE_abstract_collection
, 55);
45 tracehead
= trace
.prev
;
48 val_t
abstract_collection___Collection___count(val_t self
, val_t param0
) {
49 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 60, LOCATE_abstract_collection___Collection___count
};
50 trace
.prev
= tracehead
; tracehead
= &trace
;
51 fprintf(stderr
, "Deferred method %s called");
52 fprintf(stderr
, " (%s:%d)\n", LOCATE_abstract_collection
, 60);
54 tracehead
= trace
.prev
;
57 val_t
abstract_collection___Collection___first(val_t self
) {
58 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 64, LOCATE_abstract_collection___Collection___first
};
59 trace
.prev
= tracehead
; tracehead
= &trace
;
60 fprintf(stderr
, "Deferred method %s called");
61 fprintf(stderr
, " (%s:%d)\n", LOCATE_abstract_collection
, 64);
63 tracehead
= trace
.prev
;
66 val_t
abstract_collection___NaiveCollection___is_empty(val_t self
) {
67 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 72, LOCATE_abstract_collection___NaiveCollection___is_empty
};
69 trace
.prev
= tracehead
; tracehead
= &trace
;
70 variable0
= ((abstract_collection___NaiveCollection___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*NaiveCollection::length*/;
71 variable0
= TAG_Bool((variable0
)==( TAG_Int(0)));
73 return_label0
: while(false);
74 tracehead
= trace
.prev
;
77 val_t
abstract_collection___NaiveCollection___length(val_t self
) {
78 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 74, LOCATE_abstract_collection___NaiveCollection___length
};
82 trace
.prev
= tracehead
; tracehead
= &trace
;
83 variable0
= TAG_Int(0);
84 variable1
= ((abstract_collection___Collection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*Collection::iterator*/;
85 while (true) { /*for*/
86 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
87 if (!UNTAG_Bool(variable2
)) break; /*for*/
88 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
89 variable0
= TAG_Int(UNTAG_Int(variable0
)+UNTAG_Int( variable0
/*nb*/)) /*nb*/;
91 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
94 variable0
= variable0
/*nb*/;
96 return_label1
: while(false);
97 tracehead
= trace
.prev
;
100 val_t
abstract_collection___NaiveCollection___has(val_t self
, val_t param0
) {
101 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 81, LOCATE_abstract_collection___NaiveCollection___has
};
106 trace
.prev
= tracehead
; tracehead
= &trace
;
108 variable1
= ((abstract_collection___Collection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*Collection::iterator*/;
109 while (true) { /*for*/
110 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
111 if (!UNTAG_Bool(variable2
)) break; /*for*/
112 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
113 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::==*/)))));
114 if (UNTAG_Bool(variable3
)) { /*if*/
115 variable1
= TAG_Bool(true);
118 continue_4
: while(0);
119 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
122 variable1
= TAG_Bool(false);
124 return_label3
: while(false);
125 tracehead
= trace
.prev
;
128 val_t
abstract_collection___NaiveCollection___has_only(val_t self
, val_t param0
) {
129 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 87, LOCATE_abstract_collection___NaiveCollection___has_only
};
134 trace
.prev
= tracehead
; tracehead
= &trace
;
136 variable1
= ((abstract_collection___Collection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*Collection::iterator*/;
137 while (true) { /*for*/
138 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
139 if (!UNTAG_Bool(variable2
)) break; /*for*/
140 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
141 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::==*/)))))));
142 if (UNTAG_Bool(variable3
)) { /*if*/
143 variable1
= TAG_Bool(false);
146 continue_6
: while(0);
147 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
150 variable1
= TAG_Bool(true);
152 return_label5
: while(false);
153 tracehead
= trace
.prev
;
156 val_t
abstract_collection___NaiveCollection___count(val_t self
, val_t param0
) {
157 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 93, LOCATE_abstract_collection___NaiveCollection___count
};
163 trace
.prev
= tracehead
; tracehead
= &trace
;
165 variable1
= TAG_Int(0);
166 variable2
= ((abstract_collection___Collection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*Collection::iterator*/;
167 while (true) { /*for*/
168 variable3
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*Iterator::is_ok*/;
169 if (!UNTAG_Bool(variable3
)) break; /*for*/
170 variable3
= ((abstract_collection___Iterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*Iterator::item*/;
171 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::==*/)))));
172 if (UNTAG_Bool(variable4
)) { /*if*/
173 variable1
= TAG_Int(UNTAG_Int(variable1
)+UNTAG_Int( TAG_Int(1))) /*nb*/;
175 continue_8
: while(0);
176 ((abstract_collection___Iterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*Iterator::next*/;
179 variable1
= variable1
/*nb*/;
181 return_label7
: while(false);
182 tracehead
= trace
.prev
;
185 val_t
abstract_collection___NaiveCollection___first(val_t self
) {
186 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 100, LOCATE_abstract_collection___NaiveCollection___first
};
188 trace
.prev
= tracehead
; tracehead
= &trace
;
189 variable0
= ((abstract_collection___NaiveCollection___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*NaiveCollection::length*/;
190 variable0
= TAG_Bool(UNTAG_Int(variable0
)>UNTAG_Int( TAG_Int(0)));
191 if (!UNTAG_Bool(variable0
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___NaiveCollection___first
, LOCATE_abstract_collection
, 102); nit_exit(1);}
192 variable0
= ((abstract_collection___Collection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*Collection::iterator*/;
193 variable0
= ((abstract_collection___Iterator___item_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___item
))(variable0
) /*Iterator::item*/;
195 return_label9
: while(false);
196 tracehead
= trace
.prev
;
199 val_t
abstract_collection___Iterator___item(val_t self
) {
200 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 110, LOCATE_abstract_collection___Iterator___item
};
201 trace
.prev
= tracehead
; tracehead
= &trace
;
202 fprintf(stderr
, "Deferred method %s called");
203 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___NaiveCollection___first
, LOCATE_abstract_collection
, 110);
205 tracehead
= trace
.prev
;
208 void abstract_collection___Iterator___next(val_t self
) {
209 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 114, LOCATE_abstract_collection___Iterator___next
};
210 trace
.prev
= tracehead
; tracehead
= &trace
;
211 fprintf(stderr
, "Deferred method %s called");
212 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___NaiveCollection___first
, LOCATE_abstract_collection
, 114);
214 tracehead
= trace
.prev
;
217 val_t
abstract_collection___Iterator___is_ok(val_t self
) {
218 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 118, LOCATE_abstract_collection___Iterator___is_ok
};
219 trace
.prev
= tracehead
; tracehead
= &trace
;
220 fprintf(stderr
, "Deferred method %s called");
221 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___NaiveCollection___first
, LOCATE_abstract_collection
, 118);
223 tracehead
= trace
.prev
;
226 val_t
abstract_collection___Container___first(val_t self
) {
227 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 126, LOCATE_abstract_collection___Container___first
};
229 trace
.prev
= tracehead
; tracehead
= &trace
;
230 variable0
= ATTR_abstract_collection___Container____item( self
) /*Container::_item*/;
232 return_label10
: while(false);
233 tracehead
= trace
.prev
;
236 val_t
abstract_collection___Container___is_empty(val_t self
) {
237 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 128, LOCATE_abstract_collection___Container___is_empty
};
239 trace
.prev
= tracehead
; tracehead
= &trace
;
240 variable0
= TAG_Bool(false);
242 return_label11
: while(false);
243 tracehead
= trace
.prev
;
246 val_t
abstract_collection___Container___length(val_t self
) {
247 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 130, LOCATE_abstract_collection___Container___length
};
249 trace
.prev
= tracehead
; tracehead
= &trace
;
250 variable0
= TAG_Int(1);
252 return_label12
: while(false);
253 tracehead
= trace
.prev
;
256 val_t
abstract_collection___Container___has(val_t self
, val_t param0
) {
257 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 132, LOCATE_abstract_collection___Container___has
};
260 trace
.prev
= tracehead
; tracehead
= &trace
;
262 variable1
= ATTR_abstract_collection___Container____item( self
) /*Container::_item*/;
263 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::==*/)))));
265 return_label13
: while(false);
266 tracehead
= trace
.prev
;
269 val_t
abstract_collection___Container___has_only(val_t self
, val_t param0
) {
270 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 134, LOCATE_abstract_collection___Container___has_only
};
273 trace
.prev
= tracehead
; tracehead
= &trace
;
275 variable1
= ATTR_abstract_collection___Container____item( self
) /*Container::_item*/;
276 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::==*/)))));
278 return_label14
: while(false);
279 tracehead
= trace
.prev
;
282 val_t
abstract_collection___Container___count(val_t self
, val_t param0
) {
283 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 136, LOCATE_abstract_collection___Container___count
};
286 trace
.prev
= tracehead
; tracehead
= &trace
;
288 variable1
= ATTR_abstract_collection___Container____item( self
) /*Container::_item*/;
289 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::==*/)))));
290 if (UNTAG_Bool(variable1
)) { /*if*/
291 variable1
= TAG_Int(1);
294 variable1
= TAG_Int(0);
297 return_label15
: while(false);
298 tracehead
= trace
.prev
;
301 val_t
abstract_collection___Container___iterator(val_t self
) {
302 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 145, LOCATE_abstract_collection___Container___iterator
};
304 trace
.prev
= tracehead
; tracehead
= &trace
;
305 variable0
= NEW_abstract_collection___ContainerIterator___init( self
); /*new ContainerIterator[E]*/
307 return_label16
: while(false);
308 tracehead
= trace
.prev
;
311 void abstract_collection___Container___init(val_t self
, val_t param0
, int* init_table
) {
312 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 147, LOCATE_abstract_collection___Container___init
};
314 trace
.prev
= tracehead
; tracehead
= &trace
;
316 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Container
].i
]) return;
317 ATTR_abstract_collection___Container____item( self
) /*Container::_item*/ = variable0
/*e*/;
318 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Container
].i
] = 1;
319 tracehead
= trace
.prev
;
322 val_t
abstract_collection___Container___item(val_t self
) {
323 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 150, LOCATE_abstract_collection___Container___item
};
324 trace
.prev
= tracehead
; tracehead
= &trace
;
325 tracehead
= trace
.prev
;
326 return ATTR_abstract_collection___Container____item( self
) /*Container::_item*/;
328 void abstract_collection___Container___item__eq(val_t self
, val_t param0
) {
329 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 150, LOCATE_abstract_collection___Container___item__eq
};
330 trace
.prev
= tracehead
; tracehead
= &trace
;
331 ATTR_abstract_collection___Container____item( self
) /*Container::_item*/ = param0
;
332 tracehead
= trace
.prev
;
335 val_t
abstract_collection___ContainerIterator___item(val_t self
) {
336 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 157, LOCATE_abstract_collection___ContainerIterator___item
};
338 trace
.prev
= tracehead
; tracehead
= &trace
;
339 variable0
= ATTR_abstract_collection___ContainerIterator____container( self
) /*ContainerIterator::_container*/;
340 variable0
= ((abstract_collection___Container___item_t
)CALL(variable0
,COLOR_abstract_collection___Container___item
))(variable0
) /*Container::item*/;
342 return_label18
: while(false);
343 tracehead
= trace
.prev
;
346 void abstract_collection___ContainerIterator___next(val_t self
) {
347 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 159, LOCATE_abstract_collection___ContainerIterator___next
};
348 trace
.prev
= tracehead
; tracehead
= &trace
;
349 ATTR_abstract_collection___ContainerIterator____is_ok( self
) /*ContainerIterator::_is_ok*/ = TAG_Bool(false);
350 tracehead
= trace
.prev
;
353 void abstract_collection___ContainerIterator___init(val_t self
, val_t param0
, int* init_table
) {
354 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 161, LOCATE_abstract_collection___ContainerIterator___init
};
356 trace
.prev
= tracehead
; tracehead
= &trace
;
358 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_ContainerIterator
].i
]) return;
359 ATTR_abstract_collection___ContainerIterator____container( self
) /*ContainerIterator::_container*/ = variable0
/*c*/;
360 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_ContainerIterator
].i
] = 1;
361 tracehead
= trace
.prev
;
364 val_t
abstract_collection___ContainerIterator___is_ok(val_t self
) {
365 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 163, LOCATE_abstract_collection___ContainerIterator___is_ok
};
366 trace
.prev
= tracehead
; tracehead
= &trace
;
367 tracehead
= trace
.prev
;
368 return ATTR_abstract_collection___ContainerIterator____is_ok( self
) /*ContainerIterator::_is_ok*/;
370 void abstract_collection___RemovableCollection___clear(val_t self
) {
371 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 171, LOCATE_abstract_collection___RemovableCollection___clear
};
372 trace
.prev
= tracehead
; tracehead
= &trace
;
373 fprintf(stderr
, "Deferred method %s called");
374 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___ContainerIterator___init
, LOCATE_abstract_collection
, 171);
376 tracehead
= trace
.prev
;
379 void abstract_collection___RemovableCollection___remove(val_t self
, val_t param0
) {
380 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 174, LOCATE_abstract_collection___RemovableCollection___remove
};
381 trace
.prev
= tracehead
; tracehead
= &trace
;
382 fprintf(stderr
, "Deferred method %s called");
383 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___ContainerIterator___init
, LOCATE_abstract_collection
, 174);
385 tracehead
= trace
.prev
;
388 void abstract_collection___RemovableCollection___remove_all(val_t self
, val_t param0
) {
389 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 177, LOCATE_abstract_collection___RemovableCollection___remove_all
};
392 trace
.prev
= tracehead
; tracehead
= &trace
;
394 while (true) { /*while*/
395 variable1
= ((abstract_collection___Collection___has_t
)CALL( self
,COLOR_abstract_collection___Collection___has
))( self
, variable0
/*item*/) /*Collection::has*/;
396 if (!UNTAG_Bool(variable1
)) break; /* while*/
397 ((abstract_collection___RemovableCollection___remove_t
)CALL( self
,COLOR_abstract_collection___RemovableCollection___remove
))( self
, variable0
/*item*/) /*RemovableCollection::remove*/;
398 continue_22
: while(0);
401 tracehead
= trace
.prev
;
404 void abstract_collection___SimpleCollection___add(val_t self
, val_t param0
) {
405 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 184, LOCATE_abstract_collection___SimpleCollection___add
};
406 trace
.prev
= tracehead
; tracehead
= &trace
;
407 fprintf(stderr
, "Deferred method %s called");
408 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___RemovableCollection___remove_all
, LOCATE_abstract_collection
, 184);
410 tracehead
= trace
.prev
;
413 void abstract_collection___SimpleCollection___add_all(val_t self
, val_t param0
) {
414 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 188, LOCATE_abstract_collection___SimpleCollection___add_all
};
418 trace
.prev
= tracehead
; tracehead
= &trace
;
420 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*/) /*Object::==*/)))))));
421 if (UNTAG_Bool(variable1
)) { /*if*/
422 variable1
= ((abstract_collection___Collection___iterator_t
)CALL( variable0
/*coll*/,COLOR_abstract_collection___Collection___iterator
))( variable0
/*coll*/) /*Collection::iterator*/;
423 while (true) { /*for*/
424 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
425 if (!UNTAG_Bool(variable2
)) break; /*for*/
426 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
427 ((abstract_collection___SimpleCollection___add_t
)CALL( self
,COLOR_abstract_collection___SimpleCollection___add
))( self
, variable2
/*i*/) /*SimpleCollection::add*/;
428 continue_24
: while(0);
429 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
433 tracehead
= trace
.prev
;
436 val_t
abstract_collection___Set___has_only(val_t self
, val_t param0
) {
437 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 204, LOCATE_abstract_collection___Set___has_only
};
441 trace
.prev
= tracehead
; tracehead
= &trace
;
443 variable2
= ((abstract_collection___Collection___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*Collection::length*/;
444 variable1
= variable2
;
445 variable2
= TAG_Bool(( variable1
/*l*/)==( TAG_Int(1)));
446 if (UNTAG_Bool(variable2
)) { /*if*/
447 variable2
= ((abstract_collection___Collection___has_t
)CALL( self
,COLOR_abstract_collection___Collection___has
))( self
, variable0
/*item*/) /*Collection::has*/;
448 variable1
= variable2
;
451 variable2
= TAG_Bool(( variable1
/*l*/)==( TAG_Int(0)));
452 if (UNTAG_Bool(variable2
)) { /*if*/
453 variable1
= TAG_Bool(true);
456 variable1
= TAG_Bool(false);
460 return_label25
: while(false);
461 tracehead
= trace
.prev
;
464 val_t
abstract_collection___Set___count(val_t self
, val_t param0
) {
465 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 216, LOCATE_abstract_collection___Set___count
};
468 trace
.prev
= tracehead
; tracehead
= &trace
;
470 variable1
= ((abstract_collection___Collection___has_t
)CALL( self
,COLOR_abstract_collection___Collection___has
))( self
, variable0
/*item*/) /*Collection::has*/;
471 if (UNTAG_Bool(variable1
)) { /*if*/
472 variable1
= TAG_Int(1);
475 variable1
= TAG_Int(0);
478 return_label26
: while(false);
479 tracehead
= trace
.prev
;
482 void abstract_collection___Set___remove_all(val_t self
, val_t param0
) {
483 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 226, LOCATE_abstract_collection___Set___remove_all
};
485 trace
.prev
= tracehead
; tracehead
= &trace
;
487 ((abstract_collection___RemovableCollection___remove_t
)CALL( self
,COLOR_abstract_collection___RemovableCollection___remove
))( self
, variable0
/*item*/) /*RemovableCollection::remove*/;
488 tracehead
= trace
.prev
;
491 val_t
abstract_collection___Map_____bra(val_t self
, val_t param0
) {
492 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 244, LOCATE_abstract_collection___Map_____bra
};
493 trace
.prev
= tracehead
; tracehead
= &trace
;
494 fprintf(stderr
, "Deferred method %s called");
495 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___Set___remove_all
, LOCATE_abstract_collection
, 244);
497 tracehead
= trace
.prev
;
500 void abstract_collection___Map_____braeq(val_t self
, val_t param0
, val_t param1
) {
501 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 247, LOCATE_abstract_collection___Map_____braeq
};
502 trace
.prev
= tracehead
; tracehead
= &trace
;
503 fprintf(stderr
, "Deferred method %s called");
504 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___Set___remove_all
, LOCATE_abstract_collection
, 247);
506 tracehead
= trace
.prev
;
509 val_t
abstract_collection___Map___has_key(val_t self
, val_t param0
) {
510 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 250, LOCATE_abstract_collection___Map___has_key
};
511 trace
.prev
= tracehead
; tracehead
= &trace
;
512 fprintf(stderr
, "Deferred method %s called");
513 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___Set___remove_all
, LOCATE_abstract_collection
, 250);
515 tracehead
= trace
.prev
;
518 void abstract_collection___Map___remove_at(val_t self
, val_t param0
) {
519 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 253, LOCATE_abstract_collection___Map___remove_at
};
520 trace
.prev
= tracehead
; tracehead
= &trace
;
521 fprintf(stderr
, "Deferred method %s called");
522 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___Set___remove_all
, LOCATE_abstract_collection
, 253);
524 tracehead
= trace
.prev
;
527 void abstract_collection___Map___recover_with(val_t self
, val_t param0
) {
528 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 256, LOCATE_abstract_collection___Map___recover_with
};
533 trace
.prev
= tracehead
; tracehead
= &trace
;
535 variable2
= ((abstract_collection___Map___iterator_t
)CALL( variable0
/*map*/,COLOR_abstract_collection___Collection___iterator
))( variable0
/*map*/) /*Map::iterator*/;
536 variable1
= variable2
;
537 while (true) { /*while*/
538 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___is_ok
))( variable1
/*i*/) /*Iterator::is_ok*/;
539 if (!UNTAG_Bool(variable2
)) break; /* while*/
540 variable2
= ((abstract_collection___MapIterator___key_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___MapIterator___key
))( variable1
/*i*/) /*MapIterator::key*/;
541 variable3
= ((abstract_collection___Iterator___item_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___item
))( variable1
/*i*/) /*Iterator::item*/;
542 ((abstract_collection___Map_____braeq_t
)CALL( self
,COLOR_abstract_collection___Map_____braeq
))( self
, variable2
, variable3
) /*Map::[]=*/;
543 ((abstract_collection___Iterator___next_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___next
))( variable1
/*i*/) /*Iterator::next*/;
544 continue_29
: while(0);
547 tracehead
= trace
.prev
;
550 val_t
abstract_collection___Map___iterator(val_t self
) {
551 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 267, LOCATE_abstract_collection___Map___iterator
};
552 trace
.prev
= tracehead
; tracehead
= &trace
;
553 fprintf(stderr
, "Deferred method %s called");
554 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___Map___recover_with
, LOCATE_abstract_collection
, 267);
556 tracehead
= trace
.prev
;
559 val_t
abstract_collection___MapIterator___key(val_t self
) {
560 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 273, LOCATE_abstract_collection___MapIterator___key
};
561 trace
.prev
= tracehead
; tracehead
= &trace
;
562 fprintf(stderr
, "Deferred method %s called");
563 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___Map___recover_with
, LOCATE_abstract_collection
, 273);
565 tracehead
= trace
.prev
;
568 void abstract_collection___MapIterator___item__eq(val_t self
, val_t param0
) {
569 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 276, LOCATE_abstract_collection___MapIterator___item__eq
};
570 trace
.prev
= tracehead
; tracehead
= &trace
;
571 fprintf(stderr
, "Deferred method %s called");
572 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___Map___recover_with
, LOCATE_abstract_collection
, 276);
574 tracehead
= trace
.prev
;
577 val_t
abstract_collection___IndexedCollection___first(val_t self
) {
578 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 285, LOCATE_abstract_collection___IndexedCollection___first
};
580 trace
.prev
= tracehead
; tracehead
= &trace
;
581 variable0
= ((abstract_collection___Collection___is_empty_t
)CALL( self
,COLOR_abstract_collection___Collection___is_empty
))( self
) /*Collection::is_empty*/;
582 if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0
)))) { fprintf(stderr
, "Assert%s failed", " 'not_empty' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___first
, LOCATE_abstract_collection
, 289); nit_exit(1);}
583 variable0
= ((abstract_collection___Map_____bra_t
)CALL( self
,COLOR_abstract_collection___Map_____bra
))( self
, TAG_Int(0)) /*Map::[]*/;
585 return_label30
: while(false);
586 tracehead
= trace
.prev
;
589 void abstract_collection___IndexedCollection___first__eq(val_t self
, val_t param0
) {
590 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 293, LOCATE_abstract_collection___IndexedCollection___first__eq
};
592 trace
.prev
= tracehead
; tracehead
= &trace
;
594 ((abstract_collection___Map_____braeq_t
)CALL( self
,COLOR_abstract_collection___Map_____braeq
))( self
, TAG_Int(0), variable0
/*item*/) /*Map::[]=*/;
595 tracehead
= trace
.prev
;
598 val_t
abstract_collection___IndexedCollection___last(val_t self
) {
599 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 298, LOCATE_abstract_collection___IndexedCollection___last
};
601 trace
.prev
= tracehead
; tracehead
= &trace
;
602 variable0
= ((abstract_collection___Collection___is_empty_t
)CALL( self
,COLOR_abstract_collection___Collection___is_empty
))( self
) /*Collection::is_empty*/;
603 if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0
)))) { fprintf(stderr
, "Assert%s failed", " 'not_empty' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___last
, LOCATE_abstract_collection
, 302); nit_exit(1);}
604 variable0
= ((abstract_collection___Collection___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*Collection::length*/;
605 variable0
= TAG_Int(UNTAG_Int(variable0
)-UNTAG_Int( TAG_Int(1)));
606 variable0
= ((abstract_collection___Map_____bra_t
)CALL( self
,COLOR_abstract_collection___Map_____bra
))( self
, variable0
) /*Map::[]*/;
608 return_label32
: while(false);
609 tracehead
= trace
.prev
;
612 void abstract_collection___IndexedCollection___last__eq(val_t self
, val_t param0
) {
613 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 306, LOCATE_abstract_collection___IndexedCollection___last__eq
};
617 trace
.prev
= tracehead
; tracehead
= &trace
;
619 variable2
= ((abstract_collection___Collection___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*Collection::length*/;
620 variable1
= variable2
;
621 variable2
= TAG_Bool(UNTAG_Int( variable1
/*l*/)>UNTAG_Int( TAG_Int(0)));
622 if (UNTAG_Bool(variable2
)) { /*if*/
623 variable2
= TAG_Int(UNTAG_Int( variable1
/*l*/)-UNTAG_Int( TAG_Int(1)));
624 ((abstract_collection___Map_____braeq_t
)CALL( self
,COLOR_abstract_collection___Map_____braeq
))( self
, variable2
, variable0
/*item*/) /*Map::[]=*/;
626 ((abstract_collection___Map_____braeq_t
)CALL( self
,COLOR_abstract_collection___Map_____braeq
))( self
, TAG_Int(0), variable0
/*item*/) /*Map::[]=*/;
628 tracehead
= trace
.prev
;
631 void abstract_collection___IndexedCollection___add(val_t self
, val_t param0
) {
632 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 318, LOCATE_abstract_collection___IndexedCollection___add
};
634 trace
.prev
= tracehead
; tracehead
= &trace
;
636 ((abstract_collection___IndexedCollection___push_t
)CALL( self
,COLOR_abstract_collection___IndexedCollection___push
))( self
, variable0
/*e*/) /*IndexedCollection::push*/;
637 tracehead
= trace
.prev
;
640 void abstract_collection___IndexedCollection___push(val_t self
, val_t param0
) {
641 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 321, LOCATE_abstract_collection___IndexedCollection___push
};
642 trace
.prev
= tracehead
; tracehead
= &trace
;
643 fprintf(stderr
, "Deferred method %s called");
644 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___add
, LOCATE_abstract_collection
, 321);
646 tracehead
= trace
.prev
;
649 void abstract_collection___IndexedCollection___append(val_t self
, val_t param0
) {
650 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 324, LOCATE_abstract_collection___IndexedCollection___append
};
654 trace
.prev
= tracehead
; tracehead
= &trace
;
656 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*/) /*Object::==*/)))))));
657 if (UNTAG_Bool(variable1
)) { /*if*/
658 variable1
= ((abstract_collection___Collection___iterator_t
)CALL( variable0
/*coll*/,COLOR_abstract_collection___Collection___iterator
))( variable0
/*coll*/) /*Collection::iterator*/;
659 while (true) { /*for*/
660 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
661 if (!UNTAG_Bool(variable2
)) break; /*for*/
662 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
663 ((abstract_collection___IndexedCollection___push_t
)CALL( self
,COLOR_abstract_collection___IndexedCollection___push
))( self
, variable2
/*i*/) /*IndexedCollection::push*/;
664 continue_36
: while(0);
665 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
669 tracehead
= trace
.prev
;
672 val_t
abstract_collection___IndexedCollection___pop(val_t self
) {
673 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 327, LOCATE_abstract_collection___IndexedCollection___pop
};
674 trace
.prev
= tracehead
; tracehead
= &trace
;
675 fprintf(stderr
, "Deferred method %s called");
676 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___append
, LOCATE_abstract_collection
, 327);
678 tracehead
= trace
.prev
;
681 void abstract_collection___IndexedCollection___unshift(val_t self
, val_t param0
) {
682 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 330, LOCATE_abstract_collection___IndexedCollection___unshift
};
683 trace
.prev
= tracehead
; tracehead
= &trace
;
684 fprintf(stderr
, "Deferred method %s called");
685 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___append
, LOCATE_abstract_collection
, 330);
687 tracehead
= trace
.prev
;
690 val_t
abstract_collection___IndexedCollection___shift(val_t self
) {
691 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 333, LOCATE_abstract_collection___IndexedCollection___shift
};
692 trace
.prev
= tracehead
; tracehead
= &trace
;
693 fprintf(stderr
, "Deferred method %s called");
694 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___append
, LOCATE_abstract_collection
, 333);
696 tracehead
= trace
.prev
;
699 val_t
abstract_collection___IndexedCollection___index_of(val_t self
, val_t param0
) {
700 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 337, LOCATE_abstract_collection___IndexedCollection___index_of
};
704 trace
.prev
= tracehead
; tracehead
= &trace
;
706 variable2
= ((abstract_collection___IndexedCollection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*IndexedCollection::iterator*/;
707 variable1
= variable2
;
708 while (true) { /*while*/
709 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___is_ok
))( variable1
/*i*/) /*Iterator::is_ok*/;
710 if (!UNTAG_Bool(variable2
)) break; /* while*/
711 variable2
= ((abstract_collection___Iterator___item_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___item
))( variable1
/*i*/) /*Iterator::item*/;
712 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::==*/)))));
713 if (UNTAG_Bool(variable2
)) { /*if*/
714 variable2
= ((abstract_collection___IndexedIterator___index_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___IndexedIterator___index
))( variable1
/*i*/) /*IndexedIterator::index*/;
715 variable1
= variable2
;
718 ((abstract_collection___Iterator___next_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___next
))( variable1
/*i*/) /*Iterator::next*/;
719 continue_38
: while(0);
722 variable2
= TAG_Int(-UNTAG_Int( TAG_Int(1)));
723 variable1
= variable2
;
725 return_label37
: while(false);
726 tracehead
= trace
.prev
;
729 val_t
abstract_collection___IndexedCollection___iterator(val_t self
) {
730 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 349, LOCATE_abstract_collection___IndexedCollection___iterator
};
731 trace
.prev
= tracehead
; tracehead
= &trace
;
732 fprintf(stderr
, "Deferred method %s called");
733 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___index_of
, LOCATE_abstract_collection
, 349);
735 tracehead
= trace
.prev
;
738 val_t
abstract_collection___IndexedIterator___index(val_t self
) {
739 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 355, LOCATE_abstract_collection___IndexedIterator___index
};
740 trace
.prev
= tracehead
; tracehead
= &trace
;
741 fprintf(stderr
, "Deferred method %s called");
742 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___index_of
, LOCATE_abstract_collection
, 355);
744 tracehead
= trace
.prev
;
747 val_t
abstract_collection___IndexedIterator___key(val_t self
) {
748 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 358, LOCATE_abstract_collection___IndexedIterator___key
};
750 trace
.prev
= tracehead
; tracehead
= &trace
;
751 variable0
= ((abstract_collection___IndexedIterator___index_t
)CALL( self
,COLOR_abstract_collection___IndexedIterator___index
))( self
) /*IndexedIterator::index*/;
753 return_label39
: while(false);
754 tracehead
= trace
.prev
;
757 val_t
abstract_collection___CoupleMap___couple_at(val_t self
, val_t param0
) {
758 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 365, LOCATE_abstract_collection___CoupleMap___couple_at
};
759 trace
.prev
= tracehead
; tracehead
= &trace
;
760 fprintf(stderr
, "Deferred method %s called");
761 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedIterator___key
, LOCATE_abstract_collection
, 365);
763 tracehead
= trace
.prev
;
766 val_t
abstract_collection___CoupleMap_____bra(val_t self
, val_t param0
) {
767 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 369, LOCATE_abstract_collection___CoupleMap_____bra
};
771 trace
.prev
= tracehead
; tracehead
= &trace
;
773 variable2
= ((abstract_collection___CoupleMap___couple_at_t
)CALL( self
,COLOR_abstract_collection___CoupleMap___couple_at
))( self
, variable0
/*key*/) /*CoupleMap::couple_at*/;
774 variable1
= variable2
;
775 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*/) /*Object::==*/)))));
776 if (UNTAG_Bool(variable2
)) { /*if*/
777 variable1
= NIT_NULL
/*null*/;
780 variable2
= ((abstract_collection___Couple___second_t
)CALL( variable1
/*c*/,COLOR_abstract_collection___Couple___second
))( variable1
/*c*/) /*Couple::second*/;
781 variable1
= variable2
;
784 return_label40
: while(false);
785 tracehead
= trace
.prev
;
788 val_t
abstract_collection___CoupleMap___has_key(val_t self
, val_t param0
) {
789 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 379, LOCATE_abstract_collection___CoupleMap___has_key
};
792 trace
.prev
= tracehead
; tracehead
= &trace
;
794 variable1
= ((abstract_collection___CoupleMap___couple_at_t
)CALL( self
,COLOR_abstract_collection___CoupleMap___couple_at
))( self
, variable0
/*key*/) /*CoupleMap::couple_at*/;
795 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*/) /*Object::==*/)))))));
797 return_label41
: while(false);
798 tracehead
= trace
.prev
;
801 val_t
abstract_collection___CoupleMapIterator___item(val_t self
) {
802 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 387, LOCATE_abstract_collection___CoupleMapIterator___item
};
804 trace
.prev
= tracehead
; tracehead
= &trace
;
805 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
806 variable0
= ((abstract_collection___Iterator___item_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___item
))(variable0
) /*Iterator::item*/;
807 variable0
= ((abstract_collection___Couple___second_t
)CALL(variable0
,COLOR_abstract_collection___Couple___second
))(variable0
) /*Couple::second*/;
809 return_label42
: while(false);
810 tracehead
= trace
.prev
;
813 void abstract_collection___CoupleMapIterator___item__eq(val_t self
, val_t param0
) {
814 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 389, LOCATE_abstract_collection___CoupleMapIterator___item__eq
};
817 trace
.prev
= tracehead
; tracehead
= &trace
;
819 variable1
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
820 variable1
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
821 ((abstract_collection___Couple___second__eq_t
)CALL(variable1
,COLOR_abstract_collection___Couple___second__eq
))(variable1
, variable0
/*e*/) /*Couple::second=*/;
822 tracehead
= trace
.prev
;
825 val_t
abstract_collection___CoupleMapIterator___key(val_t self
) {
826 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 391, LOCATE_abstract_collection___CoupleMapIterator___key
};
828 trace
.prev
= tracehead
; tracehead
= &trace
;
829 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
830 variable0
= ((abstract_collection___Iterator___item_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___item
))(variable0
) /*Iterator::item*/;
831 variable0
= ((abstract_collection___Couple___first_t
)CALL(variable0
,COLOR_abstract_collection___Couple___first
))(variable0
) /*Couple::first*/;
833 return_label44
: while(false);
834 tracehead
= trace
.prev
;
837 val_t
abstract_collection___CoupleMapIterator___is_ok(val_t self
) {
838 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 393, LOCATE_abstract_collection___CoupleMapIterator___is_ok
};
840 trace
.prev
= tracehead
; tracehead
= &trace
;
841 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
842 variable0
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___is_ok
))(variable0
) /*Iterator::is_ok*/;
844 return_label45
: while(false);
845 tracehead
= trace
.prev
;
848 void abstract_collection___CoupleMapIterator___next(val_t self
) {
849 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 395, LOCATE_abstract_collection___CoupleMapIterator___next
};
852 trace
.prev
= tracehead
; tracehead
= &trace
;
853 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
854 ((abstract_collection___Iterator___next_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___next
))(variable0
) /*Iterator::next*/;
855 while (true) { /*while*/
856 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
857 variable0
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___is_ok
))(variable0
) /*Iterator::is_ok*/;
858 variable1
= variable0
;
859 if (UNTAG_Bool(variable1
)) { /* and */
860 variable1
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
861 variable1
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
862 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*/) /*Object::==*/)))));
864 variable0
= variable1
;
865 if (!UNTAG_Bool(variable0
)) break; /* while*/
866 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
867 ((abstract_collection___Iterator___next_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___next
))(variable0
) /*Iterator::next*/;
868 continue_47
: while(0);
871 tracehead
= trace
.prev
;
874 void abstract_collection___CoupleMapIterator___init(val_t self
, val_t param0
, int* init_table
) {
875 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 403, LOCATE_abstract_collection___CoupleMapIterator___init
};
877 trace
.prev
= tracehead
; tracehead
= &trace
;
879 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_CoupleMapIterator
].i
]) return;
880 ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/ = variable0
/*i*/;
881 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_CoupleMapIterator
].i
] = 1;
882 tracehead
= trace
.prev
;
885 val_t
abstract_collection___Couple___first(val_t self
) {
886 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 411, LOCATE_abstract_collection___Couple___first
};
887 trace
.prev
= tracehead
; tracehead
= &trace
;
888 tracehead
= trace
.prev
;
889 return ATTR_abstract_collection___Couple____first( self
) /*Couple::_first*/;
891 void abstract_collection___Couple___first__eq(val_t self
, val_t param0
) {
892 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 411, LOCATE_abstract_collection___Couple___first__eq
};
893 trace
.prev
= tracehead
; tracehead
= &trace
;
894 ATTR_abstract_collection___Couple____first( self
) /*Couple::_first*/ = param0
;
895 tracehead
= trace
.prev
;
898 val_t
abstract_collection___Couple___second(val_t self
) {
899 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 414, LOCATE_abstract_collection___Couple___second
};
900 trace
.prev
= tracehead
; tracehead
= &trace
;
901 tracehead
= trace
.prev
;
902 return ATTR_abstract_collection___Couple____second( self
) /*Couple::_second*/;
904 void abstract_collection___Couple___second__eq(val_t self
, val_t param0
) {
905 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 414, LOCATE_abstract_collection___Couple___second__eq
};
906 trace
.prev
= tracehead
; tracehead
= &trace
;
907 ATTR_abstract_collection___Couple____second( self
) /*Couple::_second*/ = param0
;
908 tracehead
= trace
.prev
;
911 void abstract_collection___Couple___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
912 struct trace_t trace
= {NULL
, LOCATE_abstract_collection
, 417, LOCATE_abstract_collection___Couple___init
};
915 trace
.prev
= tracehead
; tracehead
= &trace
;
918 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Couple
].i
]) return;
919 ATTR_abstract_collection___Couple____first( self
) /*Couple::_first*/ = variable0
/*f*/;
920 ATTR_abstract_collection___Couple____second( self
) /*Couple::_second*/ = variable1
/*s*/;
921 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Couple
].i
] = 1;
922 tracehead
= trace
.prev
;