misc: update Changelog and NOTICE; remove BUGS and TODO
[nit.git] / c_src / kernel._sep.c
1 /* This C file is generated by NIT to compile module kernel. */
2 #include "kernel._sep.h"
3 val_t kernel___Object___object_id(val_t self) {
4 struct trace_t trace = {NULL, NULL, 26, LOCATE_kernel___Object___object_id};
5 val_t *variable = NULL;
6 struct WBT_ **closurevariable = NULL;
7 trace.prev = tracehead; tracehead = &trace;
8 trace.file = LOCATE_kernel;
9 tracehead = trace.prev;
10 return TAG_Int((bigint) self);
11 }
12 val_t kernel___Object___is_same_type(val_t self, val_t param0) {
13 struct trace_t trace = {NULL, NULL, 29, LOCATE_kernel___Object___is_same_type};
14 val_t *variable = NULL;
15 struct WBT_ **closurevariable = NULL;
16 trace.prev = tracehead; tracehead = &trace;
17 trace.file = LOCATE_kernel;
18 tracehead = trace.prev;
19 return TAG_Bool((VAL2VFT( self)==VAL2VFT( param0)));
20 }
21 val_t kernel___Object_____eqeq(val_t self, val_t param0) {
22 struct trace_t trace = {NULL, NULL, 32, LOCATE_kernel___Object_____eqeq};
23 val_t variable[4];
24 struct WBT_ **closurevariable = NULL;
25 trace.prev = tracehead; tracehead = &trace;
26 trace.file = LOCATE_kernel;
27 /* Register variable[0]: Local variable */
28 variable[0] = self;
29 /* Register variable[1]: Local variable */
30 variable[1] = param0;
31 /* Register variable[2]: Method return value and escape marker */
32 /* Register variable[3]: Result */
33 variable[3] = TAG_Bool(IS_EQUAL_NN(variable[0], variable[1] /*other*/));
34 variable[2] = variable[3];
35 goto return_label0;
36 return_label0: while(false);
37 tracehead = trace.prev;
38 return variable[2];
39 }
40 val_t kernel___Object_____neq(val_t self, val_t param0) {
41 struct trace_t trace = {NULL, NULL, 37, LOCATE_kernel___Object_____neq};
42 val_t variable[4];
43 struct WBT_ **closurevariable = NULL;
44 trace.prev = tracehead; tracehead = &trace;
45 trace.file = LOCATE_kernel;
46 /* Register variable[0]: Local variable */
47 variable[0] = self;
48 /* Register variable[1]: Local variable */
49 variable[1] = param0;
50 /* Register variable[2]: Method return value and escape marker */
51 /* Register variable[3]: Result */
52 variable[3] = TAG_Bool((variable[0] == variable[1] /*other*/) || ((variable[0] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[0])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[0], variable[1] /*other*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[0])(variable[0], variable[1] /*other*/) /*Object::==*/)))));
53 variable[2] = TAG_Bool(!UNTAG_Bool(variable[3]));
54 goto return_label1;
55 return_label1: while(false);
56 tracehead = trace.prev;
57 return variable[2];
58 }
59 void kernel___Object___output(val_t self) {
60 struct trace_t trace = {NULL, NULL, 42, LOCATE_kernel___Object___output};
61 val_t variable[3];
62 struct WBT_ **closurevariable = NULL;
63 trace.prev = tracehead; tracehead = &trace;
64 trace.file = LOCATE_kernel;
65 /* Register variable[0]: Local variable */
66 variable[0] = self;
67 /* Register variable[1]: Method return value and escape marker */
68 printf("%c", (unsigned char)UNTAG_Char( TAG_Char('<')));
69 /* Register variable[2]: Result */
70 variable[2] = TAG_Int((bigint)variable[0]);
71 printf("%ld\n", UNTAG_Int(variable[2]));
72 printf("%c", (unsigned char)UNTAG_Char( TAG_Char('>')));
73 return_label2: while(false);
74 tracehead = trace.prev;
75 return;
76 }
77 void kernel___Object___exit(val_t self, val_t param0) {
78 struct trace_t trace = {NULL, NULL, 50, LOCATE_kernel___Object___exit};
79 val_t *variable = NULL;
80 struct WBT_ **closurevariable = NULL;
81 trace.prev = tracehead; tracehead = &trace;
82 trace.file = LOCATE_kernel;
83 exit(UNTAG_Int( param0));
84 tracehead = trace.prev;
85 return;
86 }
87 val_t kernel___Object___sys(val_t self) {
88 struct trace_t trace = {NULL, NULL, 51, LOCATE_kernel___Object___sys};
89 val_t *variable = NULL;
90 struct WBT_ **closurevariable = NULL;
91 trace.prev = tracehead; tracehead = &trace;
92 trace.file = LOCATE_kernel;
93 tracehead = trace.prev;
94 return (G_sys);
95 }
96 void kernel___Sys___main(val_t self) {
97 struct trace_t trace = {NULL, NULL, 56, LOCATE_kernel___Sys___main};
98 val_t variable[2];
99 struct WBT_ **closurevariable = NULL;
100 trace.prev = tracehead; tracehead = &trace;
101 trace.file = LOCATE_kernel;
102 /* Register variable[0]: Local variable */
103 variable[0] = self;
104 /* Register variable[1]: Method return value and escape marker */
105 return_label3: while(false);
106 tracehead = trace.prev;
107 return;
108 }
109 void kernel___Sys___init(val_t self, int* init_table) {
110 struct trace_t trace = {NULL, NULL, 0, LOCATE_kernel___Sys___init};
111 val_t *variable = NULL;
112 struct WBT_ **closurevariable = NULL;
113 trace.prev = tracehead; tracehead = &trace;
114 trace.file = LOCATE_kernel;
115 tracehead = trace.prev;
116 return;
117 }
118 val_t kernel___Comparable_____l(val_t self, val_t param0) {
119 struct trace_t trace = {NULL, NULL, 69, LOCATE_kernel___Comparable_____l};
120 val_t *variable = NULL;
121 struct WBT_ **closurevariable = NULL;
122 trace.prev = tracehead; tracehead = &trace;
123 trace.file = LOCATE_kernel;
124 fprintf(stderr, "Deferred method called");
125 fprintf(stderr, " (%s:%d)\n", LOCATE_kernel, 69);
126 nit_exit(1);
127 tracehead = trace.prev;
128 return NIT_NULL;
129 }
130 val_t kernel___Comparable_____leq(val_t self, val_t param0) {
131 struct trace_t trace = {NULL, NULL, 72, LOCATE_kernel___Comparable_____leq};
132 val_t variable[4];
133 struct WBT_ **closurevariable = NULL;
134 trace.prev = tracehead; tracehead = &trace;
135 trace.file = LOCATE_kernel;
136 /* Register variable[0]: Local variable */
137 variable[0] = self;
138 /* Register variable[1]: Local variable */
139 variable[1] = param0;
140 /* Register variable[2]: Method return value and escape marker */
141 /* Register variable[3]: Result */
142 variable[3] = CALL_kernel___Comparable_____l( variable[1] /*other*/)( variable[1] /*other*/, variable[0]) /*Comparable::<*/;
143 variable[2] = TAG_Bool(!UNTAG_Bool(variable[3]));
144 goto return_label4;
145 return_label4: while(false);
146 tracehead = trace.prev;
147 return variable[2];
148 }
149 val_t kernel___Comparable_____geq(val_t self, val_t param0) {
150 struct trace_t trace = {NULL, NULL, 75, LOCATE_kernel___Comparable_____geq};
151 val_t variable[4];
152 struct WBT_ **closurevariable = NULL;
153 trace.prev = tracehead; tracehead = &trace;
154 trace.file = LOCATE_kernel;
155 /* Register variable[0]: Local variable */
156 variable[0] = self;
157 /* Register variable[1]: Local variable */
158 variable[1] = param0;
159 /* Register variable[2]: Method return value and escape marker */
160 /* Register variable[3]: Result */
161 variable[3] = CALL_kernel___Comparable_____l(variable[0])(variable[0], variable[1] /*other*/) /*Comparable::<*/;
162 variable[2] = TAG_Bool(!UNTAG_Bool(variable[3]));
163 goto return_label5;
164 return_label5: while(false);
165 tracehead = trace.prev;
166 return variable[2];
167 }
168 val_t kernel___Comparable_____g(val_t self, val_t param0) {
169 struct trace_t trace = {NULL, NULL, 78, LOCATE_kernel___Comparable_____g};
170 val_t variable[4];
171 struct WBT_ **closurevariable = NULL;
172 trace.prev = tracehead; tracehead = &trace;
173 trace.file = LOCATE_kernel;
174 /* Register variable[0]: Local variable */
175 variable[0] = self;
176 /* Register variable[1]: Local variable */
177 variable[1] = param0;
178 /* Register variable[2]: Method return value and escape marker */
179 /* Register variable[3]: Result */
180 variable[3] = CALL_kernel___Comparable_____l( variable[1] /*other*/)( variable[1] /*other*/, variable[0]) /*Comparable::<*/;
181 variable[2] = variable[3];
182 goto return_label6;
183 return_label6: while(false);
184 tracehead = trace.prev;
185 return variable[2];
186 }
187 val_t kernel___Comparable_____leqg(val_t self, val_t param0) {
188 struct trace_t trace = {NULL, NULL, 81, LOCATE_kernel___Comparable_____leqg};
189 val_t variable[4];
190 struct WBT_ **closurevariable = NULL;
191 trace.prev = tracehead; tracehead = &trace;
192 trace.file = LOCATE_kernel;
193 /* Register variable[0]: Local variable */
194 variable[0] = self;
195 /* Register variable[1]: Local variable */
196 variable[1] = param0;
197 /* Register variable[2]: Method return value and escape marker */
198 /* Register variable[3]: Result */
199 variable[3] = CALL_kernel___Comparable_____l(variable[0])(variable[0], variable[1] /*other*/) /*Comparable::<*/;
200 if (UNTAG_Bool(variable[3])) { /*if*/
201 /* Register variable[3]: Result */
202 variable[3] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
203 variable[2] = variable[3];
204 goto return_label7;
205 } else { /*if*/
206 /* Register variable[3]: Result */
207 variable[3] = CALL_kernel___Comparable_____l( variable[1] /*other*/)( variable[1] /*other*/, variable[0]) /*Comparable::<*/;
208 if (UNTAG_Bool(variable[3])) { /*if*/
209 variable[2] = TAG_Int(1);
210 goto return_label7;
211 } else { /*if*/
212 variable[2] = TAG_Int(0);
213 goto return_label7;
214 }
215 }
216 return_label7: while(false);
217 tracehead = trace.prev;
218 return variable[2];
219 }
220 val_t kernel___Comparable___is_between(val_t self, val_t param0, val_t param1) {
221 struct trace_t trace = {NULL, NULL, 93, LOCATE_kernel___Comparable___is_between};
222 val_t variable[5];
223 struct WBT_ **closurevariable = NULL;
224 trace.prev = tracehead; tracehead = &trace;
225 trace.file = LOCATE_kernel;
226 /* Register variable[0]: Local variable */
227 variable[0] = self;
228 /* Register variable[1]: Local variable */
229 variable[1] = param0;
230 /* Register variable[2]: Local variable */
231 variable[2] = param1;
232 /* Register variable[3]: Method return value and escape marker */
233 /* Register variable[4]: Result */
234 variable[4] = CALL_kernel___Comparable_____leq( variable[1] /*c*/)( variable[1] /*c*/, variable[0]) /*Comparable::<=*/;
235 /* Ensure var variable[4]: Left 'and' operand*/
236 if (UNTAG_Bool(variable[4])) { /* and */
237 /* Register variable[4]: Result */
238 variable[4] = CALL_kernel___Comparable_____leq(variable[0])(variable[0], variable[2] /*d*/) /*Comparable::<=*/;
239 }
240 /* Register variable[4]: Result */
241 variable[3] = variable[4];
242 goto return_label8;
243 return_label8: while(false);
244 tracehead = trace.prev;
245 return variable[3];
246 }
247 val_t kernel___Comparable___max(val_t self, val_t param0) {
248 struct trace_t trace = {NULL, NULL, 99, LOCATE_kernel___Comparable___max};
249 val_t variable[4];
250 struct WBT_ **closurevariable = NULL;
251 trace.prev = tracehead; tracehead = &trace;
252 trace.file = LOCATE_kernel;
253 /* Register variable[0]: Local variable */
254 variable[0] = self;
255 /* Register variable[1]: Local variable */
256 variable[1] = param0;
257 /* Register variable[2]: Method return value and escape marker */
258 /* Register variable[3]: Result */
259 variable[3] = CALL_kernel___Comparable_____l(variable[0])(variable[0], variable[1] /*other*/) /*Comparable::<*/;
260 if (UNTAG_Bool(variable[3])) { /*if*/
261 variable[2] = variable[1] /*other*/;
262 goto return_label9;
263 } else { /*if*/
264 variable[2] = variable[0];
265 goto return_label9;
266 }
267 return_label9: while(false);
268 tracehead = trace.prev;
269 return variable[2];
270 }
271 val_t kernel___Comparable___min(val_t self, val_t param0) {
272 struct trace_t trace = {NULL, NULL, 109, LOCATE_kernel___Comparable___min};
273 val_t variable[4];
274 struct WBT_ **closurevariable = NULL;
275 trace.prev = tracehead; tracehead = &trace;
276 trace.file = LOCATE_kernel;
277 /* Register variable[0]: Local variable */
278 variable[0] = self;
279 /* Register variable[1]: Local variable */
280 variable[1] = param0;
281 /* Register variable[2]: Method return value and escape marker */
282 /* Register variable[3]: Result */
283 variable[3] = CALL_kernel___Comparable_____l( variable[1] /*c*/)( variable[1] /*c*/, variable[0]) /*Comparable::<*/;
284 if (UNTAG_Bool(variable[3])) { /*if*/
285 variable[2] = variable[1] /*c*/;
286 goto return_label10;
287 } else { /*if*/
288 variable[2] = variable[0];
289 goto return_label10;
290 }
291 return_label10: while(false);
292 tracehead = trace.prev;
293 return variable[2];
294 }
295 val_t kernel___Discrete___succ(val_t self) {
296 struct trace_t trace = {NULL, NULL, 126, LOCATE_kernel___Discrete___succ};
297 val_t variable[3];
298 struct WBT_ **closurevariable = NULL;
299 trace.prev = tracehead; tracehead = &trace;
300 trace.file = LOCATE_kernel;
301 /* Register variable[0]: Local variable */
302 variable[0] = self;
303 /* Register variable[1]: Method return value and escape marker */
304 /* Register variable[2]: Result */
305 variable[2] = CALL_kernel___Discrete_____plus(variable[0])(variable[0], TAG_Int(1)) /*Discrete::+*/;
306 variable[1] = variable[2];
307 goto return_label11;
308 return_label11: while(false);
309 tracehead = trace.prev;
310 return variable[1];
311 }
312 val_t kernel___Discrete___prec(val_t self) {
313 struct trace_t trace = {NULL, NULL, 129, LOCATE_kernel___Discrete___prec};
314 val_t variable[3];
315 struct WBT_ **closurevariable = NULL;
316 trace.prev = tracehead; tracehead = &trace;
317 trace.file = LOCATE_kernel;
318 /* Register variable[0]: Local variable */
319 variable[0] = self;
320 /* Register variable[1]: Method return value and escape marker */
321 /* Register variable[2]: Result */
322 variable[2] = CALL_kernel___Discrete_____minus(variable[0])(variable[0], TAG_Int(1)) /*Discrete::-*/;
323 variable[1] = variable[2];
324 goto return_label12;
325 return_label12: while(false);
326 tracehead = trace.prev;
327 return variable[1];
328 }
329 val_t kernel___Discrete_____plus(val_t self, val_t param0) {
330 struct trace_t trace = {NULL, NULL, 132, LOCATE_kernel___Discrete_____plus};
331 val_t *variable = NULL;
332 struct WBT_ **closurevariable = NULL;
333 trace.prev = tracehead; tracehead = &trace;
334 trace.file = LOCATE_kernel;
335 fprintf(stderr, "Deferred method called");
336 fprintf(stderr, " (%s:%d)\n", LOCATE_kernel, 132);
337 nit_exit(1);
338 tracehead = trace.prev;
339 return NIT_NULL;
340 }
341 val_t kernel___Discrete_____minus(val_t self, val_t param0) {
342 struct trace_t trace = {NULL, NULL, 135, LOCATE_kernel___Discrete_____minus};
343 val_t *variable = NULL;
344 struct WBT_ **closurevariable = NULL;
345 trace.prev = tracehead; tracehead = &trace;
346 trace.file = LOCATE_kernel;
347 fprintf(stderr, "Deferred method called");
348 fprintf(stderr, " (%s:%d)\n", LOCATE_kernel, 135);
349 nit_exit(1);
350 tracehead = trace.prev;
351 return NIT_NULL;
352 }
353 val_t kernel___Discrete___distance(val_t self, val_t param0) {
354 struct trace_t trace = {NULL, NULL, 138, LOCATE_kernel___Discrete___distance};
355 val_t variable[7];
356 struct WBT_ **closurevariable = NULL;
357 trace.prev = tracehead; tracehead = &trace;
358 trace.file = LOCATE_kernel;
359 /* Register variable[0]: Local variable */
360 variable[0] = self;
361 /* Register variable[1]: Local variable */
362 variable[1] = param0;
363 /* Register variable[2]: Method return value and escape marker */
364 /* Register variable[3]: Local variable */
365 /*variable[3] is variable cursor*/
366 /* Register variable[4]: Local variable */
367 /*variable[4] is variable stop*/
368 /* Register variable[5]: Result */
369 variable[5] = CALL_kernel___Comparable_____l(variable[0])(variable[0], variable[1] /*d*/) /*Comparable::<*/;
370 if (UNTAG_Bool(variable[5])) { /*if*/
371 variable[3] = variable[0] /*cursor=*/;
372 variable[4] = variable[1] /*d*/ /*stop=*/;
373 } else { /*if*/
374 /* Register variable[5]: Result */
375 variable[5] = CALL_kernel___Comparable_____g(variable[0])(variable[0], variable[1] /*d*/) /*Comparable::>*/;
376 if (UNTAG_Bool(variable[5])) { /*if*/
377 variable[3] = variable[1] /*d*/ /*cursor=*/;
378 variable[4] = variable[0] /*stop=*/;
379 } else { /*if*/
380 variable[2] = TAG_Int(0);
381 goto return_label13;
382 }
383 }
384 /* Register variable[5]: Local variable */
385 variable[5] = TAG_Int(0);
386 while (true) { /*while*/
387 /* Register variable[6]: Result */
388 variable[6] = CALL_kernel___Comparable_____l( variable[3] /*cursor*/)( variable[3] /*cursor*/, variable[4] /*stop*/) /*Comparable::<*/;
389 if (!UNTAG_Bool(variable[6])) break; /* while*/
390 /* Register variable[6]: Result */
391 variable[6] = CALL_kernel___Discrete___succ( variable[3] /*cursor*/)( variable[3] /*cursor*/) /*Discrete::succ*/;
392 variable[3] = variable[6] /*cursor=*/;
393 variable[5] = TAG_Int(UNTAG_Int(variable[5])+UNTAG_Int( TAG_Int(1))) /*nb*/;
394 continue_14: while(0);
395 }
396 break_14: while(0);
397 variable[2] = variable[5] /*nb*/;
398 goto return_label13;
399 return_label13: while(false);
400 tracehead = trace.prev;
401 return variable[2];
402 }
403 val_t kernel___Bool___object_id(val_t self) {
404 struct trace_t trace = {NULL, NULL, 174, LOCATE_kernel___Bool___object_id};
405 val_t *variable = NULL;
406 struct WBT_ **closurevariable = NULL;
407 trace.prev = tracehead; tracehead = &trace;
408 trace.file = LOCATE_kernel;
409 tracehead = trace.prev;
410 return TAG_Int(UNTAG_Bool( self));
411 }
412 val_t kernel___Bool_____eqeq(val_t self, val_t param0) {
413 struct trace_t trace = {NULL, NULL, 175, LOCATE_kernel___Bool_____eqeq};
414 val_t *variable = NULL;
415 struct WBT_ **closurevariable = NULL;
416 trace.prev = tracehead; tracehead = &trace;
417 trace.file = LOCATE_kernel;
418 tracehead = trace.prev;
419 return TAG_Bool(( self)==( param0));
420 }
421 val_t kernel___Bool_____neq(val_t self, val_t param0) {
422 struct trace_t trace = {NULL, NULL, 176, LOCATE_kernel___Bool_____neq};
423 val_t *variable = NULL;
424 struct WBT_ **closurevariable = NULL;
425 trace.prev = tracehead; tracehead = &trace;
426 trace.file = LOCATE_kernel;
427 tracehead = trace.prev;
428 return TAG_Bool(( self)!=( param0));
429 }
430 void kernel___Bool___output(val_t self) {
431 struct trace_t trace = {NULL, NULL, 177, LOCATE_kernel___Bool___output};
432 val_t *variable = NULL;
433 struct WBT_ **closurevariable = NULL;
434 trace.prev = tracehead; tracehead = &trace;
435 trace.file = LOCATE_kernel;
436 (void)printf(UNTAG_Bool( self)?"true\n":"false\n");
437 tracehead = trace.prev;
438 return;
439 }
440 val_t kernel___Float___object_id(val_t self) {
441 struct trace_t trace = {NULL, NULL, 183, LOCATE_kernel___Float___object_id};
442 val_t *variable = NULL;
443 struct WBT_ **closurevariable = NULL;
444 trace.prev = tracehead; tracehead = &trace;
445 trace.file = LOCATE_kernel;
446 tracehead = trace.prev;
447 return TAG_Int((bigint)UNBOX_Float( self));
448 }
449 void kernel___Float___output(val_t self) {
450 struct trace_t trace = {NULL, NULL, 184, LOCATE_kernel___Float___output};
451 val_t *variable = NULL;
452 struct WBT_ **closurevariable = NULL;
453 trace.prev = tracehead; tracehead = &trace;
454 trace.file = LOCATE_kernel;
455 printf("%f\n", UNBOX_Float( self));
456 tracehead = trace.prev;
457 return;
458 }
459 val_t kernel___Float_____leq(val_t self, val_t param0) {
460 struct trace_t trace = {NULL, NULL, 186, LOCATE_kernel___Float_____leq};
461 val_t *variable = NULL;
462 struct WBT_ **closurevariable = NULL;
463 trace.prev = tracehead; tracehead = &trace;
464 trace.file = LOCATE_kernel;
465 tracehead = trace.prev;
466 return TAG_Bool(UNBOX_Float( self)<=UNBOX_Float( param0));
467 }
468 val_t kernel___Float_____l(val_t self, val_t param0) {
469 struct trace_t trace = {NULL, NULL, 187, LOCATE_kernel___Float_____l};
470 val_t *variable = NULL;
471 struct WBT_ **closurevariable = NULL;
472 trace.prev = tracehead; tracehead = &trace;
473 trace.file = LOCATE_kernel;
474 tracehead = trace.prev;
475 return TAG_Bool(UNBOX_Float( self)<UNBOX_Float( param0));
476 }
477 val_t kernel___Float_____geq(val_t self, val_t param0) {
478 struct trace_t trace = {NULL, NULL, 188, LOCATE_kernel___Float_____geq};
479 val_t *variable = NULL;
480 struct WBT_ **closurevariable = NULL;
481 trace.prev = tracehead; tracehead = &trace;
482 trace.file = LOCATE_kernel;
483 tracehead = trace.prev;
484 return TAG_Bool(UNBOX_Float( self)>=UNBOX_Float( param0));
485 }
486 val_t kernel___Float_____g(val_t self, val_t param0) {
487 struct trace_t trace = {NULL, NULL, 189, LOCATE_kernel___Float_____g};
488 val_t *variable = NULL;
489 struct WBT_ **closurevariable = NULL;
490 trace.prev = tracehead; tracehead = &trace;
491 trace.file = LOCATE_kernel;
492 tracehead = trace.prev;
493 return TAG_Bool(UNBOX_Float( self)>UNBOX_Float( param0));
494 }
495 val_t kernel___Float_____plus(val_t self, val_t param0) {
496 struct trace_t trace = {NULL, NULL, 190, LOCATE_kernel___Float_____plus};
497 val_t *variable = NULL;
498 struct WBT_ **closurevariable = NULL;
499 trace.prev = tracehead; tracehead = &trace;
500 trace.file = LOCATE_kernel;
501 tracehead = trace.prev;
502 return BOX_Float(UNBOX_Float( self)+UNBOX_Float( param0));
503 }
504 val_t kernel___Float___unary__minus(val_t self) {
505 struct trace_t trace = {NULL, NULL, 191, LOCATE_kernel___Float___unary__minus};
506 val_t *variable = NULL;
507 struct WBT_ **closurevariable = NULL;
508 trace.prev = tracehead; tracehead = &trace;
509 trace.file = LOCATE_kernel;
510 tracehead = trace.prev;
511 return BOX_Float(-UNBOX_Float( self));
512 }
513 val_t kernel___Float_____minus(val_t self, val_t param0) {
514 struct trace_t trace = {NULL, NULL, 192, LOCATE_kernel___Float_____minus};
515 val_t *variable = NULL;
516 struct WBT_ **closurevariable = NULL;
517 trace.prev = tracehead; tracehead = &trace;
518 trace.file = LOCATE_kernel;
519 tracehead = trace.prev;
520 return BOX_Float(UNBOX_Float( self)-UNBOX_Float( param0));
521 }
522 val_t kernel___Float_____star(val_t self, val_t param0) {
523 struct trace_t trace = {NULL, NULL, 193, LOCATE_kernel___Float_____star};
524 val_t *variable = NULL;
525 struct WBT_ **closurevariable = NULL;
526 trace.prev = tracehead; tracehead = &trace;
527 trace.file = LOCATE_kernel;
528 tracehead = trace.prev;
529 return BOX_Float(UNBOX_Float( self)*UNBOX_Float( param0));
530 }
531 val_t kernel___Float_____slash(val_t self, val_t param0) {
532 struct trace_t trace = {NULL, NULL, 194, LOCATE_kernel___Float_____slash};
533 val_t *variable = NULL;
534 struct WBT_ **closurevariable = NULL;
535 trace.prev = tracehead; tracehead = &trace;
536 trace.file = LOCATE_kernel;
537 tracehead = trace.prev;
538 return BOX_Float(UNBOX_Float( self)/UNBOX_Float( param0));
539 }
540 val_t kernel___Float___to_i(val_t self) {
541 struct trace_t trace = {NULL, NULL, 196, LOCATE_kernel___Float___to_i};
542 val_t *variable = NULL;
543 struct WBT_ **closurevariable = NULL;
544 trace.prev = tracehead; tracehead = &trace;
545 trace.file = LOCATE_kernel;
546 tracehead = trace.prev;
547 return TAG_Int((bigint)UNBOX_Float( self));
548 }
549 val_t kernel___Int___object_id(val_t self) {
550 struct trace_t trace = {NULL, NULL, 206, LOCATE_kernel___Int___object_id};
551 val_t *variable = NULL;
552 struct WBT_ **closurevariable = NULL;
553 trace.prev = tracehead; tracehead = &trace;
554 trace.file = LOCATE_kernel;
555 tracehead = trace.prev;
556 return self;
557 }
558 val_t kernel___Int_____eqeq(val_t self, val_t param0) {
559 struct trace_t trace = {NULL, NULL, 207, LOCATE_kernel___Int_____eqeq};
560 val_t *variable = NULL;
561 struct WBT_ **closurevariable = NULL;
562 trace.prev = tracehead; tracehead = &trace;
563 trace.file = LOCATE_kernel;
564 tracehead = trace.prev;
565 return TAG_Bool(( self)==( param0));
566 }
567 val_t kernel___Int_____neq(val_t self, val_t param0) {
568 struct trace_t trace = {NULL, NULL, 208, LOCATE_kernel___Int_____neq};
569 val_t *variable = NULL;
570 struct WBT_ **closurevariable = NULL;
571 trace.prev = tracehead; tracehead = &trace;
572 trace.file = LOCATE_kernel;
573 tracehead = trace.prev;
574 return TAG_Bool(( self)!=( param0));
575 }
576 void kernel___Int___output(val_t self) {
577 struct trace_t trace = {NULL, NULL, 209, LOCATE_kernel___Int___output};
578 val_t *variable = NULL;
579 struct WBT_ **closurevariable = NULL;
580 trace.prev = tracehead; tracehead = &trace;
581 trace.file = LOCATE_kernel;
582 printf("%ld\n", UNTAG_Int( self));
583 tracehead = trace.prev;
584 return;
585 }
586 val_t kernel___Int_____l(val_t self, val_t param0) {
587 struct trace_t trace = {NULL, NULL, 212, LOCATE_kernel___Int_____l};
588 val_t *variable = NULL;
589 struct WBT_ **closurevariable = NULL;
590 trace.prev = tracehead; tracehead = &trace;
591 trace.file = LOCATE_kernel;
592 tracehead = trace.prev;
593 return TAG_Bool(UNTAG_Int( self)<UNTAG_Int( param0));
594 }
595 val_t kernel___Int_____leq(val_t self, val_t param0) {
596 struct trace_t trace = {NULL, NULL, 211, LOCATE_kernel___Int_____leq};
597 val_t *variable = NULL;
598 struct WBT_ **closurevariable = NULL;
599 trace.prev = tracehead; tracehead = &trace;
600 trace.file = LOCATE_kernel;
601 tracehead = trace.prev;
602 return TAG_Bool(UNTAG_Int( self)<=UNTAG_Int( param0));
603 }
604 val_t kernel___Int_____geq(val_t self, val_t param0) {
605 struct trace_t trace = {NULL, NULL, 213, LOCATE_kernel___Int_____geq};
606 val_t *variable = NULL;
607 struct WBT_ **closurevariable = NULL;
608 trace.prev = tracehead; tracehead = &trace;
609 trace.file = LOCATE_kernel;
610 tracehead = trace.prev;
611 return TAG_Bool(UNTAG_Int( self)>=UNTAG_Int( param0));
612 }
613 val_t kernel___Int_____g(val_t self, val_t param0) {
614 struct trace_t trace = {NULL, NULL, 214, LOCATE_kernel___Int_____g};
615 val_t *variable = NULL;
616 struct WBT_ **closurevariable = NULL;
617 trace.prev = tracehead; tracehead = &trace;
618 trace.file = LOCATE_kernel;
619 tracehead = trace.prev;
620 return TAG_Bool(UNTAG_Int( self)>UNTAG_Int( param0));
621 }
622 val_t kernel___Int_____leqg(val_t self, val_t param0) {
623 struct trace_t trace = {NULL, NULL, 239, LOCATE_kernel___Int_____leqg};
624 val_t variable[4];
625 struct WBT_ **closurevariable = NULL;
626 trace.prev = tracehead; tracehead = &trace;
627 trace.file = LOCATE_kernel;
628 /* Register variable[0]: Local variable */
629 variable[0] = self;
630 /* Register variable[1]: Local variable */
631 variable[1] = param0;
632 /* Register variable[2]: Method return value and escape marker */
633 /* Register variable[3]: Result */
634 variable[3] = TAG_Bool(UNTAG_Int(variable[0])<UNTAG_Int( variable[1] /*other*/));
635 if (UNTAG_Bool(variable[3])) { /*if*/
636 /* Register variable[3]: Result */
637 variable[3] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
638 variable[2] = variable[3];
639 goto return_label15;
640 } else { /*if*/
641 /* Register variable[3]: Result */
642 variable[3] = TAG_Bool(UNTAG_Int( variable[1] /*other*/)<UNTAG_Int(variable[0]));
643 if (UNTAG_Bool(variable[3])) { /*if*/
644 variable[2] = TAG_Int(1);
645 goto return_label15;
646 } else { /*if*/
647 variable[2] = TAG_Int(0);
648 goto return_label15;
649 }
650 }
651 return_label15: while(false);
652 tracehead = trace.prev;
653 return variable[2];
654 }
655 val_t kernel___Int___is_between(val_t self, val_t param0, val_t param1) {
656 struct trace_t trace = {NULL, NULL, 250, LOCATE_kernel___Int___is_between};
657 val_t variable[5];
658 struct WBT_ **closurevariable = NULL;
659 trace.prev = tracehead; tracehead = &trace;
660 trace.file = LOCATE_kernel;
661 /* Register variable[0]: Local variable */
662 variable[0] = self;
663 /* Register variable[1]: Local variable */
664 variable[1] = param0;
665 /* Register variable[2]: Local variable */
666 variable[2] = param1;
667 /* Register variable[3]: Method return value and escape marker */
668 /* Register variable[4]: Result */
669 variable[4] = TAG_Bool(UNTAG_Int(variable[0])<UNTAG_Int( variable[1] /*c*/));
670 /* Ensure var variable[4]: Left 'or' operand*/
671 if (!UNTAG_Bool(variable[4])) { /* or */
672 /* Register variable[4]: Result */
673 variable[4] = TAG_Bool(UNTAG_Int( variable[2] /*d*/)<UNTAG_Int(variable[0]));
674 }
675 /* Register variable[4]: Result */
676 if (UNTAG_Bool(variable[4])) { /*if*/
677 variable[3] = TAG_Bool(false);
678 goto return_label16;
679 } else { /*if*/
680 variable[3] = TAG_Bool(true);
681 goto return_label16;
682 }
683 return_label16: while(false);
684 tracehead = trace.prev;
685 return variable[3];
686 }
687 val_t kernel___Int___max(val_t self, val_t param0) {
688 struct trace_t trace = {NULL, NULL, 259, LOCATE_kernel___Int___max};
689 val_t variable[4];
690 struct WBT_ **closurevariable = NULL;
691 trace.prev = tracehead; tracehead = &trace;
692 trace.file = LOCATE_kernel;
693 /* Register variable[0]: Local variable */
694 variable[0] = self;
695 /* Register variable[1]: Local variable */
696 variable[1] = param0;
697 /* Register variable[2]: Method return value and escape marker */
698 /* Register variable[3]: Result */
699 variable[3] = TAG_Bool(UNTAG_Int(variable[0])<UNTAG_Int( variable[1] /*other*/));
700 if (UNTAG_Bool(variable[3])) { /*if*/
701 variable[2] = variable[1] /*other*/;
702 goto return_label17;
703 } else { /*if*/
704 variable[2] = variable[0];
705 goto return_label17;
706 }
707 return_label17: while(false);
708 tracehead = trace.prev;
709 return variable[2];
710 }
711 val_t kernel___Int___min(val_t self, val_t param0) {
712 struct trace_t trace = {NULL, NULL, 268, LOCATE_kernel___Int___min};
713 val_t variable[4];
714 struct WBT_ **closurevariable = NULL;
715 trace.prev = tracehead; tracehead = &trace;
716 trace.file = LOCATE_kernel;
717 /* Register variable[0]: Local variable */
718 variable[0] = self;
719 /* Register variable[1]: Local variable */
720 variable[1] = param0;
721 /* Register variable[2]: Method return value and escape marker */
722 /* Register variable[3]: Result */
723 variable[3] = TAG_Bool(UNTAG_Int( variable[1] /*c*/)<UNTAG_Int(variable[0]));
724 if (UNTAG_Bool(variable[3])) { /*if*/
725 variable[2] = variable[1] /*c*/;
726 goto return_label18;
727 } else { /*if*/
728 variable[2] = variable[0];
729 goto return_label18;
730 }
731 return_label18: while(false);
732 tracehead = trace.prev;
733 return variable[2];
734 }
735 val_t kernel___Int___succ(val_t self) {
736 struct trace_t trace = {NULL, NULL, 227, LOCATE_kernel___Int___succ};
737 val_t *variable = NULL;
738 struct WBT_ **closurevariable = NULL;
739 trace.prev = tracehead; tracehead = &trace;
740 trace.file = LOCATE_kernel;
741 tracehead = trace.prev;
742 return TAG_Int(UNTAG_Int( self)+1);
743 }
744 val_t kernel___Int___prec(val_t self) {
745 struct trace_t trace = {NULL, NULL, 228, LOCATE_kernel___Int___prec};
746 val_t *variable = NULL;
747 struct WBT_ **closurevariable = NULL;
748 trace.prev = tracehead; tracehead = &trace;
749 trace.file = LOCATE_kernel;
750 tracehead = trace.prev;
751 return TAG_Int(UNTAG_Int( self)-1);
752 }
753 val_t kernel___Int_____plus(val_t self, val_t param0) {
754 struct trace_t trace = {NULL, NULL, 215, LOCATE_kernel___Int_____plus};
755 val_t *variable = NULL;
756 struct WBT_ **closurevariable = NULL;
757 trace.prev = tracehead; tracehead = &trace;
758 trace.file = LOCATE_kernel;
759 tracehead = trace.prev;
760 return TAG_Int(UNTAG_Int( self)+UNTAG_Int( param0));
761 }
762 val_t kernel___Int_____minus(val_t self, val_t param0) {
763 struct trace_t trace = {NULL, NULL, 217, LOCATE_kernel___Int_____minus};
764 val_t *variable = NULL;
765 struct WBT_ **closurevariable = NULL;
766 trace.prev = tracehead; tracehead = &trace;
767 trace.file = LOCATE_kernel;
768 tracehead = trace.prev;
769 return TAG_Int(UNTAG_Int( self)-UNTAG_Int( param0));
770 }
771 val_t kernel___Int___distance(val_t self, val_t param0) {
772 struct trace_t trace = {NULL, NULL, 229, LOCATE_kernel___Int___distance};
773 val_t variable[5];
774 struct WBT_ **closurevariable = NULL;
775 trace.prev = tracehead; tracehead = &trace;
776 trace.file = LOCATE_kernel;
777 /* Register variable[0]: Local variable */
778 variable[0] = self;
779 /* Register variable[1]: Local variable */
780 variable[1] = param0;
781 /* Register variable[2]: Method return value and escape marker */
782 /* Register variable[3]: Local variable */
783 /* Register variable[4]: Result */
784 variable[4] = TAG_Int(UNTAG_Int(variable[0])-UNTAG_Int( variable[1] /*i*/));
785 variable[3] = variable[4];
786 /* Register variable[4]: Result */
787 variable[4] = TAG_Bool(UNTAG_Int( variable[3] /*d*/)>=UNTAG_Int( TAG_Int(0)));
788 if (UNTAG_Bool(variable[4])) { /*if*/
789 variable[2] = variable[3] /*d*/;
790 goto return_label19;
791 } else { /*if*/
792 /* Register variable[4]: Result */
793 variable[4] = TAG_Int(-UNTAG_Int( variable[3] /*d*/));
794 variable[2] = variable[4];
795 goto return_label19;
796 }
797 return_label19: while(false);
798 tracehead = trace.prev;
799 return variable[2];
800 }
801 val_t kernel___Int___unary__minus(val_t self) {
802 struct trace_t trace = {NULL, NULL, 216, LOCATE_kernel___Int___unary__minus};
803 val_t *variable = NULL;
804 struct WBT_ **closurevariable = NULL;
805 trace.prev = tracehead; tracehead = &trace;
806 trace.file = LOCATE_kernel;
807 tracehead = trace.prev;
808 return TAG_Int(-UNTAG_Int( self));
809 }
810 val_t kernel___Int_____star(val_t self, val_t param0) {
811 struct trace_t trace = {NULL, NULL, 218, LOCATE_kernel___Int_____star};
812 val_t *variable = NULL;
813 struct WBT_ **closurevariable = NULL;
814 trace.prev = tracehead; tracehead = &trace;
815 trace.file = LOCATE_kernel;
816 tracehead = trace.prev;
817 return TAG_Int(UNTAG_Int( self)*UNTAG_Int( param0));
818 }
819 val_t kernel___Int_____slash(val_t self, val_t param0) {
820 struct trace_t trace = {NULL, NULL, 219, LOCATE_kernel___Int_____slash};
821 val_t *variable = NULL;
822 struct WBT_ **closurevariable = NULL;
823 trace.prev = tracehead; tracehead = &trace;
824 trace.file = LOCATE_kernel;
825 tracehead = trace.prev;
826 return TAG_Int(UNTAG_Int( self)/UNTAG_Int( param0));
827 }
828 val_t kernel___Int_____percent(val_t self, val_t param0) {
829 struct trace_t trace = {NULL, NULL, 220, LOCATE_kernel___Int_____percent};
830 val_t *variable = NULL;
831 struct WBT_ **closurevariable = NULL;
832 trace.prev = tracehead; tracehead = &trace;
833 trace.file = LOCATE_kernel;
834 tracehead = trace.prev;
835 return TAG_Int(UNTAG_Int( self)%UNTAG_Int( param0));
836 }
837 val_t kernel___Int___lshift(val_t self, val_t param0) {
838 struct trace_t trace = {NULL, NULL, 221, LOCATE_kernel___Int___lshift};
839 val_t *variable = NULL;
840 struct WBT_ **closurevariable = NULL;
841 trace.prev = tracehead; tracehead = &trace;
842 trace.file = LOCATE_kernel;
843 tracehead = trace.prev;
844 return TAG_Int(UNTAG_Int( self)<<UNTAG_Int( param0));
845 }
846 val_t kernel___Int___rshift(val_t self, val_t param0) {
847 struct trace_t trace = {NULL, NULL, 222, LOCATE_kernel___Int___rshift};
848 val_t *variable = NULL;
849 struct WBT_ **closurevariable = NULL;
850 trace.prev = tracehead; tracehead = &trace;
851 trace.file = LOCATE_kernel;
852 tracehead = trace.prev;
853 return TAG_Int(UNTAG_Int( self)>>UNTAG_Int( param0));
854 }
855 val_t kernel___Int___to_f(val_t self) {
856 struct trace_t trace = {NULL, NULL, 224, LOCATE_kernel___Int___to_f};
857 val_t *variable = NULL;
858 struct WBT_ **closurevariable = NULL;
859 trace.prev = tracehead; tracehead = &trace;
860 trace.file = LOCATE_kernel;
861 tracehead = trace.prev;
862 return BOX_Float((float)UNTAG_Int( self));
863 }
864 val_t kernel___Int___ascii(val_t self) {
865 struct trace_t trace = {NULL, NULL, 277, LOCATE_kernel___Int___ascii};
866 val_t *variable = NULL;
867 struct WBT_ **closurevariable = NULL;
868 trace.prev = tracehead; tracehead = &trace;
869 trace.file = LOCATE_kernel;
870 tracehead = trace.prev;
871 return TAG_Char(UNTAG_Int( self));
872 }
873 val_t kernel___Int___digit_count(val_t self, val_t param0) {
874 struct trace_t trace = {NULL, NULL, 280, LOCATE_kernel___Int___digit_count};
875 val_t variable[6];
876 struct WBT_ **closurevariable = NULL;
877 trace.prev = tracehead; tracehead = &trace;
878 trace.file = LOCATE_kernel;
879 /* Register variable[0]: Local variable */
880 variable[0] = self;
881 /* Register variable[1]: Local variable */
882 variable[1] = param0;
883 /* Register variable[2]: Method return value and escape marker */
884 /* Register variable[3]: Local variable */
885 /*variable[3] is variable d*/
886 /* Register variable[4]: Local variable */
887 /*variable[4] is variable n*/
888 /* Register variable[5]: Result */
889 variable[5] = TAG_Bool(UNTAG_Int(variable[0])<UNTAG_Int( TAG_Int(0)));
890 if (UNTAG_Bool(variable[5])) { /*if*/
891 variable[3] = TAG_Int(1) /*d=*/;
892 /* Register variable[5]: Result */
893 variable[5] = TAG_Int(-UNTAG_Int(variable[0]));
894 variable[4] = variable[5] /*n=*/;
895 } else { /*if*/
896 /* Register variable[5]: Result */
897 variable[5] = TAG_Bool((variable[0])==( TAG_Int(0)));
898 if (UNTAG_Bool(variable[5])) { /*if*/
899 variable[2] = TAG_Int(1);
900 goto return_label20;
901 } else { /*if*/
902 variable[3] = TAG_Int(0) /*d=*/;
903 variable[4] = variable[0] /*n=*/;
904 }
905 }
906 while (true) { /*while*/
907 /* Register variable[5]: Result */
908 variable[5] = TAG_Bool(UNTAG_Int( variable[4] /*n*/)>UNTAG_Int( TAG_Int(0)));
909 if (!UNTAG_Bool(variable[5])) break; /* while*/
910 variable[3] = TAG_Int(UNTAG_Int(variable[3])+UNTAG_Int( TAG_Int(1))) /*d*/;
911 /* Register variable[5]: Result */
912 variable[5] = TAG_Int(UNTAG_Int( variable[4] /*n*/)/UNTAG_Int( variable[1] /*b*/));
913 variable[4] = variable[5] /*n=*/;
914 continue_21: while(0);
915 }
916 break_21: while(0);
917 variable[2] = variable[3] /*d*/;
918 goto return_label20;
919 return_label20: while(false);
920 tracehead = trace.prev;
921 return variable[2];
922 }
923 val_t kernel___Int___to_c(val_t self) {
924 struct trace_t trace = {NULL, NULL, 303, LOCATE_kernel___Int___to_c};
925 val_t variable[3];
926 struct WBT_ **closurevariable = NULL;
927 trace.prev = tracehead; tracehead = &trace;
928 trace.file = LOCATE_kernel;
929 /* Register variable[0]: Local variable */
930 variable[0] = self;
931 /* Register variable[1]: Method return value and escape marker */
932 /* Register variable[2]: Result */
933 variable[2] = TAG_Bool(UNTAG_Int(variable[0])>=UNTAG_Int( TAG_Int(0)));
934 /* Ensure var variable[2]: Left 'and' operand*/
935 if (UNTAG_Bool(variable[2])) { /* and */
936 /* Register variable[2]: Result */
937 variable[2] = TAG_Bool(UNTAG_Int(variable[0])<=UNTAG_Int( TAG_Int(36)));
938 }
939 /* Register variable[2]: Result */
940 if (!UNTAG_Bool(variable[2])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_kernel___Int___to_c, LOCATE_kernel, 308); nit_exit(1);}
941 /* Register variable[2]: Result */
942 variable[2] = TAG_Bool(UNTAG_Int(variable[0])<UNTAG_Int( TAG_Int(10)));
943 if (UNTAG_Bool(variable[2])) { /*if*/
944 /* Register variable[2]: Result */
945 variable[2] = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('0')));
946 /* Register variable[2]: Result */
947 variable[2] = TAG_Int(UNTAG_Int(variable[0])+UNTAG_Int(variable[2]));
948 /* Register variable[2]: Result */
949 variable[2] = TAG_Char(UNTAG_Int(variable[2]));
950 variable[1] = variable[2];
951 goto return_label22;
952 } else { /*if*/
953 /* Register variable[2]: Result */
954 variable[2] = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('a')));
955 /* Register variable[2]: Result */
956 variable[2] = TAG_Int(UNTAG_Int(variable[2])-UNTAG_Int( TAG_Int(10)));
957 /* Register variable[2]: Result */
958 variable[2] = TAG_Int(UNTAG_Int(variable[0])+UNTAG_Int(variable[2]));
959 /* Register variable[2]: Result */
960 variable[2] = TAG_Char(UNTAG_Int(variable[2]));
961 variable[1] = variable[2];
962 goto return_label22;
963 }
964 return_label22: while(false);
965 tracehead = trace.prev;
966 return variable[1];
967 }
968 val_t kernel___Char___object_id(val_t self) {
969 struct trace_t trace = {NULL, NULL, 324, LOCATE_kernel___Char___object_id};
970 val_t *variable = NULL;
971 struct WBT_ **closurevariable = NULL;
972 trace.prev = tracehead; tracehead = &trace;
973 trace.file = LOCATE_kernel;
974 tracehead = trace.prev;
975 return TAG_Int(UNTAG_Char( self));
976 }
977 val_t kernel___Char_____eqeq(val_t self, val_t param0) {
978 struct trace_t trace = {NULL, NULL, 325, LOCATE_kernel___Char_____eqeq};
979 val_t *variable = NULL;
980 struct WBT_ **closurevariable = NULL;
981 trace.prev = tracehead; tracehead = &trace;
982 trace.file = LOCATE_kernel;
983 tracehead = trace.prev;
984 return TAG_Bool(( self)==( param0));
985 }
986 val_t kernel___Char_____neq(val_t self, val_t param0) {
987 struct trace_t trace = {NULL, NULL, 326, LOCATE_kernel___Char_____neq};
988 val_t *variable = NULL;
989 struct WBT_ **closurevariable = NULL;
990 trace.prev = tracehead; tracehead = &trace;
991 trace.file = LOCATE_kernel;
992 tracehead = trace.prev;
993 return TAG_Bool(( self)!=( param0));
994 }
995 void kernel___Char___output(val_t self) {
996 struct trace_t trace = {NULL, NULL, 327, LOCATE_kernel___Char___output};
997 val_t *variable = NULL;
998 struct WBT_ **closurevariable = NULL;
999 trace.prev = tracehead; tracehead = &trace;
1000 trace.file = LOCATE_kernel;
1001 printf("%c", (unsigned char)UNTAG_Char( self));
1002 tracehead = trace.prev;
1003 return;
1004 }
1005 val_t kernel___Char_____l(val_t self, val_t param0) {
1006 struct trace_t trace = {NULL, NULL, 330, LOCATE_kernel___Char_____l};
1007 val_t *variable = NULL;
1008 struct WBT_ **closurevariable = NULL;
1009 trace.prev = tracehead; tracehead = &trace;
1010 trace.file = LOCATE_kernel;
1011 tracehead = trace.prev;
1012 return TAG_Bool(UNTAG_Char( self)<UNTAG_Char( param0));
1013 }
1014 val_t kernel___Char_____leq(val_t self, val_t param0) {
1015 struct trace_t trace = {NULL, NULL, 329, LOCATE_kernel___Char_____leq};
1016 val_t *variable = NULL;
1017 struct WBT_ **closurevariable = NULL;
1018 trace.prev = tracehead; tracehead = &trace;
1019 trace.file = LOCATE_kernel;
1020 tracehead = trace.prev;
1021 return TAG_Bool(UNTAG_Char( self)<=UNTAG_Char( param0));
1022 }
1023 val_t kernel___Char_____geq(val_t self, val_t param0) {
1024 struct trace_t trace = {NULL, NULL, 331, LOCATE_kernel___Char_____geq};
1025 val_t *variable = NULL;
1026 struct WBT_ **closurevariable = NULL;
1027 trace.prev = tracehead; tracehead = &trace;
1028 trace.file = LOCATE_kernel;
1029 tracehead = trace.prev;
1030 return TAG_Bool(UNTAG_Char( self)>=UNTAG_Char( param0));
1031 }
1032 val_t kernel___Char_____g(val_t self, val_t param0) {
1033 struct trace_t trace = {NULL, NULL, 332, LOCATE_kernel___Char_____g};
1034 val_t *variable = NULL;
1035 struct WBT_ **closurevariable = NULL;
1036 trace.prev = tracehead; tracehead = &trace;
1037 trace.file = LOCATE_kernel;
1038 tracehead = trace.prev;
1039 return TAG_Bool(UNTAG_Char( self)>UNTAG_Char( param0));
1040 }
1041 val_t kernel___Char___succ(val_t self) {
1042 struct trace_t trace = {NULL, NULL, 334, LOCATE_kernel___Char___succ};
1043 val_t *variable = NULL;
1044 struct WBT_ **closurevariable = NULL;
1045 trace.prev = tracehead; tracehead = &trace;
1046 trace.file = LOCATE_kernel;
1047 tracehead = trace.prev;
1048 return TAG_Char(UNTAG_Char( self)+1);
1049 }
1050 val_t kernel___Char___prec(val_t self) {
1051 struct trace_t trace = {NULL, NULL, 335, LOCATE_kernel___Char___prec};
1052 val_t *variable = NULL;
1053 struct WBT_ **closurevariable = NULL;
1054 trace.prev = tracehead; tracehead = &trace;
1055 trace.file = LOCATE_kernel;
1056 tracehead = trace.prev;
1057 return TAG_Char(UNTAG_Char( self)-1);
1058 }
1059 val_t kernel___Char_____plus(val_t self, val_t param0) {
1060 struct trace_t trace = {NULL, NULL, 363, LOCATE_kernel___Char_____plus};
1061 val_t *variable = NULL;
1062 struct WBT_ **closurevariable = NULL;
1063 trace.prev = tracehead; tracehead = &trace;
1064 trace.file = LOCATE_kernel;
1065 tracehead = trace.prev;
1066 return TAG_Char(UNTAG_Char( self)+UNTAG_Char( param0));
1067 }
1068 val_t kernel___Char_____minus(val_t self, val_t param0) {
1069 struct trace_t trace = {NULL, NULL, 364, LOCATE_kernel___Char_____minus};
1070 val_t *variable = NULL;
1071 struct WBT_ **closurevariable = NULL;
1072 trace.prev = tracehead; tracehead = &trace;
1073 trace.file = LOCATE_kernel;
1074 tracehead = trace.prev;
1075 return TAG_Char(UNTAG_Char( self)-UNTAG_Char( param0));
1076 }
1077 val_t kernel___Char___distance(val_t self, val_t param0) {
1078 struct trace_t trace = {NULL, NULL, 337, LOCATE_kernel___Char___distance};
1079 val_t variable[6];
1080 struct WBT_ **closurevariable = NULL;
1081 trace.prev = tracehead; tracehead = &trace;
1082 trace.file = LOCATE_kernel;
1083 /* Register variable[0]: Local variable */
1084 variable[0] = self;
1085 /* Register variable[1]: Local variable */
1086 variable[1] = param0;
1087 /* Register variable[2]: Method return value and escape marker */
1088 /* Register variable[3]: Local variable */
1089 /* Register variable[4]: Result */
1090 variable[4] = TAG_Int((unsigned char)UNTAG_Char(variable[0]));
1091 /* Register variable[5]: Result */
1092 variable[5] = TAG_Int((unsigned char)UNTAG_Char( variable[1] /*c*/));
1093 /* Register variable[4]: Result */
1094 variable[4] = TAG_Int(UNTAG_Int(variable[4])-UNTAG_Int(variable[5]));
1095 variable[3] = variable[4];
1096 /* Register variable[4]: Result */
1097 variable[4] = TAG_Bool(UNTAG_Int( variable[3] /*d*/)>=UNTAG_Int( TAG_Int(0)));
1098 if (UNTAG_Bool(variable[4])) { /*if*/
1099 variable[2] = variable[3] /*d*/;
1100 goto return_label23;
1101 } else { /*if*/
1102 /* Register variable[4]: Result */
1103 variable[4] = TAG_Int(-UNTAG_Int( variable[3] /*d*/));
1104 variable[2] = variable[4];
1105 goto return_label23;
1106 }
1107 return_label23: while(false);
1108 tracehead = trace.prev;
1109 return variable[2];
1110 }
1111 val_t kernel___Char___to_i(val_t self) {
1112 struct trace_t trace = {NULL, NULL, 347, LOCATE_kernel___Char___to_i};
1113 val_t variable[4];
1114 struct WBT_ **closurevariable = NULL;
1115 trace.prev = tracehead; tracehead = &trace;
1116 trace.file = LOCATE_kernel;
1117 /* Register variable[0]: Local variable */
1118 variable[0] = self;
1119 /* Register variable[1]: Method return value and escape marker */
1120 /* Register variable[2]: Result */
1121 variable[2] = TAG_Bool((variable[0])==( TAG_Char('-')));
1122 if (UNTAG_Bool(variable[2])) { /*if*/
1123 /* Register variable[2]: Result */
1124 variable[2] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
1125 variable[1] = variable[2];
1126 goto return_label24;
1127 } else { /*if*/
1128 /* Register variable[2]: Result */
1129 variable[2] = TAG_Bool(UNTAG_Char(variable[0])>=UNTAG_Char( TAG_Char('0')));
1130 /* Ensure var variable[2]: Left 'and' operand*/
1131 if (UNTAG_Bool(variable[2])) { /* and */
1132 /* Register variable[2]: Result */
1133 variable[2] = TAG_Bool(UNTAG_Char(variable[0])<=UNTAG_Char( TAG_Char('9')));
1134 }
1135 /* Register variable[2]: Result */
1136 if (UNTAG_Bool(variable[2])) { /*if*/
1137 /* Register variable[2]: Result */
1138 variable[2] = TAG_Int((unsigned char)UNTAG_Char(variable[0]));
1139 /* Register variable[3]: Result */
1140 variable[3] = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('0')));
1141 /* Register variable[2]: Result */
1142 variable[2] = TAG_Int(UNTAG_Int(variable[2])-UNTAG_Int(variable[3]));
1143 variable[1] = variable[2];
1144 goto return_label24;
1145 } else { /*if*/
1146 /* Register variable[2]: Result */
1147 variable[2] = CALL_kernel___Char___to_lower(variable[0])(variable[0]) /*Char::to_lower*/;
1148 /* Register variable[2]: Result */
1149 variable[2] = TAG_Int((unsigned char)UNTAG_Char(variable[2]));
1150 /* Register variable[3]: Result */
1151 variable[3] = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('a')));
1152 /* Register variable[3]: Result */
1153 variable[3] = TAG_Int(UNTAG_Int(variable[3])+UNTAG_Int( TAG_Int(10)));
1154 /* Register variable[2]: Result */
1155 variable[2] = TAG_Int(UNTAG_Int(variable[2])-UNTAG_Int(variable[3]));
1156 variable[1] = variable[2];
1157 goto return_label24;
1158 }
1159 }
1160 return_label24: while(false);
1161 tracehead = trace.prev;
1162 return variable[1];
1163 }
1164 val_t kernel___Char___ascii(val_t self) {
1165 struct trace_t trace = {NULL, NULL, 360, LOCATE_kernel___Char___ascii};
1166 val_t *variable = NULL;
1167 struct WBT_ **closurevariable = NULL;
1168 trace.prev = tracehead; tracehead = &trace;
1169 trace.file = LOCATE_kernel;
1170 tracehead = trace.prev;
1171 return TAG_Int((unsigned char)UNTAG_Char( self));
1172 }
1173 val_t kernel___Char___to_lower(val_t self) {
1174 struct trace_t trace = {NULL, NULL, 366, LOCATE_kernel___Char___to_lower};
1175 val_t variable[4];
1176 struct WBT_ **closurevariable = NULL;
1177 trace.prev = tracehead; tracehead = &trace;
1178 trace.file = LOCATE_kernel;
1179 /* Register variable[0]: Local variable */
1180 variable[0] = self;
1181 /* Register variable[1]: Method return value and escape marker */
1182 /* Register variable[2]: Result */
1183 variable[2] = TAG_Bool(UNTAG_Char(variable[0])>=UNTAG_Char( TAG_Char('A')));
1184 /* Ensure var variable[2]: Left 'and' operand*/
1185 if (UNTAG_Bool(variable[2])) { /* and */
1186 /* Register variable[2]: Result */
1187 variable[2] = TAG_Bool(UNTAG_Char(variable[0])<=UNTAG_Char( TAG_Char('Z')));
1188 }
1189 /* Register variable[2]: Result */
1190 if (UNTAG_Bool(variable[2])) { /*if*/
1191 /* Register variable[2]: Result */
1192 variable[2] = TAG_Int((unsigned char)UNTAG_Char(variable[0]));
1193 /* Register variable[3]: Result */
1194 variable[3] = CALL_kernel___Discrete___distance( TAG_Char('a'))( TAG_Char('a'), TAG_Char('A')) /*Char::distance*/;
1195 /* Register variable[2]: Result */
1196 variable[2] = TAG_Int(UNTAG_Int(variable[2])+UNTAG_Int(variable[3]));
1197 /* Register variable[2]: Result */
1198 variable[2] = TAG_Char(UNTAG_Int(variable[2]));
1199 variable[1] = variable[2];
1200 goto return_label25;
1201 } else { /*if*/
1202 variable[1] = variable[0];
1203 goto return_label25;
1204 }
1205 return_label25: while(false);
1206 tracehead = trace.prev;
1207 return variable[1];
1208 }
1209 val_t kernel___Char___to_upper(val_t self) {
1210 struct trace_t trace = {NULL, NULL, 376, LOCATE_kernel___Char___to_upper};
1211 val_t variable[4];
1212 struct WBT_ **closurevariable = NULL;
1213 trace.prev = tracehead; tracehead = &trace;
1214 trace.file = LOCATE_kernel;
1215 /* Register variable[0]: Local variable */
1216 variable[0] = self;
1217 /* Register variable[1]: Method return value and escape marker */
1218 /* Register variable[2]: Result */
1219 variable[2] = TAG_Bool(UNTAG_Char(variable[0])>=UNTAG_Char( TAG_Char('a')));
1220 /* Ensure var variable[2]: Left 'and' operand*/
1221 if (UNTAG_Bool(variable[2])) { /* and */
1222 /* Register variable[2]: Result */
1223 variable[2] = TAG_Bool(UNTAG_Char(variable[0])<=UNTAG_Char( TAG_Char('z')));
1224 }
1225 /* Register variable[2]: Result */
1226 if (UNTAG_Bool(variable[2])) { /*if*/
1227 /* Register variable[2]: Result */
1228 variable[2] = TAG_Int((unsigned char)UNTAG_Char(variable[0]));
1229 /* Register variable[3]: Result */
1230 variable[3] = CALL_kernel___Discrete___distance( TAG_Char('a'))( TAG_Char('a'), TAG_Char('A')) /*Char::distance*/;
1231 /* Register variable[2]: Result */
1232 variable[2] = TAG_Int(UNTAG_Int(variable[2])-UNTAG_Int(variable[3]));
1233 /* Register variable[2]: Result */
1234 variable[2] = TAG_Char(UNTAG_Int(variable[2]));
1235 variable[1] = variable[2];
1236 goto return_label26;
1237 } else { /*if*/
1238 variable[1] = variable[0];
1239 goto return_label26;
1240 }
1241 return_label26: while(false);
1242 tracehead = trace.prev;
1243 return variable[1];
1244 }