1 /* This C file is generated by NIT to compile module sorter. */
2 #include "sorter._sep.h"
3 val_t
sorter___AbstractSorter___compare(val_t self
, val_t param0
, val_t param1
) {
4 struct trace_t trace
= {NULL
, NULL
, 22, LOCATE_sorter___AbstractSorter___compare
};
5 val_t
*variable
= NULL
;
6 void **closurevariable
= NULL
;
7 trace
.prev
= tracehead
; tracehead
= &trace
;
8 trace
.file
= LOCATE_sorter
;
9 fprintf(stderr
, "Deferred method called");
10 fprintf(stderr
, " (%s:%d)\n", LOCATE_sorter
, 22);
12 tracehead
= trace
.prev
;
15 void sorter___AbstractSorter___sort(val_t self
, val_t param0
) {
16 struct trace_t trace
= {NULL
, NULL
, 29, LOCATE_sorter___AbstractSorter___sort
};
18 void **closurevariable
= NULL
;
19 trace
.prev
= tracehead
; tracehead
= &trace
;
20 trace
.file
= LOCATE_sorter
;
23 variable
[3] = variable
[0];
24 variable
[4] = CALL_abstract_collection___Collection___length( variable
[1] /*array*/)( variable
[1] /*array*/) /*AbstractArray::length*/;
25 variable
[4] = TAG_Int(UNTAG_Int(variable
[4])-UNTAG_Int( TAG_Int(1)));
26 CALL_sorter___AbstractSorter___sub_sort(variable
[3])(variable
[3], variable
[1] /*array*/, TAG_Int(0), variable
[4]) /*AbstractSorter::sub_sort*/;
27 return_label0
: while(false);
28 tracehead
= trace
.prev
;
31 void sorter___AbstractSorter___sub_sort(val_t self
, val_t param0
, val_t param1
, val_t param2
) {
32 struct trace_t trace
= {NULL
, NULL
, 32, LOCATE_sorter___AbstractSorter___sub_sort
};
34 void **closurevariable
= NULL
;
35 trace
.prev
= tracehead
; tracehead
= &trace
;
36 trace
.file
= LOCATE_sorter
;
41 variable
[5] = TAG_Bool(UNTAG_Int( variable
[2] /*from*/)>=UNTAG_Int( variable
[3] /*to*/));
42 if (UNTAG_Bool(variable
[5])) { /*if*/
45 variable
[5] = TAG_Int(UNTAG_Int( variable
[2] /*from*/)+UNTAG_Int( TAG_Int(7)));
46 variable
[5] = TAG_Bool(UNTAG_Int(variable
[5])<UNTAG_Int( variable
[3] /*to*/));
47 if (UNTAG_Bool(variable
[5])) { /*if*/
48 variable
[5] = variable
[0];
49 CALL_sorter___AbstractSorter___quick_sort(variable
[5])(variable
[5], variable
[1] /*array*/, variable
[2] /*from*/, variable
[3] /*to*/) /*AbstractSorter::quick_sort*/;
51 variable
[5] = variable
[0];
52 CALL_sorter___AbstractSorter___bubble_sort(variable
[5])(variable
[5], variable
[1] /*array*/, variable
[2] /*from*/, variable
[3] /*to*/) /*AbstractSorter::bubble_sort*/;
55 return_label1
: while(false);
56 tracehead
= trace
.prev
;
59 void sorter___AbstractSorter___quick_sort(val_t self
, val_t param0
, val_t param1
, val_t param2
) {
60 struct trace_t trace
= {NULL
, NULL
, 44, LOCATE_sorter___AbstractSorter___quick_sort
};
62 void **closurevariable
= NULL
;
63 trace
.prev
= tracehead
; tracehead
= &trace
;
64 trace
.file
= LOCATE_sorter
;
69 variable
[6] = variable
[1] /*array*/;
70 variable
[7] = variable
[2] /*from*/;
71 variable
[9] = TAG_Bool(UNTAG_Int( variable
[7] /*index*/)>=UNTAG_Int( TAG_Int(0)));
72 variable
[10] = variable
[9];
73 if (UNTAG_Bool(variable
[10])) { /* and */
74 variable
[10] = variable
[6];
75 variable
[10] = ATTR_array___AbstractArray____length(variable
[10]) /*AbstractArray::_length*/;
76 variable
[10] = TAG_Bool(UNTAG_Int( variable
[7] /*index*/)<UNTAG_Int(variable
[10]));
78 variable
[9] = variable
[10];
79 if (!UNTAG_Bool(variable
[9])) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_sorter
, 229); nit_exit(1);}
80 variable
[9] = variable
[6];
81 variable
[9] = ATTR_array___Array____items(variable
[9]) /*Array::_items*/;
82 variable
[9] = UNBOX_NativeArray(variable
[9])[UNTAG_Int( variable
[7] /*index*/)];
83 variable
[8] = variable
[9];
85 return_label3
: while(false);
86 variable
[6] = variable
[8];
87 variable
[5] = variable
[6];
88 variable
[6] = variable
[2] /*from*/;
89 variable
[7] = variable
[3] /*to*/;
90 while (true) { /*while*/
91 variable
[8] = TAG_Bool(UNTAG_Int( variable
[7] /*j*/)>UNTAG_Int( variable
[6] /*i*/));
92 if (!UNTAG_Bool(variable
[8])) break; /* while*/
93 while (true) { /*while*/
94 variable
[8] = TAG_Bool(UNTAG_Int( variable
[6] /*i*/)<=UNTAG_Int( variable
[3] /*to*/));
95 variable
[9] = variable
[8];
96 if (UNTAG_Bool(variable
[9])) { /* and */
97 variable
[9] = variable
[0];
98 variable
[10] = variable
[1] /*array*/;
99 variable
[11] = variable
[6] /*i*/;
100 variable
[13] = TAG_Bool(UNTAG_Int( variable
[11] /*index*/)>=UNTAG_Int( TAG_Int(0)));
101 variable
[14] = variable
[13];
102 if (UNTAG_Bool(variable
[14])) { /* and */
103 variable
[14] = variable
[10];
104 variable
[14] = ATTR_array___AbstractArray____length(variable
[14]) /*AbstractArray::_length*/;
105 variable
[14] = TAG_Bool(UNTAG_Int( variable
[11] /*index*/)<UNTAG_Int(variable
[14]));
107 variable
[13] = variable
[14];
108 if (!UNTAG_Bool(variable
[13])) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_sorter
, 229); nit_exit(1);}
109 variable
[13] = variable
[10];
110 variable
[13] = ATTR_array___Array____items(variable
[13]) /*Array::_items*/;
111 variable
[13] = UNBOX_NativeArray(variable
[13])[UNTAG_Int( variable
[11] /*index*/)];
112 variable
[12] = variable
[13];
114 return_label6
: while(false);
115 variable
[10] = variable
[12];
116 variable
[9] = CALL_sorter___AbstractSorter___compare(variable
[9])(variable
[9], variable
[10], variable
[5] /*pivot*/) /*AbstractSorter::compare*/;
117 variable
[9] = TAG_Bool(UNTAG_Int(variable
[9])<=UNTAG_Int( TAG_Int(0)));
119 variable
[8] = variable
[9];
120 if (!UNTAG_Bool(variable
[8])) break; /* while*/
121 variable
[6] = TAG_Int(UNTAG_Int(variable
[6])+UNTAG_Int( TAG_Int(1))) /*i*/;
122 continue_5
: while(0);
125 while (true) { /*while*/
126 variable
[8] = TAG_Bool(UNTAG_Int( variable
[7] /*j*/)>UNTAG_Int( variable
[6] /*i*/));
127 variable
[9] = variable
[8];
128 if (UNTAG_Bool(variable
[9])) { /* and */
129 variable
[9] = variable
[0];
130 variable
[10] = variable
[1] /*array*/;
131 variable
[11] = variable
[7] /*j*/;
132 variable
[13] = TAG_Bool(UNTAG_Int( variable
[11] /*index*/)>=UNTAG_Int( TAG_Int(0)));
133 variable
[14] = variable
[13];
134 if (UNTAG_Bool(variable
[14])) { /* and */
135 variable
[14] = variable
[10];
136 variable
[14] = ATTR_array___AbstractArray____length(variable
[14]) /*AbstractArray::_length*/;
137 variable
[14] = TAG_Bool(UNTAG_Int( variable
[11] /*index*/)<UNTAG_Int(variable
[14]));
139 variable
[13] = variable
[14];
140 if (!UNTAG_Bool(variable
[13])) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_sorter
, 229); nit_exit(1);}
141 variable
[13] = variable
[10];
142 variable
[13] = ATTR_array___Array____items(variable
[13]) /*Array::_items*/;
143 variable
[13] = UNBOX_NativeArray(variable
[13])[UNTAG_Int( variable
[11] /*index*/)];
144 variable
[12] = variable
[13];
146 return_label8
: while(false);
147 variable
[10] = variable
[12];
148 variable
[9] = CALL_sorter___AbstractSorter___compare(variable
[9])(variable
[9], variable
[10], variable
[5] /*pivot*/) /*AbstractSorter::compare*/;
149 variable
[9] = TAG_Bool(UNTAG_Int(variable
[9])>=UNTAG_Int( TAG_Int(0)));
151 variable
[8] = variable
[9];
152 if (!UNTAG_Bool(variable
[8])) break; /* while*/
153 variable
[7] = TAG_Int(UNTAG_Int(variable
[7])-UNTAG_Int( TAG_Int(1))) /*j*/;
154 continue_7
: while(0);
157 variable
[8] = TAG_Bool(UNTAG_Int( variable
[7] /*j*/)>UNTAG_Int( variable
[6] /*i*/));
158 if (UNTAG_Bool(variable
[8])) { /*if*/
159 variable
[9] = variable
[1] /*array*/;
160 variable
[10] = variable
[6] /*i*/;
161 variable
[12] = TAG_Bool(UNTAG_Int( variable
[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
162 variable
[13] = variable
[12];
163 if (UNTAG_Bool(variable
[13])) { /* and */
164 variable
[13] = variable
[9];
165 variable
[13] = ATTR_array___AbstractArray____length(variable
[13]) /*AbstractArray::_length*/;
166 variable
[13] = TAG_Bool(UNTAG_Int( variable
[10] /*index*/)<UNTAG_Int(variable
[13]));
168 variable
[12] = variable
[13];
169 if (!UNTAG_Bool(variable
[12])) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_sorter
, 229); nit_exit(1);}
170 variable
[12] = variable
[9];
171 variable
[12] = ATTR_array___Array____items(variable
[12]) /*Array::_items*/;
172 variable
[12] = UNBOX_NativeArray(variable
[12])[UNTAG_Int( variable
[10] /*index*/)];
173 variable
[11] = variable
[12];
175 return_label9
: while(false);
176 variable
[9] = variable
[11];
177 variable
[8] = variable
[9];
178 variable
[9] = variable
[1] /*array*/;
179 variable
[10] = variable
[7] /*j*/;
180 variable
[12] = TAG_Bool(UNTAG_Int( variable
[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
181 variable
[13] = variable
[12];
182 if (UNTAG_Bool(variable
[13])) { /* and */
183 variable
[13] = variable
[9];
184 variable
[13] = ATTR_array___AbstractArray____length(variable
[13]) /*AbstractArray::_length*/;
185 variable
[13] = TAG_Bool(UNTAG_Int( variable
[10] /*index*/)<UNTAG_Int(variable
[13]));
187 variable
[12] = variable
[13];
188 if (!UNTAG_Bool(variable
[12])) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_sorter
, 229); nit_exit(1);}
189 variable
[12] = variable
[9];
190 variable
[12] = ATTR_array___Array____items(variable
[12]) /*Array::_items*/;
191 variable
[12] = UNBOX_NativeArray(variable
[12])[UNTAG_Int( variable
[10] /*index*/)];
192 variable
[11] = variable
[12];
194 return_label10
: while(false);
195 variable
[9] = variable
[11];
196 CALL_abstract_collection___Map_____braeq( variable
[1] /*array*/)( variable
[1] /*array*/, variable
[6] /*i*/, variable
[9]) /*Array::[]=*/;
197 CALL_abstract_collection___Map_____braeq( variable
[1] /*array*/)( variable
[1] /*array*/, variable
[7] /*j*/, variable
[8] /*t*/) /*Array::[]=*/;
199 continue_4
: while(0);
202 variable
[8] = TAG_Int(UNTAG_Int( variable
[6] /*i*/)-UNTAG_Int( TAG_Int(1)));
203 variable
[9] = variable
[1] /*array*/;
204 variable
[10] = variable
[8];
205 variable
[12] = TAG_Bool(UNTAG_Int( variable
[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
206 variable
[13] = variable
[12];
207 if (UNTAG_Bool(variable
[13])) { /* and */
208 variable
[13] = variable
[9];
209 variable
[13] = ATTR_array___AbstractArray____length(variable
[13]) /*AbstractArray::_length*/;
210 variable
[13] = TAG_Bool(UNTAG_Int( variable
[10] /*index*/)<UNTAG_Int(variable
[13]));
212 variable
[12] = variable
[13];
213 if (!UNTAG_Bool(variable
[12])) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_sorter
, 229); nit_exit(1);}
214 variable
[12] = variable
[9];
215 variable
[12] = ATTR_array___Array____items(variable
[12]) /*Array::_items*/;
216 variable
[12] = UNBOX_NativeArray(variable
[12])[UNTAG_Int( variable
[10] /*index*/)];
217 variable
[11] = variable
[12];
219 return_label11
: while(false);
220 variable
[8] = variable
[11];
221 CALL_abstract_collection___Map_____braeq( variable
[1] /*array*/)( variable
[1] /*array*/, variable
[2] /*from*/, variable
[8]) /*Array::[]=*/;
222 variable
[8] = TAG_Int(UNTAG_Int( variable
[6] /*i*/)-UNTAG_Int( TAG_Int(1)));
223 CALL_abstract_collection___Map_____braeq( variable
[1] /*array*/)( variable
[1] /*array*/, variable
[8], variable
[5] /*pivot*/) /*Array::[]=*/;
224 variable
[8] = variable
[0];
225 variable
[9] = TAG_Int(UNTAG_Int( variable
[6] /*i*/)-UNTAG_Int( TAG_Int(2)));
226 CALL_sorter___AbstractSorter___sub_sort(variable
[8])(variable
[8], variable
[1] /*array*/, variable
[2] /*from*/, variable
[9]) /*AbstractSorter::sub_sort*/;
227 variable
[8] = variable
[0];
228 CALL_sorter___AbstractSorter___sub_sort(variable
[8])(variable
[8], variable
[1] /*array*/, variable
[6] /*i*/, variable
[3] /*to*/) /*AbstractSorter::sub_sort*/;
229 return_label2
: while(false);
230 tracehead
= trace
.prev
;
233 void sorter___AbstractSorter___bubble_sort(val_t self
, val_t param0
, val_t param1
, val_t param2
) {
234 struct trace_t trace
= {NULL
, NULL
, 65, LOCATE_sorter___AbstractSorter___bubble_sort
};
236 void **closurevariable
= NULL
;
237 trace
.prev
= tracehead
; tracehead
= &trace
;
238 trace
.file
= LOCATE_sorter
;
240 variable
[1] = param0
;
241 variable
[2] = param1
;
242 variable
[3] = param2
;
243 variable
[5] = variable
[2] /*from*/;
244 while (true) { /*while*/
245 variable
[6] = TAG_Bool(UNTAG_Int( variable
[5] /*i*/)<UNTAG_Int( variable
[3] /*to*/));
246 if (!UNTAG_Bool(variable
[6])) break; /* while*/
247 variable
[6] = variable
[5] /*i*/;
248 variable
[8] = variable
[1] /*array*/;
249 variable
[9] = variable
[5] /*i*/;
250 variable
[11] = TAG_Bool(UNTAG_Int( variable
[9] /*index*/)>=UNTAG_Int( TAG_Int(0)));
251 variable
[12] = variable
[11];
252 if (UNTAG_Bool(variable
[12])) { /* and */
253 variable
[12] = variable
[8];
254 variable
[12] = ATTR_array___AbstractArray____length(variable
[12]) /*AbstractArray::_length*/;
255 variable
[12] = TAG_Bool(UNTAG_Int( variable
[9] /*index*/)<UNTAG_Int(variable
[12]));
257 variable
[11] = variable
[12];
258 if (!UNTAG_Bool(variable
[11])) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_sorter
, 229); nit_exit(1);}
259 variable
[11] = variable
[8];
260 variable
[11] = ATTR_array___Array____items(variable
[11]) /*Array::_items*/;
261 variable
[11] = UNBOX_NativeArray(variable
[11])[UNTAG_Int( variable
[9] /*index*/)];
262 variable
[10] = variable
[11];
264 return_label14
: while(false);
265 variable
[8] = variable
[10];
266 variable
[7] = variable
[8];
267 variable
[8] = variable
[5] /*i*/;
268 while (true) { /*while*/
269 variable
[9] = TAG_Bool(UNTAG_Int( variable
[8] /*j*/)<=UNTAG_Int( variable
[3] /*to*/));
270 if (!UNTAG_Bool(variable
[9])) break; /* while*/
271 variable
[9] = variable
[0];
272 variable
[10] = variable
[1] /*array*/;
273 variable
[11] = variable
[8] /*j*/;
274 variable
[13] = TAG_Bool(UNTAG_Int( variable
[11] /*index*/)>=UNTAG_Int( TAG_Int(0)));
275 variable
[14] = variable
[13];
276 if (UNTAG_Bool(variable
[14])) { /* and */
277 variable
[14] = variable
[10];
278 variable
[14] = ATTR_array___AbstractArray____length(variable
[14]) /*AbstractArray::_length*/;
279 variable
[14] = TAG_Bool(UNTAG_Int( variable
[11] /*index*/)<UNTAG_Int(variable
[14]));
281 variable
[13] = variable
[14];
282 if (!UNTAG_Bool(variable
[13])) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_sorter
, 229); nit_exit(1);}
283 variable
[13] = variable
[10];
284 variable
[13] = ATTR_array___Array____items(variable
[13]) /*Array::_items*/;
285 variable
[13] = UNBOX_NativeArray(variable
[13])[UNTAG_Int( variable
[11] /*index*/)];
286 variable
[12] = variable
[13];
288 return_label16
: while(false);
289 variable
[10] = variable
[12];
290 variable
[9] = CALL_sorter___AbstractSorter___compare(variable
[9])(variable
[9], variable
[7] /*min_v*/, variable
[10]) /*AbstractSorter::compare*/;
291 variable
[9] = TAG_Bool(UNTAG_Int(variable
[9])>UNTAG_Int( TAG_Int(0)));
292 if (UNTAG_Bool(variable
[9])) { /*if*/
293 variable
[6] = variable
[8] /*j*/ /*min=*/;
294 variable
[9] = variable
[1] /*array*/;
295 variable
[10] = variable
[8] /*j*/;
296 variable
[12] = TAG_Bool(UNTAG_Int( variable
[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
297 variable
[13] = variable
[12];
298 if (UNTAG_Bool(variable
[13])) { /* and */
299 variable
[13] = variable
[9];
300 variable
[13] = ATTR_array___AbstractArray____length(variable
[13]) /*AbstractArray::_length*/;
301 variable
[13] = TAG_Bool(UNTAG_Int( variable
[10] /*index*/)<UNTAG_Int(variable
[13]));
303 variable
[12] = variable
[13];
304 if (!UNTAG_Bool(variable
[12])) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_sorter
, 229); nit_exit(1);}
305 variable
[12] = variable
[9];
306 variable
[12] = ATTR_array___Array____items(variable
[12]) /*Array::_items*/;
307 variable
[12] = UNBOX_NativeArray(variable
[12])[UNTAG_Int( variable
[10] /*index*/)];
308 variable
[11] = variable
[12];
310 return_label17
: while(false);
311 variable
[9] = variable
[11];
312 variable
[7] = variable
[9] /*min_v=*/;
314 variable
[8] = TAG_Int(UNTAG_Int(variable
[8])+UNTAG_Int( TAG_Int(1))) /*j*/;
315 continue_15
: while(0);
318 variable
[9] = TAG_Bool(( variable
[6] /*min*/)!=( variable
[5] /*i*/));
319 if (UNTAG_Bool(variable
[9])) { /*if*/
320 variable
[9] = variable
[1] /*array*/;
321 variable
[10] = variable
[5] /*i*/;
322 variable
[12] = TAG_Bool(UNTAG_Int( variable
[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
323 variable
[13] = variable
[12];
324 if (UNTAG_Bool(variable
[13])) { /* and */
325 variable
[13] = variable
[9];
326 variable
[13] = ATTR_array___AbstractArray____length(variable
[13]) /*AbstractArray::_length*/;
327 variable
[13] = TAG_Bool(UNTAG_Int( variable
[10] /*index*/)<UNTAG_Int(variable
[13]));
329 variable
[12] = variable
[13];
330 if (!UNTAG_Bool(variable
[12])) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_sorter
, 229); nit_exit(1);}
331 variable
[12] = variable
[9];
332 variable
[12] = ATTR_array___Array____items(variable
[12]) /*Array::_items*/;
333 variable
[12] = UNBOX_NativeArray(variable
[12])[UNTAG_Int( variable
[10] /*index*/)];
334 variable
[11] = variable
[12];
336 return_label18
: while(false);
337 variable
[9] = variable
[11];
338 CALL_abstract_collection___Map_____braeq( variable
[1] /*array*/)( variable
[1] /*array*/, variable
[6] /*min*/, variable
[9]) /*Array::[]=*/;
339 CALL_abstract_collection___Map_____braeq( variable
[1] /*array*/)( variable
[1] /*array*/, variable
[5] /*i*/, variable
[7] /*min_v*/) /*Array::[]=*/;
341 variable
[5] = TAG_Int(UNTAG_Int(variable
[5])+UNTAG_Int( TAG_Int(1))) /*i*/;
342 continue_13
: while(0);
345 return_label12
: while(false);
346 tracehead
= trace
.prev
;
349 void sorter___AbstractSorter___init(val_t self
, int* init_table
) {
350 struct trace_t trace
= {NULL
, NULL
, 0, LOCATE_sorter___AbstractSorter___init
};
351 val_t
*variable
= NULL
;
352 void **closurevariable
= NULL
;
353 trace
.prev
= tracehead
; tracehead
= &trace
;
354 trace
.file
= LOCATE_sorter
;
355 tracehead
= trace
.prev
;
358 val_t
sorter___ComparableSorter___compare(val_t self
, val_t param0
, val_t param1
) {
359 struct trace_t trace
= {NULL
, NULL
, 93, LOCATE_sorter___ComparableSorter___compare
};
361 void **closurevariable
= NULL
;
362 trace
.prev
= tracehead
; tracehead
= &trace
;
363 trace
.file
= LOCATE_sorter
;
365 variable
[1] = param0
;
366 variable
[2] = param1
;
367 variable
[4] = CALL_kernel___Comparable_____leqg( variable
[1] /*a*/)( variable
[1] /*a*/, variable
[2] /*b*/) /*Comparable::<=>*/;
368 variable
[3] = variable
[4];
370 return_label19
: while(false);
371 tracehead
= trace
.prev
;
374 void sorter___ComparableSorter___init(val_t self
, int* init_table
) {
375 struct trace_t trace
= {NULL
, NULL
, 96, LOCATE_sorter___ComparableSorter___init
};
377 void **closurevariable
= NULL
;
378 trace
.prev
= tracehead
; tracehead
= &trace
;
379 trace
.file
= LOCATE_sorter
;
381 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ComparableSorter
].i
]) return;
382 return_label20
: while(false);
383 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ComparableSorter
].i
] = 1;
384 tracehead
= trace
.prev
;