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
, NULL
, 42, LOCATE_abstract_collection___Collection___iterator
};
5 trace
.prev
= tracehead
; tracehead
= &trace
;
6 trace
.file
= LOCATE_abstract_collection
;
7 fprintf(stderr
, "Deferred method %s called");
8 fprintf(stderr
, " (%s:%d)\n", LOCATE_abstract_collection
, 42);
10 tracehead
= trace
.prev
;
13 val_t
abstract_collection___Collection___is_empty(val_t self
) {
14 struct trace_t trace
= {NULL
, NULL
, 45, LOCATE_abstract_collection___Collection___is_empty
};
15 trace
.prev
= tracehead
; tracehead
= &trace
;
16 trace
.file
= LOCATE_abstract_collection
;
17 fprintf(stderr
, "Deferred method %s called");
18 fprintf(stderr
, " (%s:%d)\n", LOCATE_abstract_collection
, 45);
20 tracehead
= trace
.prev
;
23 val_t
abstract_collection___Collection___length(val_t self
) {
24 struct trace_t trace
= {NULL
, NULL
, 48, LOCATE_abstract_collection___Collection___length
};
25 trace
.prev
= tracehead
; tracehead
= &trace
;
26 trace
.file
= LOCATE_abstract_collection
;
27 fprintf(stderr
, "Deferred method %s called");
28 fprintf(stderr
, " (%s:%d)\n", LOCATE_abstract_collection
, 48);
30 tracehead
= trace
.prev
;
33 val_t
abstract_collection___Collection___has(val_t self
, val_t param0
) {
34 struct trace_t trace
= {NULL
, NULL
, 51, LOCATE_abstract_collection___Collection___has
};
35 trace
.prev
= tracehead
; tracehead
= &trace
;
36 trace
.file
= LOCATE_abstract_collection
;
37 fprintf(stderr
, "Deferred method %s called");
38 fprintf(stderr
, " (%s:%d)\n", LOCATE_abstract_collection
, 51);
40 tracehead
= trace
.prev
;
43 val_t
abstract_collection___Collection___has_only(val_t self
, val_t param0
) {
44 struct trace_t trace
= {NULL
, NULL
, 55, LOCATE_abstract_collection___Collection___has_only
};
45 trace
.prev
= tracehead
; tracehead
= &trace
;
46 trace
.file
= LOCATE_abstract_collection
;
47 fprintf(stderr
, "Deferred method %s called");
48 fprintf(stderr
, " (%s:%d)\n", LOCATE_abstract_collection
, 55);
50 tracehead
= trace
.prev
;
53 val_t
abstract_collection___Collection___count(val_t self
, val_t param0
) {
54 struct trace_t trace
= {NULL
, NULL
, 60, LOCATE_abstract_collection___Collection___count
};
55 trace
.prev
= tracehead
; tracehead
= &trace
;
56 trace
.file
= LOCATE_abstract_collection
;
57 fprintf(stderr
, "Deferred method %s called");
58 fprintf(stderr
, " (%s:%d)\n", LOCATE_abstract_collection
, 60);
60 tracehead
= trace
.prev
;
63 val_t
abstract_collection___Collection___first(val_t self
) {
64 struct trace_t trace
= {NULL
, NULL
, 64, LOCATE_abstract_collection___Collection___first
};
65 trace
.prev
= tracehead
; tracehead
= &trace
;
66 trace
.file
= LOCATE_abstract_collection
;
67 fprintf(stderr
, "Deferred method %s called");
68 fprintf(stderr
, " (%s:%d)\n", LOCATE_abstract_collection
, 64);
70 tracehead
= trace
.prev
;
73 val_t
abstract_collection___NaiveCollection___is_empty(val_t self
) {
74 struct trace_t trace
= {NULL
, NULL
, 72, LOCATE_abstract_collection___NaiveCollection___is_empty
};
76 trace
.prev
= tracehead
; tracehead
= &trace
;
77 trace
.file
= LOCATE_abstract_collection
;
78 variable0
= ((abstract_collection___NaiveCollection___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*NaiveCollection::length*/;
79 variable0
= TAG_Bool((variable0
)==( TAG_Int(0)));
81 return_label0
: while(false);
82 tracehead
= trace
.prev
;
85 val_t
abstract_collection___NaiveCollection___length(val_t self
) {
86 struct trace_t trace
= {NULL
, NULL
, 74, LOCATE_abstract_collection___NaiveCollection___length
};
90 trace
.prev
= tracehead
; tracehead
= &trace
;
91 trace
.file
= LOCATE_abstract_collection
;
92 variable0
= TAG_Int(0);
93 variable1
= ((abstract_collection___Collection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*Collection::iterator*/;
94 while (true) { /*for*/
95 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
96 if (!UNTAG_Bool(variable2
)) break; /*for*/
97 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
98 variable0
= TAG_Int(UNTAG_Int(variable0
)+UNTAG_Int( variable0
/*nb*/)) /*nb*/;
100 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
103 variable0
= variable0
/*nb*/;
105 return_label1
: while(false);
106 tracehead
= trace
.prev
;
109 val_t
abstract_collection___NaiveCollection___has(val_t self
, val_t param0
) {
110 struct trace_t trace
= {NULL
, NULL
, 81, LOCATE_abstract_collection___NaiveCollection___has
};
115 trace
.prev
= tracehead
; tracehead
= &trace
;
116 trace
.file
= LOCATE_abstract_collection
;
118 variable1
= ((abstract_collection___Collection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*Collection::iterator*/;
119 while (true) { /*for*/
120 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
121 if (!UNTAG_Bool(variable2
)) break; /*for*/
122 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
123 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::==*/)))));
124 if (UNTAG_Bool(variable3
)) { /*if*/
125 variable1
= TAG_Bool(true);
128 continue_4
: while(0);
129 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
132 variable1
= TAG_Bool(false);
134 return_label3
: while(false);
135 tracehead
= trace
.prev
;
138 val_t
abstract_collection___NaiveCollection___has_only(val_t self
, val_t param0
) {
139 struct trace_t trace
= {NULL
, NULL
, 87, LOCATE_abstract_collection___NaiveCollection___has_only
};
144 trace
.prev
= tracehead
; tracehead
= &trace
;
145 trace
.file
= LOCATE_abstract_collection
;
147 variable1
= ((abstract_collection___Collection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*Collection::iterator*/;
148 while (true) { /*for*/
149 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
150 if (!UNTAG_Bool(variable2
)) break; /*for*/
151 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
152 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::==*/)))))));
153 if (UNTAG_Bool(variable3
)) { /*if*/
154 variable1
= TAG_Bool(false);
157 continue_6
: while(0);
158 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
161 variable1
= TAG_Bool(true);
163 return_label5
: while(false);
164 tracehead
= trace
.prev
;
167 val_t
abstract_collection___NaiveCollection___count(val_t self
, val_t param0
) {
168 struct trace_t trace
= {NULL
, NULL
, 93, LOCATE_abstract_collection___NaiveCollection___count
};
174 trace
.prev
= tracehead
; tracehead
= &trace
;
175 trace
.file
= LOCATE_abstract_collection
;
177 variable1
= TAG_Int(0);
178 variable2
= ((abstract_collection___Collection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*Collection::iterator*/;
179 while (true) { /*for*/
180 variable3
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*Iterator::is_ok*/;
181 if (!UNTAG_Bool(variable3
)) break; /*for*/
182 variable3
= ((abstract_collection___Iterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*Iterator::item*/;
183 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::==*/)))));
184 if (UNTAG_Bool(variable4
)) { /*if*/
185 variable1
= TAG_Int(UNTAG_Int(variable1
)+UNTAG_Int( TAG_Int(1))) /*nb*/;
187 continue_8
: while(0);
188 ((abstract_collection___Iterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*Iterator::next*/;
191 variable1
= variable1
/*nb*/;
193 return_label7
: while(false);
194 tracehead
= trace
.prev
;
197 val_t
abstract_collection___NaiveCollection___first(val_t self
) {
198 struct trace_t trace
= {NULL
, NULL
, 100, LOCATE_abstract_collection___NaiveCollection___first
};
200 trace
.prev
= tracehead
; tracehead
= &trace
;
201 trace
.file
= LOCATE_abstract_collection
;
202 variable0
= ((abstract_collection___NaiveCollection___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*NaiveCollection::length*/;
203 variable0
= TAG_Bool(UNTAG_Int(variable0
)>UNTAG_Int( TAG_Int(0)));
204 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);}
205 variable0
= ((abstract_collection___Collection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*Collection::iterator*/;
206 variable0
= ((abstract_collection___Iterator___item_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___item
))(variable0
) /*Iterator::item*/;
208 return_label9
: while(false);
209 tracehead
= trace
.prev
;
212 val_t
abstract_collection___Iterator___item(val_t self
) {
213 struct trace_t trace
= {NULL
, NULL
, 110, LOCATE_abstract_collection___Iterator___item
};
214 trace
.prev
= tracehead
; tracehead
= &trace
;
215 trace
.file
= LOCATE_abstract_collection
;
216 fprintf(stderr
, "Deferred method %s called");
217 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___NaiveCollection___first
, LOCATE_abstract_collection
, 110);
219 tracehead
= trace
.prev
;
222 void abstract_collection___Iterator___next(val_t self
) {
223 struct trace_t trace
= {NULL
, NULL
, 114, LOCATE_abstract_collection___Iterator___next
};
224 trace
.prev
= tracehead
; tracehead
= &trace
;
225 trace
.file
= LOCATE_abstract_collection
;
226 fprintf(stderr
, "Deferred method %s called");
227 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___NaiveCollection___first
, LOCATE_abstract_collection
, 114);
229 tracehead
= trace
.prev
;
232 val_t
abstract_collection___Iterator___is_ok(val_t self
) {
233 struct trace_t trace
= {NULL
, NULL
, 118, LOCATE_abstract_collection___Iterator___is_ok
};
234 trace
.prev
= tracehead
; tracehead
= &trace
;
235 trace
.file
= LOCATE_abstract_collection
;
236 fprintf(stderr
, "Deferred method %s called");
237 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___NaiveCollection___first
, LOCATE_abstract_collection
, 118);
239 tracehead
= trace
.prev
;
242 val_t
abstract_collection___Container___first(val_t self
) {
243 struct trace_t trace
= {NULL
, NULL
, 126, LOCATE_abstract_collection___Container___first
};
245 trace
.prev
= tracehead
; tracehead
= &trace
;
246 trace
.file
= LOCATE_abstract_collection
;
247 variable0
= ATTR_abstract_collection___Container____item( self
) /*Container::_item*/;
249 return_label10
: while(false);
250 tracehead
= trace
.prev
;
253 val_t
abstract_collection___Container___is_empty(val_t self
) {
254 struct trace_t trace
= {NULL
, NULL
, 128, LOCATE_abstract_collection___Container___is_empty
};
256 trace
.prev
= tracehead
; tracehead
= &trace
;
257 trace
.file
= LOCATE_abstract_collection
;
258 variable0
= TAG_Bool(false);
260 return_label11
: while(false);
261 tracehead
= trace
.prev
;
264 val_t
abstract_collection___Container___length(val_t self
) {
265 struct trace_t trace
= {NULL
, NULL
, 130, LOCATE_abstract_collection___Container___length
};
267 trace
.prev
= tracehead
; tracehead
= &trace
;
268 trace
.file
= LOCATE_abstract_collection
;
269 variable0
= TAG_Int(1);
271 return_label12
: while(false);
272 tracehead
= trace
.prev
;
275 val_t
abstract_collection___Container___has(val_t self
, val_t param0
) {
276 struct trace_t trace
= {NULL
, NULL
, 132, LOCATE_abstract_collection___Container___has
};
279 trace
.prev
= tracehead
; tracehead
= &trace
;
280 trace
.file
= LOCATE_abstract_collection
;
282 variable1
= ATTR_abstract_collection___Container____item( self
) /*Container::_item*/;
283 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::==*/)))));
285 return_label13
: while(false);
286 tracehead
= trace
.prev
;
289 val_t
abstract_collection___Container___has_only(val_t self
, val_t param0
) {
290 struct trace_t trace
= {NULL
, NULL
, 134, LOCATE_abstract_collection___Container___has_only
};
293 trace
.prev
= tracehead
; tracehead
= &trace
;
294 trace
.file
= LOCATE_abstract_collection
;
296 variable1
= ATTR_abstract_collection___Container____item( self
) /*Container::_item*/;
297 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::==*/)))));
299 return_label14
: while(false);
300 tracehead
= trace
.prev
;
303 val_t
abstract_collection___Container___count(val_t self
, val_t param0
) {
304 struct trace_t trace
= {NULL
, NULL
, 136, LOCATE_abstract_collection___Container___count
};
307 trace
.prev
= tracehead
; tracehead
= &trace
;
308 trace
.file
= LOCATE_abstract_collection
;
310 variable1
= ATTR_abstract_collection___Container____item( self
) /*Container::_item*/;
311 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::==*/)))));
312 if (UNTAG_Bool(variable1
)) { /*if*/
313 variable1
= TAG_Int(1);
316 variable1
= TAG_Int(0);
319 return_label15
: while(false);
320 tracehead
= trace
.prev
;
323 val_t
abstract_collection___Container___iterator(val_t self
) {
324 struct trace_t trace
= {NULL
, NULL
, 145, LOCATE_abstract_collection___Container___iterator
};
326 trace
.prev
= tracehead
; tracehead
= &trace
;
327 trace
.file
= LOCATE_abstract_collection
;
328 variable0
= NEW_ContainerIterator_abstract_collection___ContainerIterator___init( self
); /*new ContainerIterator[E]*/
330 return_label16
: while(false);
331 tracehead
= trace
.prev
;
334 void abstract_collection___Container___init(val_t self
, val_t param0
, int* init_table
) {
335 struct trace_t trace
= {NULL
, NULL
, 147, LOCATE_abstract_collection___Container___init
};
337 trace
.prev
= tracehead
; tracehead
= &trace
;
338 trace
.file
= LOCATE_abstract_collection
;
340 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Container
].i
]) return;
341 ATTR_abstract_collection___Container____item( self
) /*Container::_item*/ = variable0
/*e*/;
342 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Container
].i
] = 1;
343 tracehead
= trace
.prev
;
346 val_t
abstract_collection___Container___item(val_t self
) {
347 struct trace_t trace
= {NULL
, NULL
, 150, LOCATE_abstract_collection___Container___item
};
348 trace
.prev
= tracehead
; tracehead
= &trace
;
349 trace
.file
= LOCATE_abstract_collection
;
350 tracehead
= trace
.prev
;
351 return ATTR_abstract_collection___Container____item( self
) /*Container::_item*/;
353 void abstract_collection___Container___item__eq(val_t self
, val_t param0
) {
354 struct trace_t trace
= {NULL
, NULL
, 150, LOCATE_abstract_collection___Container___item__eq
};
355 trace
.prev
= tracehead
; tracehead
= &trace
;
356 trace
.file
= LOCATE_abstract_collection
;
357 ATTR_abstract_collection___Container____item( self
) /*Container::_item*/ = param0
;
358 tracehead
= trace
.prev
;
361 val_t
abstract_collection___ContainerIterator___item(val_t self
) {
362 struct trace_t trace
= {NULL
, NULL
, 157, LOCATE_abstract_collection___ContainerIterator___item
};
364 trace
.prev
= tracehead
; tracehead
= &trace
;
365 trace
.file
= LOCATE_abstract_collection
;
366 variable0
= ATTR_abstract_collection___ContainerIterator____container( self
) /*ContainerIterator::_container*/;
367 variable0
= ((abstract_collection___Container___item_t
)CALL(variable0
,COLOR_abstract_collection___Container___item
))(variable0
) /*Container::item*/;
369 return_label18
: while(false);
370 tracehead
= trace
.prev
;
373 void abstract_collection___ContainerIterator___next(val_t self
) {
374 struct trace_t trace
= {NULL
, NULL
, 159, LOCATE_abstract_collection___ContainerIterator___next
};
375 trace
.prev
= tracehead
; tracehead
= &trace
;
376 trace
.file
= LOCATE_abstract_collection
;
377 ATTR_abstract_collection___ContainerIterator____is_ok( self
) /*ContainerIterator::_is_ok*/ = TAG_Bool(false);
378 tracehead
= trace
.prev
;
381 void abstract_collection___ContainerIterator___init(val_t self
, val_t param0
, int* init_table
) {
382 struct trace_t trace
= {NULL
, NULL
, 161, LOCATE_abstract_collection___ContainerIterator___init
};
384 trace
.prev
= tracehead
; tracehead
= &trace
;
385 trace
.file
= LOCATE_abstract_collection
;
387 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_ContainerIterator
].i
]) return;
388 ATTR_abstract_collection___ContainerIterator____container( self
) /*ContainerIterator::_container*/ = variable0
/*c*/;
389 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_ContainerIterator
].i
] = 1;
390 tracehead
= trace
.prev
;
393 val_t
abstract_collection___ContainerIterator___is_ok(val_t self
) {
394 struct trace_t trace
= {NULL
, NULL
, 163, LOCATE_abstract_collection___ContainerIterator___is_ok
};
395 trace
.prev
= tracehead
; tracehead
= &trace
;
396 trace
.file
= LOCATE_abstract_collection
;
397 tracehead
= trace
.prev
;
398 return ATTR_abstract_collection___ContainerIterator____is_ok( self
) /*ContainerIterator::_is_ok*/;
400 void abstract_collection___RemovableCollection___clear(val_t self
) {
401 struct trace_t trace
= {NULL
, NULL
, 171, LOCATE_abstract_collection___RemovableCollection___clear
};
402 trace
.prev
= tracehead
; tracehead
= &trace
;
403 trace
.file
= LOCATE_abstract_collection
;
404 fprintf(stderr
, "Deferred method %s called");
405 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___ContainerIterator___init
, LOCATE_abstract_collection
, 171);
407 tracehead
= trace
.prev
;
410 void abstract_collection___RemovableCollection___remove(val_t self
, val_t param0
) {
411 struct trace_t trace
= {NULL
, NULL
, 174, LOCATE_abstract_collection___RemovableCollection___remove
};
412 trace
.prev
= tracehead
; tracehead
= &trace
;
413 trace
.file
= LOCATE_abstract_collection
;
414 fprintf(stderr
, "Deferred method %s called");
415 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___ContainerIterator___init
, LOCATE_abstract_collection
, 174);
417 tracehead
= trace
.prev
;
420 void abstract_collection___RemovableCollection___remove_all(val_t self
, val_t param0
) {
421 struct trace_t trace
= {NULL
, NULL
, 177, LOCATE_abstract_collection___RemovableCollection___remove_all
};
424 trace
.prev
= tracehead
; tracehead
= &trace
;
425 trace
.file
= LOCATE_abstract_collection
;
427 while (true) { /*while*/
428 variable1
= ((abstract_collection___Collection___has_t
)CALL( self
,COLOR_abstract_collection___Collection___has
))( self
, variable0
/*item*/) /*Collection::has*/;
429 if (!UNTAG_Bool(variable1
)) break; /* while*/
430 ((abstract_collection___RemovableCollection___remove_t
)CALL( self
,COLOR_abstract_collection___RemovableCollection___remove
))( self
, variable0
/*item*/) /*RemovableCollection::remove*/;
431 continue_22
: while(0);
434 tracehead
= trace
.prev
;
437 void abstract_collection___SimpleCollection___add(val_t self
, val_t param0
) {
438 struct trace_t trace
= {NULL
, NULL
, 184, LOCATE_abstract_collection___SimpleCollection___add
};
439 trace
.prev
= tracehead
; tracehead
= &trace
;
440 trace
.file
= LOCATE_abstract_collection
;
441 fprintf(stderr
, "Deferred method %s called");
442 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___RemovableCollection___remove_all
, LOCATE_abstract_collection
, 184);
444 tracehead
= trace
.prev
;
447 void abstract_collection___SimpleCollection___add_all(val_t self
, val_t param0
) {
448 struct trace_t trace
= {NULL
, NULL
, 188, LOCATE_abstract_collection___SimpleCollection___add_all
};
452 trace
.prev
= tracehead
; tracehead
= &trace
;
453 trace
.file
= LOCATE_abstract_collection
;
455 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::==*/)))))));
456 if (UNTAG_Bool(variable1
)) { /*if*/
457 variable1
= ((abstract_collection___Collection___iterator_t
)CALL( variable0
/*coll*/,COLOR_abstract_collection___Collection___iterator
))( variable0
/*coll*/) /*Collection::iterator*/;
458 while (true) { /*for*/
459 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
460 if (!UNTAG_Bool(variable2
)) break; /*for*/
461 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
462 ((abstract_collection___SimpleCollection___add_t
)CALL( self
,COLOR_abstract_collection___SimpleCollection___add
))( self
, variable2
/*i*/) /*SimpleCollection::add*/;
463 continue_24
: while(0);
464 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
468 tracehead
= trace
.prev
;
471 val_t
abstract_collection___Set___has_only(val_t self
, val_t param0
) {
472 struct trace_t trace
= {NULL
, NULL
, 204, LOCATE_abstract_collection___Set___has_only
};
476 trace
.prev
= tracehead
; tracehead
= &trace
;
477 trace
.file
= LOCATE_abstract_collection
;
479 variable2
= ((abstract_collection___Collection___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*Collection::length*/;
480 variable1
= variable2
;
481 variable2
= TAG_Bool(( variable1
/*l*/)==( TAG_Int(1)));
482 if (UNTAG_Bool(variable2
)) { /*if*/
483 variable2
= ((abstract_collection___Collection___has_t
)CALL( self
,COLOR_abstract_collection___Collection___has
))( self
, variable0
/*item*/) /*Collection::has*/;
484 variable1
= variable2
;
487 variable2
= TAG_Bool(( variable1
/*l*/)==( TAG_Int(0)));
488 if (UNTAG_Bool(variable2
)) { /*if*/
489 variable1
= TAG_Bool(true);
492 variable1
= TAG_Bool(false);
496 return_label25
: while(false);
497 tracehead
= trace
.prev
;
500 val_t
abstract_collection___Set___count(val_t self
, val_t param0
) {
501 struct trace_t trace
= {NULL
, NULL
, 216, LOCATE_abstract_collection___Set___count
};
504 trace
.prev
= tracehead
; tracehead
= &trace
;
505 trace
.file
= LOCATE_abstract_collection
;
507 variable1
= ((abstract_collection___Collection___has_t
)CALL( self
,COLOR_abstract_collection___Collection___has
))( self
, variable0
/*item*/) /*Collection::has*/;
508 if (UNTAG_Bool(variable1
)) { /*if*/
509 variable1
= TAG_Int(1);
512 variable1
= TAG_Int(0);
515 return_label26
: while(false);
516 tracehead
= trace
.prev
;
519 void abstract_collection___Set___remove_all(val_t self
, val_t param0
) {
520 struct trace_t trace
= {NULL
, NULL
, 226, LOCATE_abstract_collection___Set___remove_all
};
522 trace
.prev
= tracehead
; tracehead
= &trace
;
523 trace
.file
= LOCATE_abstract_collection
;
525 ((abstract_collection___RemovableCollection___remove_t
)CALL( self
,COLOR_abstract_collection___RemovableCollection___remove
))( self
, variable0
/*item*/) /*RemovableCollection::remove*/;
526 tracehead
= trace
.prev
;
529 val_t
abstract_collection___Map_____bra(val_t self
, val_t param0
) {
530 struct trace_t trace
= {NULL
, NULL
, 244, LOCATE_abstract_collection___Map_____bra
};
531 trace
.prev
= tracehead
; tracehead
= &trace
;
532 trace
.file
= LOCATE_abstract_collection
;
533 fprintf(stderr
, "Deferred method %s called");
534 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___Set___remove_all
, LOCATE_abstract_collection
, 244);
536 tracehead
= trace
.prev
;
539 void abstract_collection___Map_____braeq(val_t self
, val_t param0
, val_t param1
) {
540 struct trace_t trace
= {NULL
, NULL
, 247, LOCATE_abstract_collection___Map_____braeq
};
541 trace
.prev
= tracehead
; tracehead
= &trace
;
542 trace
.file
= LOCATE_abstract_collection
;
543 fprintf(stderr
, "Deferred method %s called");
544 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___Set___remove_all
, LOCATE_abstract_collection
, 247);
546 tracehead
= trace
.prev
;
549 val_t
abstract_collection___Map___has_key(val_t self
, val_t param0
) {
550 struct trace_t trace
= {NULL
, NULL
, 250, LOCATE_abstract_collection___Map___has_key
};
551 trace
.prev
= tracehead
; tracehead
= &trace
;
552 trace
.file
= LOCATE_abstract_collection
;
553 fprintf(stderr
, "Deferred method %s called");
554 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___Set___remove_all
, LOCATE_abstract_collection
, 250);
556 tracehead
= trace
.prev
;
559 void abstract_collection___Map___remove_at(val_t self
, val_t param0
) {
560 struct trace_t trace
= {NULL
, NULL
, 253, LOCATE_abstract_collection___Map___remove_at
};
561 trace
.prev
= tracehead
; tracehead
= &trace
;
562 trace
.file
= LOCATE_abstract_collection
;
563 fprintf(stderr
, "Deferred method %s called");
564 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___Set___remove_all
, LOCATE_abstract_collection
, 253);
566 tracehead
= trace
.prev
;
569 void abstract_collection___Map___recover_with(val_t self
, val_t param0
) {
570 struct trace_t trace
= {NULL
, NULL
, 256, LOCATE_abstract_collection___Map___recover_with
};
575 trace
.prev
= tracehead
; tracehead
= &trace
;
576 trace
.file
= LOCATE_abstract_collection
;
578 variable2
= ((abstract_collection___Map___iterator_t
)CALL( variable0
/*map*/,COLOR_abstract_collection___Collection___iterator
))( variable0
/*map*/) /*Map::iterator*/;
579 variable1
= variable2
;
580 while (true) { /*while*/
581 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___is_ok
))( variable1
/*i*/) /*Iterator::is_ok*/;
582 if (!UNTAG_Bool(variable2
)) break; /* while*/
583 variable2
= ((abstract_collection___MapIterator___key_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___MapIterator___key
))( variable1
/*i*/) /*MapIterator::key*/;
584 variable3
= ((abstract_collection___Iterator___item_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___item
))( variable1
/*i*/) /*Iterator::item*/;
585 ((abstract_collection___Map_____braeq_t
)CALL( self
,COLOR_abstract_collection___Map_____braeq
))( self
, variable2
, variable3
) /*Map::[]=*/;
586 ((abstract_collection___Iterator___next_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___next
))( variable1
/*i*/) /*Iterator::next*/;
587 continue_29
: while(0);
590 tracehead
= trace
.prev
;
593 val_t
abstract_collection___Map___iterator(val_t self
) {
594 struct trace_t trace
= {NULL
, NULL
, 267, LOCATE_abstract_collection___Map___iterator
};
595 trace
.prev
= tracehead
; tracehead
= &trace
;
596 trace
.file
= LOCATE_abstract_collection
;
597 fprintf(stderr
, "Deferred method %s called");
598 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___Map___recover_with
, LOCATE_abstract_collection
, 267);
600 tracehead
= trace
.prev
;
603 val_t
abstract_collection___MapIterator___key(val_t self
) {
604 struct trace_t trace
= {NULL
, NULL
, 273, LOCATE_abstract_collection___MapIterator___key
};
605 trace
.prev
= tracehead
; tracehead
= &trace
;
606 trace
.file
= LOCATE_abstract_collection
;
607 fprintf(stderr
, "Deferred method %s called");
608 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___Map___recover_with
, LOCATE_abstract_collection
, 273);
610 tracehead
= trace
.prev
;
613 void abstract_collection___MapIterator___item__eq(val_t self
, val_t param0
) {
614 struct trace_t trace
= {NULL
, NULL
, 276, LOCATE_abstract_collection___MapIterator___item__eq
};
615 trace
.prev
= tracehead
; tracehead
= &trace
;
616 trace
.file
= LOCATE_abstract_collection
;
617 fprintf(stderr
, "Deferred method %s called");
618 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___Map___recover_with
, LOCATE_abstract_collection
, 276);
620 tracehead
= trace
.prev
;
623 val_t
abstract_collection___IndexedCollection___first(val_t self
) {
624 struct trace_t trace
= {NULL
, NULL
, 285, LOCATE_abstract_collection___IndexedCollection___first
};
626 trace
.prev
= tracehead
; tracehead
= &trace
;
627 trace
.file
= LOCATE_abstract_collection
;
628 variable0
= ((abstract_collection___Collection___is_empty_t
)CALL( self
,COLOR_abstract_collection___Collection___is_empty
))( self
) /*Collection::is_empty*/;
629 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);}
630 variable0
= ((abstract_collection___Map_____bra_t
)CALL( self
,COLOR_abstract_collection___Map_____bra
))( self
, TAG_Int(0)) /*Map::[]*/;
632 return_label30
: while(false);
633 tracehead
= trace
.prev
;
636 void abstract_collection___IndexedCollection___first__eq(val_t self
, val_t param0
) {
637 struct trace_t trace
= {NULL
, NULL
, 293, LOCATE_abstract_collection___IndexedCollection___first__eq
};
639 trace
.prev
= tracehead
; tracehead
= &trace
;
640 trace
.file
= LOCATE_abstract_collection
;
642 ((abstract_collection___Map_____braeq_t
)CALL( self
,COLOR_abstract_collection___Map_____braeq
))( self
, TAG_Int(0), variable0
/*item*/) /*Map::[]=*/;
643 tracehead
= trace
.prev
;
646 val_t
abstract_collection___IndexedCollection___last(val_t self
) {
647 struct trace_t trace
= {NULL
, NULL
, 298, LOCATE_abstract_collection___IndexedCollection___last
};
649 trace
.prev
= tracehead
; tracehead
= &trace
;
650 trace
.file
= LOCATE_abstract_collection
;
651 variable0
= ((abstract_collection___Collection___is_empty_t
)CALL( self
,COLOR_abstract_collection___Collection___is_empty
))( self
) /*Collection::is_empty*/;
652 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);}
653 variable0
= ((abstract_collection___Collection___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*Collection::length*/;
654 variable0
= TAG_Int(UNTAG_Int(variable0
)-UNTAG_Int( TAG_Int(1)));
655 variable0
= ((abstract_collection___Map_____bra_t
)CALL( self
,COLOR_abstract_collection___Map_____bra
))( self
, variable0
) /*Map::[]*/;
657 return_label32
: while(false);
658 tracehead
= trace
.prev
;
661 void abstract_collection___IndexedCollection___last__eq(val_t self
, val_t param0
) {
662 struct trace_t trace
= {NULL
, NULL
, 306, LOCATE_abstract_collection___IndexedCollection___last__eq
};
666 trace
.prev
= tracehead
; tracehead
= &trace
;
667 trace
.file
= LOCATE_abstract_collection
;
669 variable2
= ((abstract_collection___Collection___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*Collection::length*/;
670 variable1
= variable2
;
671 variable2
= TAG_Bool(UNTAG_Int( variable1
/*l*/)>UNTAG_Int( TAG_Int(0)));
672 if (UNTAG_Bool(variable2
)) { /*if*/
673 variable2
= TAG_Int(UNTAG_Int( variable1
/*l*/)-UNTAG_Int( TAG_Int(1)));
674 ((abstract_collection___Map_____braeq_t
)CALL( self
,COLOR_abstract_collection___Map_____braeq
))( self
, variable2
, variable0
/*item*/) /*Map::[]=*/;
676 ((abstract_collection___Map_____braeq_t
)CALL( self
,COLOR_abstract_collection___Map_____braeq
))( self
, TAG_Int(0), variable0
/*item*/) /*Map::[]=*/;
678 tracehead
= trace
.prev
;
681 void abstract_collection___IndexedCollection___add(val_t self
, val_t param0
) {
682 struct trace_t trace
= {NULL
, NULL
, 318, LOCATE_abstract_collection___IndexedCollection___add
};
684 trace
.prev
= tracehead
; tracehead
= &trace
;
685 trace
.file
= LOCATE_abstract_collection
;
687 ((abstract_collection___IndexedCollection___push_t
)CALL( self
,COLOR_abstract_collection___IndexedCollection___push
))( self
, variable0
/*e*/) /*IndexedCollection::push*/;
688 tracehead
= trace
.prev
;
691 void abstract_collection___IndexedCollection___push(val_t self
, val_t param0
) {
692 struct trace_t trace
= {NULL
, NULL
, 321, LOCATE_abstract_collection___IndexedCollection___push
};
693 trace
.prev
= tracehead
; tracehead
= &trace
;
694 trace
.file
= LOCATE_abstract_collection
;
695 fprintf(stderr
, "Deferred method %s called");
696 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___add
, LOCATE_abstract_collection
, 321);
698 tracehead
= trace
.prev
;
701 void abstract_collection___IndexedCollection___append(val_t self
, val_t param0
) {
702 struct trace_t trace
= {NULL
, NULL
, 324, LOCATE_abstract_collection___IndexedCollection___append
};
706 trace
.prev
= tracehead
; tracehead
= &trace
;
707 trace
.file
= LOCATE_abstract_collection
;
709 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::==*/)))))));
710 if (UNTAG_Bool(variable1
)) { /*if*/
711 variable1
= ((abstract_collection___Collection___iterator_t
)CALL( variable0
/*coll*/,COLOR_abstract_collection___Collection___iterator
))( variable0
/*coll*/) /*Collection::iterator*/;
712 while (true) { /*for*/
713 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
714 if (!UNTAG_Bool(variable2
)) break; /*for*/
715 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
716 ((abstract_collection___IndexedCollection___push_t
)CALL( self
,COLOR_abstract_collection___IndexedCollection___push
))( self
, variable2
/*i*/) /*IndexedCollection::push*/;
717 continue_36
: while(0);
718 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
722 tracehead
= trace
.prev
;
725 val_t
abstract_collection___IndexedCollection___pop(val_t self
) {
726 struct trace_t trace
= {NULL
, NULL
, 327, LOCATE_abstract_collection___IndexedCollection___pop
};
727 trace
.prev
= tracehead
; tracehead
= &trace
;
728 trace
.file
= LOCATE_abstract_collection
;
729 fprintf(stderr
, "Deferred method %s called");
730 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___append
, LOCATE_abstract_collection
, 327);
732 tracehead
= trace
.prev
;
735 void abstract_collection___IndexedCollection___unshift(val_t self
, val_t param0
) {
736 struct trace_t trace
= {NULL
, NULL
, 330, LOCATE_abstract_collection___IndexedCollection___unshift
};
737 trace
.prev
= tracehead
; tracehead
= &trace
;
738 trace
.file
= LOCATE_abstract_collection
;
739 fprintf(stderr
, "Deferred method %s called");
740 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___append
, LOCATE_abstract_collection
, 330);
742 tracehead
= trace
.prev
;
745 val_t
abstract_collection___IndexedCollection___shift(val_t self
) {
746 struct trace_t trace
= {NULL
, NULL
, 333, LOCATE_abstract_collection___IndexedCollection___shift
};
747 trace
.prev
= tracehead
; tracehead
= &trace
;
748 trace
.file
= LOCATE_abstract_collection
;
749 fprintf(stderr
, "Deferred method %s called");
750 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___append
, LOCATE_abstract_collection
, 333);
752 tracehead
= trace
.prev
;
755 val_t
abstract_collection___IndexedCollection___index_of(val_t self
, val_t param0
) {
756 struct trace_t trace
= {NULL
, NULL
, 337, LOCATE_abstract_collection___IndexedCollection___index_of
};
760 trace
.prev
= tracehead
; tracehead
= &trace
;
761 trace
.file
= LOCATE_abstract_collection
;
763 variable2
= ((abstract_collection___IndexedCollection___iterator_t
)CALL( self
,COLOR_abstract_collection___Collection___iterator
))( self
) /*IndexedCollection::iterator*/;
764 variable1
= variable2
;
765 while (true) { /*while*/
766 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___is_ok
))( variable1
/*i*/) /*Iterator::is_ok*/;
767 if (!UNTAG_Bool(variable2
)) break; /* while*/
768 variable2
= ((abstract_collection___Iterator___item_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___item
))( variable1
/*i*/) /*Iterator::item*/;
769 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::==*/)))));
770 if (UNTAG_Bool(variable2
)) { /*if*/
771 variable2
= ((abstract_collection___IndexedIterator___index_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___IndexedIterator___index
))( variable1
/*i*/) /*IndexedIterator::index*/;
772 variable1
= variable2
;
775 ((abstract_collection___Iterator___next_t
)CALL( variable1
/*i*/,COLOR_abstract_collection___Iterator___next
))( variable1
/*i*/) /*Iterator::next*/;
776 continue_38
: while(0);
779 variable2
= TAG_Int(-UNTAG_Int( TAG_Int(1)));
780 variable1
= variable2
;
782 return_label37
: while(false);
783 tracehead
= trace
.prev
;
786 val_t
abstract_collection___IndexedCollection___iterator(val_t self
) {
787 struct trace_t trace
= {NULL
, NULL
, 349, LOCATE_abstract_collection___IndexedCollection___iterator
};
788 trace
.prev
= tracehead
; tracehead
= &trace
;
789 trace
.file
= LOCATE_abstract_collection
;
790 fprintf(stderr
, "Deferred method %s called");
791 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___index_of
, LOCATE_abstract_collection
, 349);
793 tracehead
= trace
.prev
;
796 val_t
abstract_collection___IndexedIterator___index(val_t self
) {
797 struct trace_t trace
= {NULL
, NULL
, 355, LOCATE_abstract_collection___IndexedIterator___index
};
798 trace
.prev
= tracehead
; tracehead
= &trace
;
799 trace
.file
= LOCATE_abstract_collection
;
800 fprintf(stderr
, "Deferred method %s called");
801 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___index_of
, LOCATE_abstract_collection
, 355);
803 tracehead
= trace
.prev
;
806 val_t
abstract_collection___IndexedIterator___key(val_t self
) {
807 struct trace_t trace
= {NULL
, NULL
, 358, LOCATE_abstract_collection___IndexedIterator___key
};
809 trace
.prev
= tracehead
; tracehead
= &trace
;
810 trace
.file
= LOCATE_abstract_collection
;
811 variable0
= ((abstract_collection___IndexedIterator___index_t
)CALL( self
,COLOR_abstract_collection___IndexedIterator___index
))( self
) /*IndexedIterator::index*/;
813 return_label39
: while(false);
814 tracehead
= trace
.prev
;
817 val_t
abstract_collection___CoupleMap___couple_at(val_t self
, val_t param0
) {
818 struct trace_t trace
= {NULL
, NULL
, 365, LOCATE_abstract_collection___CoupleMap___couple_at
};
819 trace
.prev
= tracehead
; tracehead
= &trace
;
820 trace
.file
= LOCATE_abstract_collection
;
821 fprintf(stderr
, "Deferred method %s called");
822 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedIterator___key
, LOCATE_abstract_collection
, 365);
824 tracehead
= trace
.prev
;
827 val_t
abstract_collection___CoupleMap_____bra(val_t self
, val_t param0
) {
828 struct trace_t trace
= {NULL
, NULL
, 369, LOCATE_abstract_collection___CoupleMap_____bra
};
832 trace
.prev
= tracehead
; tracehead
= &trace
;
833 trace
.file
= LOCATE_abstract_collection
;
835 variable2
= ((abstract_collection___CoupleMap___couple_at_t
)CALL( self
,COLOR_abstract_collection___CoupleMap___couple_at
))( self
, variable0
/*key*/) /*CoupleMap::couple_at*/;
836 variable1
= variable2
;
837 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::==*/)))));
838 if (UNTAG_Bool(variable2
)) { /*if*/
839 variable1
= NIT_NULL
/*null*/;
842 variable2
= ((abstract_collection___Couple___second_t
)CALL( variable1
/*c*/,COLOR_abstract_collection___Couple___second
))( variable1
/*c*/) /*Couple::second*/;
843 variable1
= variable2
;
846 return_label40
: while(false);
847 tracehead
= trace
.prev
;
850 val_t
abstract_collection___CoupleMap___has_key(val_t self
, val_t param0
) {
851 struct trace_t trace
= {NULL
, NULL
, 379, LOCATE_abstract_collection___CoupleMap___has_key
};
854 trace
.prev
= tracehead
; tracehead
= &trace
;
855 trace
.file
= LOCATE_abstract_collection
;
857 variable1
= ((abstract_collection___CoupleMap___couple_at_t
)CALL( self
,COLOR_abstract_collection___CoupleMap___couple_at
))( self
, variable0
/*key*/) /*CoupleMap::couple_at*/;
858 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::==*/)))))));
860 return_label41
: while(false);
861 tracehead
= trace
.prev
;
864 val_t
abstract_collection___CoupleMapIterator___item(val_t self
) {
865 struct trace_t trace
= {NULL
, NULL
, 387, LOCATE_abstract_collection___CoupleMapIterator___item
};
867 trace
.prev
= tracehead
; tracehead
= &trace
;
868 trace
.file
= LOCATE_abstract_collection
;
869 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
870 variable0
= ((abstract_collection___Iterator___item_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___item
))(variable0
) /*Iterator::item*/;
871 variable0
= ((abstract_collection___Couple___second_t
)CALL(variable0
,COLOR_abstract_collection___Couple___second
))(variable0
) /*Couple::second*/;
873 return_label42
: while(false);
874 tracehead
= trace
.prev
;
877 void abstract_collection___CoupleMapIterator___item__eq(val_t self
, val_t param0
) {
878 struct trace_t trace
= {NULL
, NULL
, 389, LOCATE_abstract_collection___CoupleMapIterator___item__eq
};
881 trace
.prev
= tracehead
; tracehead
= &trace
;
882 trace
.file
= LOCATE_abstract_collection
;
884 variable1
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
885 variable1
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
886 ((abstract_collection___Couple___second__eq_t
)CALL(variable1
,COLOR_abstract_collection___Couple___second__eq
))(variable1
, variable0
/*e*/) /*Couple::second=*/;
887 tracehead
= trace
.prev
;
890 val_t
abstract_collection___CoupleMapIterator___key(val_t self
) {
891 struct trace_t trace
= {NULL
, NULL
, 391, LOCATE_abstract_collection___CoupleMapIterator___key
};
893 trace
.prev
= tracehead
; tracehead
= &trace
;
894 trace
.file
= LOCATE_abstract_collection
;
895 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
896 variable0
= ((abstract_collection___Iterator___item_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___item
))(variable0
) /*Iterator::item*/;
897 variable0
= ((abstract_collection___Couple___first_t
)CALL(variable0
,COLOR_abstract_collection___Couple___first
))(variable0
) /*Couple::first*/;
899 return_label44
: while(false);
900 tracehead
= trace
.prev
;
903 val_t
abstract_collection___CoupleMapIterator___is_ok(val_t self
) {
904 struct trace_t trace
= {NULL
, NULL
, 393, LOCATE_abstract_collection___CoupleMapIterator___is_ok
};
906 trace
.prev
= tracehead
; tracehead
= &trace
;
907 trace
.file
= LOCATE_abstract_collection
;
908 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
909 variable0
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___is_ok
))(variable0
) /*Iterator::is_ok*/;
911 return_label45
: while(false);
912 tracehead
= trace
.prev
;
915 void abstract_collection___CoupleMapIterator___next(val_t self
) {
916 struct trace_t trace
= {NULL
, NULL
, 395, LOCATE_abstract_collection___CoupleMapIterator___next
};
919 trace
.prev
= tracehead
; tracehead
= &trace
;
920 trace
.file
= LOCATE_abstract_collection
;
921 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
922 ((abstract_collection___Iterator___next_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___next
))(variable0
) /*Iterator::next*/;
923 while (true) { /*while*/
924 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
925 variable0
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___is_ok
))(variable0
) /*Iterator::is_ok*/;
926 variable1
= variable0
;
927 if (UNTAG_Bool(variable1
)) { /* and */
928 variable1
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
929 variable1
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
930 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::==*/)))));
932 variable0
= variable1
;
933 if (!UNTAG_Bool(variable0
)) break; /* while*/
934 variable0
= ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/;
935 ((abstract_collection___Iterator___next_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___next
))(variable0
) /*Iterator::next*/;
936 continue_47
: while(0);
939 tracehead
= trace
.prev
;
942 void abstract_collection___CoupleMapIterator___init(val_t self
, val_t param0
, int* init_table
) {
943 struct trace_t trace
= {NULL
, NULL
, 403, LOCATE_abstract_collection___CoupleMapIterator___init
};
945 trace
.prev
= tracehead
; tracehead
= &trace
;
946 trace
.file
= LOCATE_abstract_collection
;
948 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_CoupleMapIterator
].i
]) return;
949 ATTR_abstract_collection___CoupleMapIterator____iter( self
) /*CoupleMapIterator::_iter*/ = variable0
/*i*/;
950 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_CoupleMapIterator
].i
] = 1;
951 tracehead
= trace
.prev
;
954 val_t
abstract_collection___Couple___first(val_t self
) {
955 struct trace_t trace
= {NULL
, NULL
, 411, LOCATE_abstract_collection___Couple___first
};
956 trace
.prev
= tracehead
; tracehead
= &trace
;
957 trace
.file
= LOCATE_abstract_collection
;
958 tracehead
= trace
.prev
;
959 return ATTR_abstract_collection___Couple____first( self
) /*Couple::_first*/;
961 void abstract_collection___Couple___first__eq(val_t self
, val_t param0
) {
962 struct trace_t trace
= {NULL
, NULL
, 411, LOCATE_abstract_collection___Couple___first__eq
};
963 trace
.prev
= tracehead
; tracehead
= &trace
;
964 trace
.file
= LOCATE_abstract_collection
;
965 ATTR_abstract_collection___Couple____first( self
) /*Couple::_first*/ = param0
;
966 tracehead
= trace
.prev
;
969 val_t
abstract_collection___Couple___second(val_t self
) {
970 struct trace_t trace
= {NULL
, NULL
, 414, LOCATE_abstract_collection___Couple___second
};
971 trace
.prev
= tracehead
; tracehead
= &trace
;
972 trace
.file
= LOCATE_abstract_collection
;
973 tracehead
= trace
.prev
;
974 return ATTR_abstract_collection___Couple____second( self
) /*Couple::_second*/;
976 void abstract_collection___Couple___second__eq(val_t self
, val_t param0
) {
977 struct trace_t trace
= {NULL
, NULL
, 414, LOCATE_abstract_collection___Couple___second__eq
};
978 trace
.prev
= tracehead
; tracehead
= &trace
;
979 trace
.file
= LOCATE_abstract_collection
;
980 ATTR_abstract_collection___Couple____second( self
) /*Couple::_second*/ = param0
;
981 tracehead
= trace
.prev
;
984 void abstract_collection___Couple___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
985 struct trace_t trace
= {NULL
, NULL
, 417, LOCATE_abstract_collection___Couple___init
};
988 trace
.prev
= tracehead
; tracehead
= &trace
;
989 trace
.file
= LOCATE_abstract_collection
;
992 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Couple
].i
]) return;
993 ATTR_abstract_collection___Couple____first( self
) /*Couple::_first*/ = variable0
/*f*/;
994 ATTR_abstract_collection___Couple____second( self
) /*Couple::_second*/ = variable1
/*s*/;
995 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Couple
].i
] = 1;
996 tracehead
= trace
.prev
;