gc: add 'help' option to list all available GC
[nit.git] / c_src / icode_base._sep.c
1 /* This C file is generated by NIT to compile module icode_base. */
2 #include "icode_base._sep.h"
3 val_t icode_base___IRegister___stype(val_t p0){
4 struct {struct stack_frame_t me;} fra;
5 val_t REGB0;
6 val_t tmp;
7 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8 fra.me.file = LOCATE_icode_base;
9 fra.me.line = 27;
10 fra.me.meth = LOCATE_icode_base___IRegister___stype;
11 fra.me.has_broke = 0;
12 fra.me.REG_size = 1;
13 fra.me.REG[0] = NIT_NULL;
14 fra.me.REG[0] = p0;
15 REGB0 = TAG_Bool(ATTR_icode_base___IRegister____stype(fra.me.REG[0])!=NIT_NULL);
16 /* ./icode//icode_base.nit:27 */
17 if (UNTAG_Bool(REGB0)) {
18 } else {
19 fprintf(stderr, "Uninitialized attribute %s", "_stype");
20 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 27);
21 nit_exit(1);
22 }
23 fra.me.REG[0] = ATTR_icode_base___IRegister____stype(fra.me.REG[0]);
24 stack_frame_head = fra.me.prev;
25 return fra.me.REG[0];
26 }
27 void icode_base___IRegister___init(val_t p0, val_t p1, int* init_table){
28 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IRegister].i;
29 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
30 val_t tmp;
31 if (init_table[itpos0]) return;
32 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33 fra.me.file = LOCATE_icode_base;
34 fra.me.line = 29;
35 fra.me.meth = LOCATE_icode_base___IRegister___init;
36 fra.me.has_broke = 0;
37 fra.me.REG_size = 2;
38 fra.me.REG[0] = NIT_NULL;
39 fra.me.REG[1] = NIT_NULL;
40 fra.me.REG[0] = p0;
41 fra.me.REG[1] = p1;
42 /* ./icode//icode_base.nit:31 */
43 ATTR_icode_base___IRegister____stype(fra.me.REG[0]) = fra.me.REG[1];
44 stack_frame_head = fra.me.prev;
45 init_table[itpos0] = 1;
46 return;
47 }
48 void icode_base___IEscapeMark___init(val_t p0, int* init_table){
49 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IEscapeMark].i;
50 struct {struct stack_frame_t me;} fra;
51 val_t tmp;
52 if (init_table[itpos1]) return;
53 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54 fra.me.file = LOCATE_icode_base;
55 fra.me.line = 0;
56 fra.me.meth = LOCATE_icode_base___IEscapeMark___init;
57 fra.me.has_broke = 0;
58 fra.me.REG_size = 0;
59 stack_frame_head = fra.me.prev;
60 init_table[itpos1] = 1;
61 return;
62 }
63 val_t icode_base___IClosureDecl___closure(val_t p0){
64 struct {struct stack_frame_t me;} fra;
65 val_t REGB0;
66 val_t tmp;
67 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68 fra.me.file = LOCATE_icode_base;
69 fra.me.line = 41;
70 fra.me.meth = LOCATE_icode_base___IClosureDecl___closure;
71 fra.me.has_broke = 0;
72 fra.me.REG_size = 1;
73 fra.me.REG[0] = NIT_NULL;
74 fra.me.REG[0] = p0;
75 REGB0 = TAG_Bool(ATTR_icode_base___IClosureDecl____closure(fra.me.REG[0])!=NIT_NULL);
76 /* ./icode//icode_base.nit:41 */
77 if (UNTAG_Bool(REGB0)) {
78 } else {
79 fprintf(stderr, "Uninitialized attribute %s", "_closure");
80 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 41);
81 nit_exit(1);
82 }
83 fra.me.REG[0] = ATTR_icode_base___IClosureDecl____closure(fra.me.REG[0]);
84 stack_frame_head = fra.me.prev;
85 return fra.me.REG[0];
86 }
87 val_t icode_base___IClosureDecl___default(val_t p0){
88 struct {struct stack_frame_t me;} fra;
89 val_t tmp;
90 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91 fra.me.file = LOCATE_icode_base;
92 fra.me.line = 44;
93 fra.me.meth = LOCATE_icode_base___IClosureDecl___default;
94 fra.me.has_broke = 0;
95 fra.me.REG_size = 1;
96 fra.me.REG[0] = NIT_NULL;
97 fra.me.REG[0] = p0;
98 fra.me.REG[0] = ATTR_icode_base___IClosureDecl____default(fra.me.REG[0]);
99 /* ./icode//icode_base.nit:44 */
100 stack_frame_head = fra.me.prev;
101 return fra.me.REG[0];
102 }
103 void icode_base___IClosureDecl___default__eq(val_t p0, val_t p1){
104 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
105 val_t tmp;
106 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107 fra.me.file = LOCATE_icode_base;
108 fra.me.line = 44;
109 fra.me.meth = LOCATE_icode_base___IClosureDecl___default__eq;
110 fra.me.has_broke = 0;
111 fra.me.REG_size = 2;
112 fra.me.REG[0] = NIT_NULL;
113 fra.me.REG[1] = NIT_NULL;
114 fra.me.REG[0] = p0;
115 fra.me.REG[1] = p1;
116 /* ./icode//icode_base.nit:44 */
117 ATTR_icode_base___IClosureDecl____default(fra.me.REG[0]) = fra.me.REG[1];
118 stack_frame_head = fra.me.prev;
119 return;
120 }
121 void icode_base___IClosureDecl___init(val_t p0, val_t p1, int* init_table){
122 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IClosureDecl].i;
123 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
124 val_t tmp;
125 if (init_table[itpos2]) return;
126 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
127 fra.me.file = LOCATE_icode_base;
128 fra.me.line = 47;
129 fra.me.meth = LOCATE_icode_base___IClosureDecl___init;
130 fra.me.has_broke = 0;
131 fra.me.REG_size = 2;
132 fra.me.REG[0] = NIT_NULL;
133 fra.me.REG[1] = NIT_NULL;
134 fra.me.REG[0] = p0;
135 fra.me.REG[1] = p1;
136 /* ./icode//icode_base.nit:47 */
137 ATTR_icode_base___IClosureDecl____closure(fra.me.REG[0]) = fra.me.REG[1];
138 stack_frame_head = fra.me.prev;
139 init_table[itpos2] = 1;
140 return;
141 }
142 val_t icode_base___IRoutine___params(val_t p0){
143 struct {struct stack_frame_t me;} fra;
144 val_t REGB0;
145 val_t tmp;
146 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
147 fra.me.file = LOCATE_icode_base;
148 fra.me.line = 52;
149 fra.me.meth = LOCATE_icode_base___IRoutine___params;
150 fra.me.has_broke = 0;
151 fra.me.REG_size = 1;
152 fra.me.REG[0] = NIT_NULL;
153 fra.me.REG[0] = p0;
154 REGB0 = TAG_Bool(ATTR_icode_base___IRoutine____params(fra.me.REG[0])!=NIT_NULL);
155 /* ./icode//icode_base.nit:52 */
156 if (UNTAG_Bool(REGB0)) {
157 } else {
158 fprintf(stderr, "Uninitialized attribute %s", "_params");
159 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 52);
160 nit_exit(1);
161 }
162 fra.me.REG[0] = ATTR_icode_base___IRoutine____params(fra.me.REG[0]);
163 stack_frame_head = fra.me.prev;
164 return fra.me.REG[0];
165 }
166 val_t icode_base___IRoutine___closure_decls(val_t p0){
167 struct {struct stack_frame_t me;} fra;
168 val_t tmp;
169 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
170 fra.me.file = LOCATE_icode_base;
171 fra.me.line = 55;
172 fra.me.meth = LOCATE_icode_base___IRoutine___closure_decls;
173 fra.me.has_broke = 0;
174 fra.me.REG_size = 1;
175 fra.me.REG[0] = NIT_NULL;
176 fra.me.REG[0] = p0;
177 fra.me.REG[0] = ATTR_icode_base___IRoutine____closure_decls(fra.me.REG[0]);
178 /* ./icode//icode_base.nit:55 */
179 stack_frame_head = fra.me.prev;
180 return fra.me.REG[0];
181 }
182 void icode_base___IRoutine___closure_decls__eq(val_t p0, val_t p1){
183 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
184 val_t tmp;
185 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
186 fra.me.file = LOCATE_icode_base;
187 fra.me.line = 55;
188 fra.me.meth = LOCATE_icode_base___IRoutine___closure_decls__eq;
189 fra.me.has_broke = 0;
190 fra.me.REG_size = 2;
191 fra.me.REG[0] = NIT_NULL;
192 fra.me.REG[1] = NIT_NULL;
193 fra.me.REG[0] = p0;
194 fra.me.REG[1] = p1;
195 /* ./icode//icode_base.nit:55 */
196 ATTR_icode_base___IRoutine____closure_decls(fra.me.REG[0]) = fra.me.REG[1];
197 stack_frame_head = fra.me.prev;
198 return;
199 }
200 val_t icode_base___IRoutine___registers(val_t p0){
201 struct {struct stack_frame_t me;} fra;
202 val_t REGB0;
203 val_t tmp;
204 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
205 fra.me.file = LOCATE_icode_base;
206 fra.me.line = 58;
207 fra.me.meth = LOCATE_icode_base___IRoutine___registers;
208 fra.me.has_broke = 0;
209 fra.me.REG_size = 1;
210 fra.me.REG[0] = NIT_NULL;
211 fra.me.REG[0] = p0;
212 REGB0 = TAG_Bool(ATTR_icode_base___IRoutine____registers(fra.me.REG[0])!=NIT_NULL);
213 /* ./icode//icode_base.nit:58 */
214 if (UNTAG_Bool(REGB0)) {
215 } else {
216 fprintf(stderr, "Uninitialized attribute %s", "_registers");
217 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 58);
218 nit_exit(1);
219 }
220 fra.me.REG[0] = ATTR_icode_base___IRoutine____registers(fra.me.REG[0]);
221 stack_frame_head = fra.me.prev;
222 return fra.me.REG[0];
223 }
224 val_t icode_base___IRoutine___result(val_t p0){
225 struct {struct stack_frame_t me;} fra;
226 val_t tmp;
227 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
228 fra.me.file = LOCATE_icode_base;
229 fra.me.line = 61;
230 fra.me.meth = LOCATE_icode_base___IRoutine___result;
231 fra.me.has_broke = 0;
232 fra.me.REG_size = 1;
233 fra.me.REG[0] = NIT_NULL;
234 fra.me.REG[0] = p0;
235 fra.me.REG[0] = ATTR_icode_base___IRoutine____result(fra.me.REG[0]);
236 /* ./icode//icode_base.nit:61 */
237 stack_frame_head = fra.me.prev;
238 return fra.me.REG[0];
239 }
240 val_t icode_base___IRoutine___escape_marks(val_t p0){
241 struct {struct stack_frame_t me;} fra;
242 val_t REGB0;
243 val_t tmp;
244 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
245 fra.me.file = LOCATE_icode_base;
246 fra.me.line = 64;
247 fra.me.meth = LOCATE_icode_base___IRoutine___escape_marks;
248 fra.me.has_broke = 0;
249 fra.me.REG_size = 1;
250 fra.me.REG[0] = NIT_NULL;
251 fra.me.REG[0] = p0;
252 REGB0 = TAG_Bool(ATTR_icode_base___IRoutine____escape_marks(fra.me.REG[0])!=NIT_NULL);
253 /* ./icode//icode_base.nit:64 */
254 if (UNTAG_Bool(REGB0)) {
255 } else {
256 fprintf(stderr, "Uninitialized attribute %s", "_escape_marks");
257 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 64);
258 nit_exit(1);
259 }
260 fra.me.REG[0] = ATTR_icode_base___IRoutine____escape_marks(fra.me.REG[0]);
261 stack_frame_head = fra.me.prev;
262 return fra.me.REG[0];
263 }
264 val_t icode_base___IRoutine___body(val_t p0){
265 struct {struct stack_frame_t me;} fra;
266 val_t REGB0;
267 val_t tmp;
268 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
269 fra.me.file = LOCATE_icode_base;
270 fra.me.line = 67;
271 fra.me.meth = LOCATE_icode_base___IRoutine___body;
272 fra.me.has_broke = 0;
273 fra.me.REG_size = 1;
274 fra.me.REG[0] = NIT_NULL;
275 fra.me.REG[0] = p0;
276 REGB0 = TAG_Bool(ATTR_icode_base___IRoutine____body(fra.me.REG[0])!=NIT_NULL);
277 /* ./icode//icode_base.nit:67 */
278 if (UNTAG_Bool(REGB0)) {
279 } else {
280 fprintf(stderr, "Uninitialized attribute %s", "_body");
281 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 67);
282 nit_exit(1);
283 }
284 fra.me.REG[0] = ATTR_icode_base___IRoutine____body(fra.me.REG[0]);
285 stack_frame_head = fra.me.prev;
286 return fra.me.REG[0];
287 }
288 val_t icode_base___IRoutine___location(val_t p0){
289 struct {struct stack_frame_t me;} fra;
290 val_t tmp;
291 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
292 fra.me.file = LOCATE_icode_base;
293 fra.me.line = 70;
294 fra.me.meth = LOCATE_icode_base___IRoutine___location;
295 fra.me.has_broke = 0;
296 fra.me.REG_size = 1;
297 fra.me.REG[0] = NIT_NULL;
298 fra.me.REG[0] = p0;
299 fra.me.REG[0] = ATTR_icode_base___IRoutine____location(fra.me.REG[0]);
300 /* ./icode//icode_base.nit:70 */
301 stack_frame_head = fra.me.prev;
302 return fra.me.REG[0];
303 }
304 void icode_base___IRoutine___location__eq(val_t p0, val_t p1){
305 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
306 val_t tmp;
307 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
308 fra.me.file = LOCATE_icode_base;
309 fra.me.line = 70;
310 fra.me.meth = LOCATE_icode_base___IRoutine___location__eq;
311 fra.me.has_broke = 0;
312 fra.me.REG_size = 2;
313 fra.me.REG[0] = NIT_NULL;
314 fra.me.REG[1] = NIT_NULL;
315 fra.me.REG[0] = p0;
316 fra.me.REG[1] = p1;
317 /* ./icode//icode_base.nit:70 */
318 ATTR_icode_base___IRoutine____location(fra.me.REG[0]) = fra.me.REG[1];
319 stack_frame_head = fra.me.prev;
320 return;
321 }
322 void icode_base___IRoutine___init(val_t p0, val_t p1, val_t p2, int* init_table){
323 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IRoutine].i;
324 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
325 val_t tmp;
326 if (init_table[itpos3]) return;
327 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
328 fra.me.file = LOCATE_icode_base;
329 fra.me.line = 73;
330 fra.me.meth = LOCATE_icode_base___IRoutine___init;
331 fra.me.has_broke = 0;
332 fra.me.REG_size = 3;
333 fra.me.REG[0] = NIT_NULL;
334 fra.me.REG[1] = NIT_NULL;
335 fra.me.REG[2] = NIT_NULL;
336 fra.me.REG[0] = p0;
337 fra.me.REG[1] = p1;
338 fra.me.REG[2] = p2;
339 fra.me.REG[1] = CALL_array___Collection___to_a(fra.me.REG[1])(fra.me.REG[1]);
340 /* ./icode//icode_base.nit:75 */
341 ATTR_icode_base___IRoutine____params(fra.me.REG[0]) = fra.me.REG[1];
342 /* ./icode//icode_base.nit:76 */
343 ATTR_icode_base___IRoutine____result(fra.me.REG[0]) = fra.me.REG[2];
344 stack_frame_head = fra.me.prev;
345 init_table[itpos3] = 1;
346 return;
347 }
348 void icode_base___IClosureDef___init(val_t p0, val_t p1, val_t p2, int* init_table){
349 int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IClosureDef].i;
350 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
351 val_t tmp;
352 if (init_table[itpos4]) return;
353 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
354 fra.me.file = LOCATE_icode_base;
355 fra.me.line = 83;
356 fra.me.meth = LOCATE_icode_base___IClosureDef___init;
357 fra.me.has_broke = 0;
358 fra.me.REG_size = 3;
359 fra.me.REG[0] = NIT_NULL;
360 fra.me.REG[1] = NIT_NULL;
361 fra.me.REG[2] = NIT_NULL;
362 fra.me.REG[0] = p0;
363 fra.me.REG[1] = p1;
364 fra.me.REG[2] = p2;
365 /* ./icode//icode_base.nit:85 */
366 CALL_icode_base___IRoutine___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
367 stack_frame_head = fra.me.prev;
368 init_table[itpos4] = 1;
369 return;
370 }
371 val_t icode_base___ICode___arity(val_t p0){
372 struct {struct stack_frame_t me;} fra;
373 val_t tmp;
374 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
375 fra.me.file = LOCATE_icode_base;
376 fra.me.line = 93;
377 fra.me.meth = LOCATE_icode_base___ICode___arity;
378 fra.me.has_broke = 0;
379 fra.me.REG_size = 0;
380 /* ./icode//icode_base.nit:93 */
381 fprintf(stderr, "Deferred method called");
382 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 93);
383 nit_exit(1);
384 stack_frame_head = fra.me.prev;
385 return NIT_NULL;
386 }
387 val_t icode_base___ICode___result(val_t p0){
388 struct {struct stack_frame_t me;} fra;
389 val_t tmp;
390 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
391 fra.me.file = LOCATE_icode_base;
392 fra.me.line = 96;
393 fra.me.meth = LOCATE_icode_base___ICode___result;
394 fra.me.has_broke = 0;
395 fra.me.REG_size = 1;
396 fra.me.REG[0] = NIT_NULL;
397 fra.me.REG[0] = p0;
398 fra.me.REG[0] = ATTR_icode_base___ICode____result(fra.me.REG[0]);
399 /* ./icode//icode_base.nit:96 */
400 stack_frame_head = fra.me.prev;
401 return fra.me.REG[0];
402 }
403 void icode_base___ICode___result__eq(val_t p0, val_t p1){
404 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
405 val_t tmp;
406 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
407 fra.me.file = LOCATE_icode_base;
408 fra.me.line = 96;
409 fra.me.meth = LOCATE_icode_base___ICode___result__eq;
410 fra.me.has_broke = 0;
411 fra.me.REG_size = 2;
412 fra.me.REG[0] = NIT_NULL;
413 fra.me.REG[1] = NIT_NULL;
414 fra.me.REG[0] = p0;
415 fra.me.REG[1] = p1;
416 /* ./icode//icode_base.nit:96 */
417 ATTR_icode_base___ICode____result(fra.me.REG[0]) = fra.me.REG[1];
418 stack_frame_head = fra.me.prev;
419 return;
420 }
421 val_t icode_base___ICode___location(val_t p0){
422 struct {struct stack_frame_t me;} fra;
423 val_t tmp;
424 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
425 fra.me.file = LOCATE_icode_base;
426 fra.me.line = 99;
427 fra.me.meth = LOCATE_icode_base___ICode___location;
428 fra.me.has_broke = 0;
429 fra.me.REG_size = 1;
430 fra.me.REG[0] = NIT_NULL;
431 fra.me.REG[0] = p0;
432 fra.me.REG[0] = ATTR_icode_base___ICode____location(fra.me.REG[0]);
433 /* ./icode//icode_base.nit:99 */
434 stack_frame_head = fra.me.prev;
435 return fra.me.REG[0];
436 }
437 void icode_base___ICode___location__eq(val_t p0, val_t p1){
438 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
439 val_t tmp;
440 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
441 fra.me.file = LOCATE_icode_base;
442 fra.me.line = 99;
443 fra.me.meth = LOCATE_icode_base___ICode___location__eq;
444 fra.me.has_broke = 0;
445 fra.me.REG_size = 2;
446 fra.me.REG[0] = NIT_NULL;
447 fra.me.REG[1] = NIT_NULL;
448 fra.me.REG[0] = p0;
449 fra.me.REG[1] = p1;
450 /* ./icode//icode_base.nit:99 */
451 ATTR_icode_base___ICode____location(fra.me.REG[0]) = fra.me.REG[1];
452 stack_frame_head = fra.me.prev;
453 return;
454 }
455 val_t icode_base___ICode___is_pure(val_t p0){
456 struct {struct stack_frame_t me;} fra;
457 val_t REGB0;
458 val_t tmp;
459 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
460 fra.me.file = LOCATE_icode_base;
461 fra.me.line = 102;
462 fra.me.meth = LOCATE_icode_base___ICode___is_pure;
463 fra.me.has_broke = 0;
464 fra.me.REG_size = 1;
465 fra.me.REG[0] = NIT_NULL;
466 fra.me.REG[0] = p0;
467 REGB0 = TAG_Bool(false);
468 /* ./icode//icode_base.nit:103 */
469 goto label1;
470 label1: while(0);
471 stack_frame_head = fra.me.prev;
472 return REGB0;
473 }
474 void icode_base___ICode___init(val_t p0, int* init_table){
475 int itpos5 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ICode].i;
476 struct {struct stack_frame_t me;} fra;
477 val_t tmp;
478 if (init_table[itpos5]) return;
479 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
480 fra.me.file = LOCATE_icode_base;
481 fra.me.line = 0;
482 fra.me.meth = LOCATE_icode_base___ICode___init;
483 fra.me.has_broke = 0;
484 fra.me.REG_size = 0;
485 stack_frame_head = fra.me.prev;
486 init_table[itpos5] = 1;
487 return;
488 }
489 val_t icode_base___ICode0___arity(val_t p0){
490 struct {struct stack_frame_t me;} fra;
491 val_t REGB0;
492 val_t tmp;
493 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
494 fra.me.file = LOCATE_icode_base;
495 fra.me.line = 109;
496 fra.me.meth = LOCATE_icode_base___ICode0___arity;
497 fra.me.has_broke = 0;
498 fra.me.REG_size = 1;
499 fra.me.REG[0] = NIT_NULL;
500 fra.me.REG[0] = p0;
501 REGB0 = TAG_Int(0);
502 /* ./icode//icode_base.nit:109 */
503 goto label1;
504 label1: while(0);
505 stack_frame_head = fra.me.prev;
506 return REGB0;
507 }
508 val_t icode_base___ICode1___arity(val_t p0){
509 struct {struct stack_frame_t me;} fra;
510 val_t REGB0;
511 val_t tmp;
512 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
513 fra.me.file = LOCATE_icode_base;
514 fra.me.line = 115;
515 fra.me.meth = LOCATE_icode_base___ICode1___arity;
516 fra.me.has_broke = 0;
517 fra.me.REG_size = 1;
518 fra.me.REG[0] = NIT_NULL;
519 fra.me.REG[0] = p0;
520 REGB0 = TAG_Int(1);
521 /* ./icode//icode_base.nit:115 */
522 goto label1;
523 label1: while(0);
524 stack_frame_head = fra.me.prev;
525 return REGB0;
526 }
527 val_t icode_base___ICode1___expr(val_t p0){
528 struct {struct stack_frame_t me;} fra;
529 val_t REGB0;
530 val_t tmp;
531 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
532 fra.me.file = LOCATE_icode_base;
533 fra.me.line = 117;
534 fra.me.meth = LOCATE_icode_base___ICode1___expr;
535 fra.me.has_broke = 0;
536 fra.me.REG_size = 1;
537 fra.me.REG[0] = NIT_NULL;
538 fra.me.REG[0] = p0;
539 REGB0 = TAG_Bool(ATTR_icode_base___ICode1____expr(fra.me.REG[0])!=NIT_NULL);
540 /* ./icode//icode_base.nit:117 */
541 if (UNTAG_Bool(REGB0)) {
542 } else {
543 fprintf(stderr, "Uninitialized attribute %s", "_expr");
544 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 117);
545 nit_exit(1);
546 }
547 fra.me.REG[0] = ATTR_icode_base___ICode1____expr(fra.me.REG[0]);
548 stack_frame_head = fra.me.prev;
549 return fra.me.REG[0];
550 }
551 void icode_base___ICode1___init(val_t p0, val_t p1, int* init_table){
552 int itpos6 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ICode1].i;
553 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
554 val_t tmp;
555 if (init_table[itpos6]) return;
556 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
557 fra.me.file = LOCATE_icode_base;
558 fra.me.line = 120;
559 fra.me.meth = LOCATE_icode_base___ICode1___init;
560 fra.me.has_broke = 0;
561 fra.me.REG_size = 3;
562 fra.me.REG[0] = NIT_NULL;
563 fra.me.REG[1] = NIT_NULL;
564 fra.me.REG[2] = NIT_NULL;
565 fra.me.REG[0] = p0;
566 fra.me.REG[1] = p1;
567 fra.me.REG[2] = fra.me.REG[0];
568 /* ./icode//icode_base.nit:120 */
569 CALL_icode_base___ICode___init(fra.me.REG[0])(fra.me.REG[0], init_table);
570 ATTR_icode_base___ICode1____expr(fra.me.REG[2]) = fra.me.REG[1];
571 stack_frame_head = fra.me.prev;
572 init_table[itpos6] = 1;
573 return;
574 }
575 val_t icode_base___ICode2___arity(val_t p0){
576 struct {struct stack_frame_t me;} fra;
577 val_t REGB0;
578 val_t tmp;
579 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
580 fra.me.file = LOCATE_icode_base;
581 fra.me.line = 126;
582 fra.me.meth = LOCATE_icode_base___ICode2___arity;
583 fra.me.has_broke = 0;
584 fra.me.REG_size = 1;
585 fra.me.REG[0] = NIT_NULL;
586 fra.me.REG[0] = p0;
587 REGB0 = TAG_Int(2);
588 /* ./icode//icode_base.nit:126 */
589 goto label1;
590 label1: while(0);
591 stack_frame_head = fra.me.prev;
592 return REGB0;
593 }
594 val_t icode_base___ICode2___expr1(val_t p0){
595 struct {struct stack_frame_t me;} fra;
596 val_t REGB0;
597 val_t tmp;
598 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
599 fra.me.file = LOCATE_icode_base;
600 fra.me.line = 128;
601 fra.me.meth = LOCATE_icode_base___ICode2___expr1;
602 fra.me.has_broke = 0;
603 fra.me.REG_size = 1;
604 fra.me.REG[0] = NIT_NULL;
605 fra.me.REG[0] = p0;
606 REGB0 = TAG_Bool(ATTR_icode_base___ICode2____expr1(fra.me.REG[0])!=NIT_NULL);
607 /* ./icode//icode_base.nit:128 */
608 if (UNTAG_Bool(REGB0)) {
609 } else {
610 fprintf(stderr, "Uninitialized attribute %s", "_expr1");
611 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 128);
612 nit_exit(1);
613 }
614 fra.me.REG[0] = ATTR_icode_base___ICode2____expr1(fra.me.REG[0]);
615 stack_frame_head = fra.me.prev;
616 return fra.me.REG[0];
617 }
618 val_t icode_base___ICode2___expr2(val_t p0){
619 struct {struct stack_frame_t me;} fra;
620 val_t REGB0;
621 val_t tmp;
622 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
623 fra.me.file = LOCATE_icode_base;
624 fra.me.line = 131;
625 fra.me.meth = LOCATE_icode_base___ICode2___expr2;
626 fra.me.has_broke = 0;
627 fra.me.REG_size = 1;
628 fra.me.REG[0] = NIT_NULL;
629 fra.me.REG[0] = p0;
630 REGB0 = TAG_Bool(ATTR_icode_base___ICode2____expr2(fra.me.REG[0])!=NIT_NULL);
631 /* ./icode//icode_base.nit:131 */
632 if (UNTAG_Bool(REGB0)) {
633 } else {
634 fprintf(stderr, "Uninitialized attribute %s", "_expr2");
635 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 131);
636 nit_exit(1);
637 }
638 fra.me.REG[0] = ATTR_icode_base___ICode2____expr2(fra.me.REG[0]);
639 stack_frame_head = fra.me.prev;
640 return fra.me.REG[0];
641 }
642 void icode_base___ICode2___init(val_t p0, val_t p1, val_t p2, int* init_table){
643 int itpos7 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ICode2].i;
644 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
645 val_t tmp;
646 if (init_table[itpos7]) return;
647 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
648 fra.me.file = LOCATE_icode_base;
649 fra.me.line = 134;
650 fra.me.meth = LOCATE_icode_base___ICode2___init;
651 fra.me.has_broke = 0;
652 fra.me.REG_size = 4;
653 fra.me.REG[0] = NIT_NULL;
654 fra.me.REG[1] = NIT_NULL;
655 fra.me.REG[2] = NIT_NULL;
656 fra.me.REG[3] = NIT_NULL;
657 fra.me.REG[0] = p0;
658 fra.me.REG[1] = p1;
659 fra.me.REG[2] = p2;
660 fra.me.REG[3] = fra.me.REG[0];
661 /* ./icode//icode_base.nit:134 */
662 CALL_icode_base___ICode___init(fra.me.REG[0])(fra.me.REG[0], init_table);
663 /* ./icode//icode_base.nit:136 */
664 ATTR_icode_base___ICode2____expr1(fra.me.REG[3]) = fra.me.REG[1];
665 /* ./icode//icode_base.nit:137 */
666 ATTR_icode_base___ICode2____expr2(fra.me.REG[3]) = fra.me.REG[2];
667 stack_frame_head = fra.me.prev;
668 init_table[itpos7] = 1;
669 return;
670 }
671 val_t icode_base___ICodeN___arity(val_t p0){
672 struct {struct stack_frame_t me;} fra;
673 val_t REGB0;
674 val_t tmp;
675 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
676 fra.me.file = LOCATE_icode_base;
677 fra.me.line = 144;
678 fra.me.meth = LOCATE_icode_base___ICodeN___arity;
679 fra.me.has_broke = 0;
680 fra.me.REG_size = 1;
681 fra.me.REG[0] = NIT_NULL;
682 fra.me.REG[0] = p0;
683 REGB0 = TAG_Bool(ATTR_icode_base___ICodeN____exprs(fra.me.REG[0])!=NIT_NULL);
684 /* ./icode//icode_base.nit:144 */
685 if (UNTAG_Bool(REGB0)) {
686 } else {
687 fprintf(stderr, "Uninitialized attribute %s", "_exprs");
688 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 144);
689 nit_exit(1);
690 }
691 fra.me.REG[0] = ATTR_icode_base___ICodeN____exprs(fra.me.REG[0]);
692 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
693 goto label1;
694 label1: while(0);
695 stack_frame_head = fra.me.prev;
696 return REGB0;
697 }
698 val_t icode_base___ICodeN___exprs(val_t p0){
699 struct {struct stack_frame_t me;} fra;
700 val_t REGB0;
701 val_t tmp;
702 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
703 fra.me.file = LOCATE_icode_base;
704 fra.me.line = 146;
705 fra.me.meth = LOCATE_icode_base___ICodeN___exprs;
706 fra.me.has_broke = 0;
707 fra.me.REG_size = 1;
708 fra.me.REG[0] = NIT_NULL;
709 fra.me.REG[0] = p0;
710 REGB0 = TAG_Bool(ATTR_icode_base___ICodeN____exprs(fra.me.REG[0])!=NIT_NULL);
711 /* ./icode//icode_base.nit:146 */
712 if (UNTAG_Bool(REGB0)) {
713 } else {
714 fprintf(stderr, "Uninitialized attribute %s", "_exprs");
715 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 146);
716 nit_exit(1);
717 }
718 fra.me.REG[0] = ATTR_icode_base___ICodeN____exprs(fra.me.REG[0]);
719 stack_frame_head = fra.me.prev;
720 return fra.me.REG[0];
721 }
722 val_t icode_base___ICodeN___closure_defs(val_t p0){
723 struct {struct stack_frame_t me;} fra;
724 val_t tmp;
725 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
726 fra.me.file = LOCATE_icode_base;
727 fra.me.line = 149;
728 fra.me.meth = LOCATE_icode_base___ICodeN___closure_defs;
729 fra.me.has_broke = 0;
730 fra.me.REG_size = 1;
731 fra.me.REG[0] = NIT_NULL;
732 fra.me.REG[0] = p0;
733 fra.me.REG[0] = ATTR_icode_base___ICodeN____closure_defs(fra.me.REG[0]);
734 /* ./icode//icode_base.nit:149 */
735 stack_frame_head = fra.me.prev;
736 return fra.me.REG[0];
737 }
738 void icode_base___ICodeN___closure_defs__eq(val_t p0, val_t p1){
739 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
740 val_t tmp;
741 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
742 fra.me.file = LOCATE_icode_base;
743 fra.me.line = 149;
744 fra.me.meth = LOCATE_icode_base___ICodeN___closure_defs__eq;
745 fra.me.has_broke = 0;
746 fra.me.REG_size = 2;
747 fra.me.REG[0] = NIT_NULL;
748 fra.me.REG[1] = NIT_NULL;
749 fra.me.REG[0] = p0;
750 fra.me.REG[1] = p1;
751 /* ./icode//icode_base.nit:149 */
752 ATTR_icode_base___ICodeN____closure_defs(fra.me.REG[0]) = fra.me.REG[1];
753 stack_frame_head = fra.me.prev;
754 return;
755 }
756 void icode_base___ICodeN___init(val_t p0, val_t p1, int* init_table){
757 int itpos8 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ICodeN].i;
758 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
759 val_t REGB0;
760 val_t REGB1;
761 val_t tmp;
762 if (init_table[itpos8]) return;
763 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
764 fra.me.file = LOCATE_icode_base;
765 fra.me.line = 152;
766 fra.me.meth = LOCATE_icode_base___ICodeN___init;
767 fra.me.has_broke = 0;
768 fra.me.REG_size = 3;
769 fra.me.REG[0] = NIT_NULL;
770 fra.me.REG[1] = NIT_NULL;
771 fra.me.REG[2] = NIT_NULL;
772 fra.me.REG[0] = p0;
773 fra.me.REG[1] = p1;
774 fra.me.REG[2] = fra.me.REG[0];
775 /* ./icode//icode_base.nit:152 */
776 CALL_icode_base___ICode___init(fra.me.REG[0])(fra.me.REG[0], init_table);
777 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
778 /* ./icode//icode_base.nit:154 */
779 if (UNTAG_Bool(REGB0)) {
780 } else {
781 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
782 if (UNTAG_Bool(REGB1)) {
783 REGB1 = TAG_Bool(false);
784 REGB0 = REGB1;
785 } else {
786 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
787 REGB0 = REGB1;
788 }
789 }
790 if (UNTAG_Bool(REGB0)) {
791 fra.me.REG[0] = NEW_Array_array___Array___init();
792 /* ./icode//icode_base.nit:155 */
793 ATTR_icode_base___ICodeN____exprs(fra.me.REG[2]) = fra.me.REG[0];
794 } else {
795 /* ./icode//icode_base.nit:157 */
796 ATTR_icode_base___ICodeN____exprs(fra.me.REG[2]) = fra.me.REG[1];
797 }
798 stack_frame_head = fra.me.prev;
799 init_table[itpos8] = 1;
800 return;
801 }
802 val_t icode_base___ISeq___icodes(val_t p0){
803 struct {struct stack_frame_t me;} fra;
804 val_t REGB0;
805 val_t tmp;
806 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
807 fra.me.file = LOCATE_icode_base;
808 fra.me.line = 167;
809 fra.me.meth = LOCATE_icode_base___ISeq___icodes;
810 fra.me.has_broke = 0;
811 fra.me.REG_size = 1;
812 fra.me.REG[0] = NIT_NULL;
813 fra.me.REG[0] = p0;
814 REGB0 = TAG_Bool(ATTR_icode_base___ISeq____icodes(fra.me.REG[0])!=NIT_NULL);
815 /* ./icode//icode_base.nit:167 */
816 if (UNTAG_Bool(REGB0)) {
817 } else {
818 fprintf(stderr, "Uninitialized attribute %s", "_icodes");
819 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 167);
820 nit_exit(1);
821 }
822 fra.me.REG[0] = ATTR_icode_base___ISeq____icodes(fra.me.REG[0]);
823 stack_frame_head = fra.me.prev;
824 return fra.me.REG[0];
825 }
826 val_t icode_base___ISeq___iescape_mark(val_t p0){
827 struct {struct stack_frame_t me;} fra;
828 val_t tmp;
829 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
830 fra.me.file = LOCATE_icode_base;
831 fra.me.line = 170;
832 fra.me.meth = LOCATE_icode_base___ISeq___iescape_mark;
833 fra.me.has_broke = 0;
834 fra.me.REG_size = 1;
835 fra.me.REG[0] = NIT_NULL;
836 fra.me.REG[0] = p0;
837 fra.me.REG[0] = ATTR_icode_base___ISeq____iescape_mark(fra.me.REG[0]);
838 /* ./icode//icode_base.nit:170 */
839 stack_frame_head = fra.me.prev;
840 return fra.me.REG[0];
841 }
842 void icode_base___ISeq___iescape_mark__eq(val_t p0, val_t p1){
843 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
844 val_t tmp;
845 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
846 fra.me.file = LOCATE_icode_base;
847 fra.me.line = 170;
848 fra.me.meth = LOCATE_icode_base___ISeq___iescape_mark__eq;
849 fra.me.has_broke = 0;
850 fra.me.REG_size = 2;
851 fra.me.REG[0] = NIT_NULL;
852 fra.me.REG[1] = NIT_NULL;
853 fra.me.REG[0] = p0;
854 fra.me.REG[1] = p1;
855 /* ./icode//icode_base.nit:170 */
856 ATTR_icode_base___ISeq____iescape_mark(fra.me.REG[0]) = fra.me.REG[1];
857 stack_frame_head = fra.me.prev;
858 return;
859 }
860 void icode_base___ISeq___init(val_t p0, int* init_table){
861 int itpos9 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ISeq].i;
862 struct {struct stack_frame_t me;} fra;
863 val_t tmp;
864 if (init_table[itpos9]) return;
865 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
866 fra.me.file = LOCATE_icode_base;
867 fra.me.line = 173;
868 fra.me.meth = LOCATE_icode_base___ISeq___init;
869 fra.me.has_broke = 0;
870 fra.me.REG_size = 1;
871 fra.me.REG[0] = NIT_NULL;
872 fra.me.REG[0] = p0;
873 /* ./icode//icode_base.nit:173 */
874 stack_frame_head = fra.me.prev;
875 init_table[itpos9] = 1;
876 return;
877 }
878 void icode_base___ILoop___init(val_t p0, int* init_table){
879 int itpos10 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ILoop].i;
880 struct {struct stack_frame_t me;} fra;
881 val_t tmp;
882 if (init_table[itpos10]) return;
883 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
884 fra.me.file = LOCATE_icode_base;
885 fra.me.line = 180;
886 fra.me.meth = LOCATE_icode_base___ILoop___init;
887 fra.me.has_broke = 0;
888 fra.me.REG_size = 1;
889 fra.me.REG[0] = NIT_NULL;
890 fra.me.REG[0] = p0;
891 /* ./icode//icode_base.nit:180 */
892 CALL_icode_base___ISeq___init(fra.me.REG[0])(fra.me.REG[0], init_table);
893 stack_frame_head = fra.me.prev;
894 init_table[itpos10] = 1;
895 return;
896 }
897 val_t icode_base___IIf___then_seq(val_t p0){
898 struct {struct stack_frame_t me;} fra;
899 val_t REGB0;
900 val_t tmp;
901 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
902 fra.me.file = LOCATE_icode_base;
903 fra.me.line = 187;
904 fra.me.meth = LOCATE_icode_base___IIf___then_seq;
905 fra.me.has_broke = 0;
906 fra.me.REG_size = 1;
907 fra.me.REG[0] = NIT_NULL;
908 fra.me.REG[0] = p0;
909 REGB0 = TAG_Bool(ATTR_icode_base___IIf____then_seq(fra.me.REG[0])!=NIT_NULL);
910 /* ./icode//icode_base.nit:187 */
911 if (UNTAG_Bool(REGB0)) {
912 } else {
913 fprintf(stderr, "Uninitialized attribute %s", "_then_seq");
914 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 187);
915 nit_exit(1);
916 }
917 fra.me.REG[0] = ATTR_icode_base___IIf____then_seq(fra.me.REG[0]);
918 stack_frame_head = fra.me.prev;
919 return fra.me.REG[0];
920 }
921 val_t icode_base___IIf___else_seq(val_t p0){
922 struct {struct stack_frame_t me;} fra;
923 val_t REGB0;
924 val_t tmp;
925 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
926 fra.me.file = LOCATE_icode_base;
927 fra.me.line = 189;
928 fra.me.meth = LOCATE_icode_base___IIf___else_seq;
929 fra.me.has_broke = 0;
930 fra.me.REG_size = 1;
931 fra.me.REG[0] = NIT_NULL;
932 fra.me.REG[0] = p0;
933 REGB0 = TAG_Bool(ATTR_icode_base___IIf____else_seq(fra.me.REG[0])!=NIT_NULL);
934 /* ./icode//icode_base.nit:189 */
935 if (UNTAG_Bool(REGB0)) {
936 } else {
937 fprintf(stderr, "Uninitialized attribute %s", "_else_seq");
938 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 189);
939 nit_exit(1);
940 }
941 fra.me.REG[0] = ATTR_icode_base___IIf____else_seq(fra.me.REG[0]);
942 stack_frame_head = fra.me.prev;
943 return fra.me.REG[0];
944 }
945 void icode_base___IIf___init(val_t p0, val_t p1, int* init_table){
946 int itpos11 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IIf].i;
947 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
948 val_t tmp;
949 if (init_table[itpos11]) return;
950 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
951 fra.me.file = LOCATE_icode_base;
952 fra.me.line = 191;
953 fra.me.meth = LOCATE_icode_base___IIf___init;
954 fra.me.has_broke = 0;
955 fra.me.REG_size = 2;
956 fra.me.REG[0] = NIT_NULL;
957 fra.me.REG[1] = NIT_NULL;
958 fra.me.REG[0] = p0;
959 fra.me.REG[1] = p1;
960 /* ./icode//icode_base.nit:191 */
961 CALL_icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], init_table);
962 stack_frame_head = fra.me.prev;
963 init_table[itpos11] = 1;
964 return;
965 }
966 val_t icode_base___IEscape___iescape_mark(val_t p0){
967 struct {struct stack_frame_t me;} fra;
968 val_t REGB0;
969 val_t tmp;
970 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
971 fra.me.file = LOCATE_icode_base;
972 fra.me.line = 197;
973 fra.me.meth = LOCATE_icode_base___IEscape___iescape_mark;
974 fra.me.has_broke = 0;
975 fra.me.REG_size = 1;
976 fra.me.REG[0] = NIT_NULL;
977 fra.me.REG[0] = p0;
978 REGB0 = TAG_Bool(ATTR_icode_base___IEscape____iescape_mark(fra.me.REG[0])!=NIT_NULL);
979 /* ./icode//icode_base.nit:197 */
980 if (UNTAG_Bool(REGB0)) {
981 } else {
982 fprintf(stderr, "Uninitialized attribute %s", "_iescape_mark");
983 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 197);
984 nit_exit(1);
985 }
986 fra.me.REG[0] = ATTR_icode_base___IEscape____iescape_mark(fra.me.REG[0]);
987 stack_frame_head = fra.me.prev;
988 return fra.me.REG[0];
989 }
990 void icode_base___IEscape___init(val_t p0, val_t p1, int* init_table){
991 int itpos12 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IEscape].i;
992 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
993 val_t tmp;
994 if (init_table[itpos12]) return;
995 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
996 fra.me.file = LOCATE_icode_base;
997 fra.me.line = 200;
998 fra.me.meth = LOCATE_icode_base___IEscape___init;
999 fra.me.has_broke = 0;
1000 fra.me.REG_size = 2;
1001 fra.me.REG[0] = NIT_NULL;
1002 fra.me.REG[1] = NIT_NULL;
1003 fra.me.REG[0] = p0;
1004 fra.me.REG[1] = p1;
1005 /* ./icode//icode_base.nit:200 */
1006 ATTR_icode_base___IEscape____iescape_mark(fra.me.REG[0]) = fra.me.REG[1];
1007 stack_frame_head = fra.me.prev;
1008 init_table[itpos12] = 1;
1009 return;
1010 }
1011 val_t icode_base___IAbort___texts(val_t p0){
1012 struct {struct stack_frame_t me;} fra;
1013 val_t REGB0;
1014 val_t tmp;
1015 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1016 fra.me.file = LOCATE_icode_base;
1017 fra.me.line = 206;
1018 fra.me.meth = LOCATE_icode_base___IAbort___texts;
1019 fra.me.has_broke = 0;
1020 fra.me.REG_size = 1;
1021 fra.me.REG[0] = NIT_NULL;
1022 fra.me.REG[0] = p0;
1023 REGB0 = TAG_Bool(ATTR_icode_base___IAbort____texts(fra.me.REG[0])!=NIT_NULL);
1024 /* ./icode//icode_base.nit:206 */
1025 if (UNTAG_Bool(REGB0)) {
1026 } else {
1027 fprintf(stderr, "Uninitialized attribute %s", "_texts");
1028 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 206);
1029 nit_exit(1);
1030 }
1031 fra.me.REG[0] = ATTR_icode_base___IAbort____texts(fra.me.REG[0]);
1032 stack_frame_head = fra.me.prev;
1033 return fra.me.REG[0];
1034 }
1035 val_t icode_base___IAbort___module_location(val_t p0){
1036 struct {struct stack_frame_t me;} fra;
1037 val_t REGB0;
1038 val_t tmp;
1039 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1040 fra.me.file = LOCATE_icode_base;
1041 fra.me.line = 209;
1042 fra.me.meth = LOCATE_icode_base___IAbort___module_location;
1043 fra.me.has_broke = 0;
1044 fra.me.REG_size = 1;
1045 fra.me.REG[0] = NIT_NULL;
1046 fra.me.REG[0] = p0;
1047 REGB0 = TAG_Bool(ATTR_icode_base___IAbort____module_location(fra.me.REG[0])!=NIT_NULL);
1048 /* ./icode//icode_base.nit:209 */
1049 if (UNTAG_Bool(REGB0)) {
1050 } else {
1051 fprintf(stderr, "Uninitialized attribute %s", "_module_location");
1052 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 209);
1053 nit_exit(1);
1054 }
1055 fra.me.REG[0] = ATTR_icode_base___IAbort____module_location(fra.me.REG[0]);
1056 stack_frame_head = fra.me.prev;
1057 return fra.me.REG[0];
1058 }
1059 void icode_base___IAbort___init(val_t p0, val_t p1, val_t p2, int* init_table){
1060 int itpos13 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IAbort].i;
1061 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1062 val_t tmp;
1063 if (init_table[itpos13]) return;
1064 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1065 fra.me.file = LOCATE_icode_base;
1066 fra.me.line = 211;
1067 fra.me.meth = LOCATE_icode_base___IAbort___init;
1068 fra.me.has_broke = 0;
1069 fra.me.REG_size = 3;
1070 fra.me.REG[0] = NIT_NULL;
1071 fra.me.REG[1] = NIT_NULL;
1072 fra.me.REG[2] = NIT_NULL;
1073 fra.me.REG[0] = p0;
1074 fra.me.REG[1] = p1;
1075 fra.me.REG[2] = p2;
1076 /* ./icode//icode_base.nit:213 */
1077 ATTR_icode_base___IAbort____texts(fra.me.REG[0]) = fra.me.REG[1];
1078 /* ./icode//icode_base.nit:214 */
1079 ATTR_icode_base___IAbort____module_location(fra.me.REG[0]) = fra.me.REG[2];
1080 stack_frame_head = fra.me.prev;
1081 init_table[itpos13] = 1;
1082 return;
1083 }
1084 val_t icode_base___IAbsCall___property(val_t p0){
1085 struct {struct stack_frame_t me;} fra;
1086 val_t REGB0;
1087 val_t tmp;
1088 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1089 fra.me.file = LOCATE_icode_base;
1090 fra.me.line = 223;
1091 fra.me.meth = LOCATE_icode_base___IAbsCall___property;
1092 fra.me.has_broke = 0;
1093 fra.me.REG_size = 1;
1094 fra.me.REG[0] = NIT_NULL;
1095 fra.me.REG[0] = p0;
1096 REGB0 = TAG_Bool(ATTR_icode_base___IAbsCall____property(fra.me.REG[0])!=NIT_NULL);
1097 /* ./icode//icode_base.nit:223 */
1098 if (UNTAG_Bool(REGB0)) {
1099 } else {
1100 fprintf(stderr, "Uninitialized attribute %s", "_property");
1101 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 223);
1102 nit_exit(1);
1103 }
1104 fra.me.REG[0] = ATTR_icode_base___IAbsCall____property(fra.me.REG[0]);
1105 stack_frame_head = fra.me.prev;
1106 return fra.me.REG[0];
1107 }
1108 void icode_base___IAbsCall___init(val_t p0, val_t p1, val_t p2, int* init_table){
1109 int itpos14 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IAbsCall].i;
1110 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1111 val_t tmp;
1112 if (init_table[itpos14]) return;
1113 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1114 fra.me.file = LOCATE_icode_base;
1115 fra.me.line = 226;
1116 fra.me.meth = LOCATE_icode_base___IAbsCall___init;
1117 fra.me.has_broke = 0;
1118 fra.me.REG_size = 4;
1119 fra.me.REG[0] = NIT_NULL;
1120 fra.me.REG[1] = NIT_NULL;
1121 fra.me.REG[2] = NIT_NULL;
1122 fra.me.REG[3] = NIT_NULL;
1123 fra.me.REG[0] = p0;
1124 fra.me.REG[1] = p1;
1125 fra.me.REG[2] = p2;
1126 fra.me.REG[3] = fra.me.REG[0];
1127 /* ./icode//icode_base.nit:228 */
1128 CALL_icode_base___ICodeN___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
1129 /* ./icode//icode_base.nit:229 */
1130 ATTR_icode_base___IAbsCall____property(fra.me.REG[3]) = fra.me.REG[1];
1131 stack_frame_head = fra.me.prev;
1132 init_table[itpos14] = 1;
1133 return;
1134 }
1135 void icode_base___ICall___init(val_t p0, val_t p1, val_t p2, int* init_table){
1136 int itpos15 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ICall].i;
1137 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1138 val_t tmp;
1139 if (init_table[itpos15]) return;
1140 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1141 fra.me.file = LOCATE_icode_base;
1142 fra.me.line = 237;
1143 fra.me.meth = LOCATE_icode_base___ICall___init;
1144 fra.me.has_broke = 0;
1145 fra.me.REG_size = 3;
1146 fra.me.REG[0] = NIT_NULL;
1147 fra.me.REG[1] = NIT_NULL;
1148 fra.me.REG[2] = NIT_NULL;
1149 fra.me.REG[0] = p0;
1150 fra.me.REG[1] = p1;
1151 fra.me.REG[2] = p2;
1152 /* ./icode//icode_base.nit:237 */
1153 CALL_icode_base___IAbsCall___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
1154 stack_frame_head = fra.me.prev;
1155 init_table[itpos15] = 1;
1156 return;
1157 }
1158 void icode_base___ISuper___init(val_t p0, val_t p1, val_t p2, int* init_table){
1159 int itpos16 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ISuper].i;
1160 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1161 val_t tmp;
1162 if (init_table[itpos16]) return;
1163 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1164 fra.me.file = LOCATE_icode_base;
1165 fra.me.line = 244;
1166 fra.me.meth = LOCATE_icode_base___ISuper___init;
1167 fra.me.has_broke = 0;
1168 fra.me.REG_size = 3;
1169 fra.me.REG[0] = NIT_NULL;
1170 fra.me.REG[1] = NIT_NULL;
1171 fra.me.REG[2] = NIT_NULL;
1172 fra.me.REG[0] = p0;
1173 fra.me.REG[1] = p1;
1174 fra.me.REG[2] = p2;
1175 /* ./icode//icode_base.nit:244 */
1176 CALL_icode_base___IAbsCall___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
1177 stack_frame_head = fra.me.prev;
1178 init_table[itpos16] = 1;
1179 return;
1180 }
1181 val_t icode_base___INew___stype(val_t p0){
1182 struct {struct stack_frame_t me;} fra;
1183 val_t REGB0;
1184 val_t tmp;
1185 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1186 fra.me.file = LOCATE_icode_base;
1187 fra.me.line = 256;
1188 fra.me.meth = LOCATE_icode_base___INew___stype;
1189 fra.me.has_broke = 0;
1190 fra.me.REG_size = 1;
1191 fra.me.REG[0] = NIT_NULL;
1192 fra.me.REG[0] = p0;
1193 REGB0 = TAG_Bool(ATTR_icode_base___INew____stype(fra.me.REG[0])!=NIT_NULL);
1194 /* ./icode//icode_base.nit:256 */
1195 if (UNTAG_Bool(REGB0)) {
1196 } else {
1197 fprintf(stderr, "Uninitialized attribute %s", "_stype");
1198 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 256);
1199 nit_exit(1);
1200 }
1201 fra.me.REG[0] = ATTR_icode_base___INew____stype(fra.me.REG[0]);
1202 stack_frame_head = fra.me.prev;
1203 return fra.me.REG[0];
1204 }
1205 void icode_base___INew___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
1206 int itpos17 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_INew].i;
1207 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
1208 val_t tmp;
1209 if (init_table[itpos17]) return;
1210 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1211 fra.me.file = LOCATE_icode_base;
1212 fra.me.line = 258;
1213 fra.me.meth = LOCATE_icode_base___INew___init;
1214 fra.me.has_broke = 0;
1215 fra.me.REG_size = 5;
1216 fra.me.REG[0] = NIT_NULL;
1217 fra.me.REG[1] = NIT_NULL;
1218 fra.me.REG[2] = NIT_NULL;
1219 fra.me.REG[3] = NIT_NULL;
1220 fra.me.REG[4] = NIT_NULL;
1221 fra.me.REG[0] = p0;
1222 fra.me.REG[1] = p1;
1223 fra.me.REG[2] = p2;
1224 fra.me.REG[3] = p3;
1225 fra.me.REG[4] = fra.me.REG[0];
1226 /* ./icode//icode_base.nit:260 */
1227 CALL_icode_base___IAbsCall___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[3], init_table);
1228 /* ./icode//icode_base.nit:261 */
1229 ATTR_icode_base___INew____stype(fra.me.REG[4]) = fra.me.REG[1];
1230 stack_frame_head = fra.me.prev;
1231 init_table[itpos17] = 1;
1232 return;
1233 }
1234 val_t icode_base___IAllocateInstance___stype(val_t p0){
1235 struct {struct stack_frame_t me;} fra;
1236 val_t REGB0;
1237 val_t tmp;
1238 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1239 fra.me.file = LOCATE_icode_base;
1240 fra.me.line = 270;
1241 fra.me.meth = LOCATE_icode_base___IAllocateInstance___stype;
1242 fra.me.has_broke = 0;
1243 fra.me.REG_size = 1;
1244 fra.me.REG[0] = NIT_NULL;
1245 fra.me.REG[0] = p0;
1246 REGB0 = TAG_Bool(ATTR_icode_base___IAllocateInstance____stype(fra.me.REG[0])!=NIT_NULL);
1247 /* ./icode//icode_base.nit:270 */
1248 if (UNTAG_Bool(REGB0)) {
1249 } else {
1250 fprintf(stderr, "Uninitialized attribute %s", "_stype");
1251 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 270);
1252 nit_exit(1);
1253 }
1254 fra.me.REG[0] = ATTR_icode_base___IAllocateInstance____stype(fra.me.REG[0]);
1255 stack_frame_head = fra.me.prev;
1256 return fra.me.REG[0];
1257 }
1258 void icode_base___IAllocateInstance___init(val_t p0, val_t p1, int* init_table){
1259 int itpos18 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IAllocateInstance].i;
1260 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1261 val_t tmp;
1262 if (init_table[itpos18]) return;
1263 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1264 fra.me.file = LOCATE_icode_base;
1265 fra.me.line = 272;
1266 fra.me.meth = LOCATE_icode_base___IAllocateInstance___init;
1267 fra.me.has_broke = 0;
1268 fra.me.REG_size = 2;
1269 fra.me.REG[0] = NIT_NULL;
1270 fra.me.REG[1] = NIT_NULL;
1271 fra.me.REG[0] = p0;
1272 fra.me.REG[1] = p1;
1273 /* ./icode//icode_base.nit:274 */
1274 ATTR_icode_base___IAllocateInstance____stype(fra.me.REG[0]) = fra.me.REG[1];
1275 stack_frame_head = fra.me.prev;
1276 init_table[itpos18] = 1;
1277 return;
1278 }
1279 void icode_base___IStaticCall___init(val_t p0, val_t p1, val_t p2, int* init_table){
1280 int itpos19 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IStaticCall].i;
1281 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1282 val_t tmp;
1283 if (init_table[itpos19]) return;
1284 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1285 fra.me.file = LOCATE_icode_base;
1286 fra.me.line = 281;
1287 fra.me.meth = LOCATE_icode_base___IStaticCall___init;
1288 fra.me.has_broke = 0;
1289 fra.me.REG_size = 3;
1290 fra.me.REG[0] = NIT_NULL;
1291 fra.me.REG[1] = NIT_NULL;
1292 fra.me.REG[2] = NIT_NULL;
1293 fra.me.REG[0] = p0;
1294 fra.me.REG[1] = p1;
1295 fra.me.REG[2] = p2;
1296 /* ./icode//icode_base.nit:281 */
1297 CALL_icode_base___IAbsCall___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
1298 stack_frame_head = fra.me.prev;
1299 init_table[itpos19] = 1;
1300 return;
1301 }
1302 val_t icode_base___ICheckInstance___stype(val_t p0){
1303 struct {struct stack_frame_t me;} fra;
1304 val_t REGB0;
1305 val_t tmp;
1306 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1307 fra.me.file = LOCATE_icode_base;
1308 fra.me.line = 287;
1309 fra.me.meth = LOCATE_icode_base___ICheckInstance___stype;
1310 fra.me.has_broke = 0;
1311 fra.me.REG_size = 1;
1312 fra.me.REG[0] = NIT_NULL;
1313 fra.me.REG[0] = p0;
1314 REGB0 = TAG_Bool(ATTR_icode_base___ICheckInstance____stype(fra.me.REG[0])!=NIT_NULL);
1315 /* ./icode//icode_base.nit:287 */
1316 if (UNTAG_Bool(REGB0)) {
1317 } else {
1318 fprintf(stderr, "Uninitialized attribute %s", "_stype");
1319 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 287);
1320 nit_exit(1);
1321 }
1322 fra.me.REG[0] = ATTR_icode_base___ICheckInstance____stype(fra.me.REG[0]);
1323 stack_frame_head = fra.me.prev;
1324 return fra.me.REG[0];
1325 }
1326 void icode_base___ICheckInstance___init(val_t p0, val_t p1, val_t p2, int* init_table){
1327 int itpos20 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ICheckInstance].i;
1328 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1329 val_t tmp;
1330 if (init_table[itpos20]) return;
1331 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1332 fra.me.file = LOCATE_icode_base;
1333 fra.me.line = 289;
1334 fra.me.meth = LOCATE_icode_base___ICheckInstance___init;
1335 fra.me.has_broke = 0;
1336 fra.me.REG_size = 4;
1337 fra.me.REG[0] = NIT_NULL;
1338 fra.me.REG[1] = NIT_NULL;
1339 fra.me.REG[2] = NIT_NULL;
1340 fra.me.REG[3] = NIT_NULL;
1341 fra.me.REG[0] = p0;
1342 fra.me.REG[1] = p1;
1343 fra.me.REG[2] = p2;
1344 fra.me.REG[3] = fra.me.REG[0];
1345 /* ./icode//icode_base.nit:291 */
1346 CALL_icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
1347 /* ./icode//icode_base.nit:292 */
1348 ATTR_icode_base___ICheckInstance____stype(fra.me.REG[3]) = fra.me.REG[1];
1349 stack_frame_head = fra.me.prev;
1350 init_table[itpos20] = 1;
1351 return;
1352 }
1353 val_t icode_base___IInitAttributes___stype(val_t p0){
1354 struct {struct stack_frame_t me;} fra;
1355 val_t REGB0;
1356 val_t tmp;
1357 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1358 fra.me.file = LOCATE_icode_base;
1359 fra.me.line = 299;
1360 fra.me.meth = LOCATE_icode_base___IInitAttributes___stype;
1361 fra.me.has_broke = 0;
1362 fra.me.REG_size = 1;
1363 fra.me.REG[0] = NIT_NULL;
1364 fra.me.REG[0] = p0;
1365 REGB0 = TAG_Bool(ATTR_icode_base___IInitAttributes____stype(fra.me.REG[0])!=NIT_NULL);
1366 /* ./icode//icode_base.nit:299 */
1367 if (UNTAG_Bool(REGB0)) {
1368 } else {
1369 fprintf(stderr, "Uninitialized attribute %s", "_stype");
1370 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 299);
1371 nit_exit(1);
1372 }
1373 fra.me.REG[0] = ATTR_icode_base___IInitAttributes____stype(fra.me.REG[0]);
1374 stack_frame_head = fra.me.prev;
1375 return fra.me.REG[0];
1376 }
1377 void icode_base___IInitAttributes___init(val_t p0, val_t p1, val_t p2, int* init_table){
1378 int itpos21 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IInitAttributes].i;
1379 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1380 val_t tmp;
1381 if (init_table[itpos21]) return;
1382 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1383 fra.me.file = LOCATE_icode_base;
1384 fra.me.line = 301;
1385 fra.me.meth = LOCATE_icode_base___IInitAttributes___init;
1386 fra.me.has_broke = 0;
1387 fra.me.REG_size = 4;
1388 fra.me.REG[0] = NIT_NULL;
1389 fra.me.REG[1] = NIT_NULL;
1390 fra.me.REG[2] = NIT_NULL;
1391 fra.me.REG[3] = NIT_NULL;
1392 fra.me.REG[0] = p0;
1393 fra.me.REG[1] = p1;
1394 fra.me.REG[2] = p2;
1395 fra.me.REG[3] = fra.me.REG[0];
1396 /* ./icode//icode_base.nit:303 */
1397 CALL_icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
1398 /* ./icode//icode_base.nit:304 */
1399 ATTR_icode_base___IInitAttributes____stype(fra.me.REG[3]) = fra.me.REG[1];
1400 stack_frame_head = fra.me.prev;
1401 init_table[itpos21] = 1;
1402 return;
1403 }
1404 val_t icode_base___IClosCall___closure_decl(val_t p0){
1405 struct {struct stack_frame_t me;} fra;
1406 val_t REGB0;
1407 val_t tmp;
1408 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1409 fra.me.file = LOCATE_icode_base;
1410 fra.me.line = 312;
1411 fra.me.meth = LOCATE_icode_base___IClosCall___closure_decl;
1412 fra.me.has_broke = 0;
1413 fra.me.REG_size = 1;
1414 fra.me.REG[0] = NIT_NULL;
1415 fra.me.REG[0] = p0;
1416 REGB0 = TAG_Bool(ATTR_icode_base___IClosCall____closure_decl(fra.me.REG[0])!=NIT_NULL);
1417 /* ./icode//icode_base.nit:312 */
1418 if (UNTAG_Bool(REGB0)) {
1419 } else {
1420 fprintf(stderr, "Uninitialized attribute %s", "_closure_decl");
1421 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 312);
1422 nit_exit(1);
1423 }
1424 fra.me.REG[0] = ATTR_icode_base___IClosCall____closure_decl(fra.me.REG[0]);
1425 stack_frame_head = fra.me.prev;
1426 return fra.me.REG[0];
1427 }
1428 val_t icode_base___IClosCall___break_seq(val_t p0){
1429 struct {struct stack_frame_t me;} fra;
1430 val_t tmp;
1431 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1432 fra.me.file = LOCATE_icode_base;
1433 fra.me.line = 315;
1434 fra.me.meth = LOCATE_icode_base___IClosCall___break_seq;
1435 fra.me.has_broke = 0;
1436 fra.me.REG_size = 1;
1437 fra.me.REG[0] = NIT_NULL;
1438 fra.me.REG[0] = p0;
1439 fra.me.REG[0] = ATTR_icode_base___IClosCall____break_seq(fra.me.REG[0]);
1440 /* ./icode//icode_base.nit:315 */
1441 stack_frame_head = fra.me.prev;
1442 return fra.me.REG[0];
1443 }
1444 void icode_base___IClosCall___break_seq__eq(val_t p0, val_t p1){
1445 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1446 val_t tmp;
1447 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1448 fra.me.file = LOCATE_icode_base;
1449 fra.me.line = 315;
1450 fra.me.meth = LOCATE_icode_base___IClosCall___break_seq__eq;
1451 fra.me.has_broke = 0;
1452 fra.me.REG_size = 2;
1453 fra.me.REG[0] = NIT_NULL;
1454 fra.me.REG[1] = NIT_NULL;
1455 fra.me.REG[0] = p0;
1456 fra.me.REG[1] = p1;
1457 /* ./icode//icode_base.nit:315 */
1458 ATTR_icode_base___IClosCall____break_seq(fra.me.REG[0]) = fra.me.REG[1];
1459 stack_frame_head = fra.me.prev;
1460 return;
1461 }
1462 void icode_base___IClosCall___init(val_t p0, val_t p1, val_t p2, int* init_table){
1463 int itpos22 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IClosCall].i;
1464 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1465 val_t tmp;
1466 if (init_table[itpos22]) return;
1467 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1468 fra.me.file = LOCATE_icode_base;
1469 fra.me.line = 318;
1470 fra.me.meth = LOCATE_icode_base___IClosCall___init;
1471 fra.me.has_broke = 0;
1472 fra.me.REG_size = 4;
1473 fra.me.REG[0] = NIT_NULL;
1474 fra.me.REG[1] = NIT_NULL;
1475 fra.me.REG[2] = NIT_NULL;
1476 fra.me.REG[3] = NIT_NULL;
1477 fra.me.REG[0] = p0;
1478 fra.me.REG[1] = p1;
1479 fra.me.REG[2] = p2;
1480 fra.me.REG[3] = fra.me.REG[0];
1481 /* ./icode//icode_base.nit:320 */
1482 CALL_icode_base___ICodeN___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
1483 /* ./icode//icode_base.nit:321 */
1484 ATTR_icode_base___IClosCall____closure_decl(fra.me.REG[3]) = fra.me.REG[1];
1485 stack_frame_head = fra.me.prev;
1486 init_table[itpos22] = 1;
1487 return;
1488 }
1489 val_t icode_base___INative___is_pure(val_t p0){
1490 struct {struct stack_frame_t me;} fra;
1491 val_t REGB0;
1492 val_t tmp;
1493 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1494 fra.me.file = LOCATE_icode_base;
1495 fra.me.line = 340;
1496 fra.me.meth = LOCATE_icode_base___INative___is_pure;
1497 fra.me.has_broke = 0;
1498 fra.me.REG_size = 1;
1499 fra.me.REG[0] = NIT_NULL;
1500 fra.me.REG[0] = p0;
1501 REGB0 = TAG_Bool(ATTR_icode_base___INative____is_pure(fra.me.REG[0])!=NIT_NULL);
1502 /* ./icode//icode_base.nit:340 */
1503 if (UNTAG_Bool(REGB0)) {
1504 } else {
1505 fprintf(stderr, "Uninitialized attribute %s", "_is_pure");
1506 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 340);
1507 nit_exit(1);
1508 }
1509 REGB0 = ATTR_icode_base___INative____is_pure(fra.me.REG[0]);
1510 stack_frame_head = fra.me.prev;
1511 return REGB0;
1512 }
1513 val_t icode_base___INative___code(val_t p0){
1514 struct {struct stack_frame_t me;} fra;
1515 val_t REGB0;
1516 val_t tmp;
1517 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1518 fra.me.file = LOCATE_icode_base;
1519 fra.me.line = 330;
1520 fra.me.meth = LOCATE_icode_base___INative___code;
1521 fra.me.has_broke = 0;
1522 fra.me.REG_size = 1;
1523 fra.me.REG[0] = NIT_NULL;
1524 fra.me.REG[0] = p0;
1525 REGB0 = TAG_Bool(ATTR_icode_base___INative____code(fra.me.REG[0])!=NIT_NULL);
1526 /* ./icode//icode_base.nit:330 */
1527 if (UNTAG_Bool(REGB0)) {
1528 } else {
1529 fprintf(stderr, "Uninitialized attribute %s", "_code");
1530 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 330);
1531 nit_exit(1);
1532 }
1533 fra.me.REG[0] = ATTR_icode_base___INative____code(fra.me.REG[0]);
1534 stack_frame_head = fra.me.prev;
1535 return fra.me.REG[0];
1536 }
1537 void icode_base___INative___init(val_t p0, val_t p1, val_t p2, int* init_table){
1538 int itpos23 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_INative].i;
1539 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1540 val_t tmp;
1541 if (init_table[itpos23]) return;
1542 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1543 fra.me.file = LOCATE_icode_base;
1544 fra.me.line = 334;
1545 fra.me.meth = LOCATE_icode_base___INative___init;
1546 fra.me.has_broke = 0;
1547 fra.me.REG_size = 4;
1548 fra.me.REG[0] = NIT_NULL;
1549 fra.me.REG[1] = NIT_NULL;
1550 fra.me.REG[2] = NIT_NULL;
1551 fra.me.REG[3] = NIT_NULL;
1552 fra.me.REG[0] = p0;
1553 fra.me.REG[1] = p1;
1554 fra.me.REG[2] = p2;
1555 fra.me.REG[3] = fra.me.REG[0];
1556 /* ./icode//icode_base.nit:336 */
1557 CALL_icode_base___ICodeN___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
1558 /* ./icode//icode_base.nit:337 */
1559 ATTR_icode_base___INative____code(fra.me.REG[3]) = fra.me.REG[1];
1560 stack_frame_head = fra.me.prev;
1561 init_table[itpos23] = 1;
1562 return;
1563 }
1564 void icode_base___INative___is_pure__eq(val_t p0, val_t p1){
1565 struct {struct stack_frame_t me;} fra;
1566 val_t REGB0;
1567 val_t tmp;
1568 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1569 fra.me.file = LOCATE_icode_base;
1570 fra.me.line = 340;
1571 fra.me.meth = LOCATE_icode_base___INative___is_pure__eq;
1572 fra.me.has_broke = 0;
1573 fra.me.REG_size = 1;
1574 fra.me.REG[0] = NIT_NULL;
1575 fra.me.REG[0] = p0;
1576 REGB0 = p1;
1577 /* ./icode//icode_base.nit:340 */
1578 ATTR_icode_base___INative____is_pure(fra.me.REG[0]) = REGB0;
1579 stack_frame_head = fra.me.prev;
1580 return;
1581 }
1582 val_t icode_base___IMove___is_pure(val_t p0){
1583 struct {struct stack_frame_t me;} fra;
1584 val_t REGB0;
1585 val_t tmp;
1586 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1587 fra.me.file = LOCATE_icode_base;
1588 fra.me.line = 354;
1589 fra.me.meth = LOCATE_icode_base___IMove___is_pure;
1590 fra.me.has_broke = 0;
1591 fra.me.REG_size = 1;
1592 fra.me.REG[0] = NIT_NULL;
1593 fra.me.REG[0] = p0;
1594 REGB0 = TAG_Bool(true);
1595 /* ./icode//icode_base.nit:354 */
1596 goto label1;
1597 label1: while(0);
1598 stack_frame_head = fra.me.prev;
1599 return REGB0;
1600 }
1601 void icode_base___IMove___init(val_t p0, val_t p1, val_t p2, int* init_table){
1602 int itpos24 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IMove].i;
1603 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1604 val_t tmp;
1605 if (init_table[itpos24]) return;
1606 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1607 fra.me.file = LOCATE_icode_base;
1608 fra.me.line = 348;
1609 fra.me.meth = LOCATE_icode_base___IMove___init;
1610 fra.me.has_broke = 0;
1611 fra.me.REG_size = 4;
1612 fra.me.REG[0] = NIT_NULL;
1613 fra.me.REG[1] = NIT_NULL;
1614 fra.me.REG[2] = NIT_NULL;
1615 fra.me.REG[3] = NIT_NULL;
1616 fra.me.REG[0] = p0;
1617 fra.me.REG[1] = p1;
1618 fra.me.REG[2] = p2;
1619 fra.me.REG[3] = fra.me.REG[0];
1620 /* ./icode//icode_base.nit:350 */
1621 CALL_icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
1622 /* ./icode//icode_base.nit:351 */
1623 ATTR_icode_base___ICode____result(fra.me.REG[3]) = fra.me.REG[1];
1624 stack_frame_head = fra.me.prev;
1625 init_table[itpos24] = 1;
1626 return;
1627 }
1628 val_t icode_base___IAttrRead___is_pure(val_t p0){
1629 struct {struct stack_frame_t me;} fra;
1630 val_t REGB0;
1631 val_t tmp;
1632 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1633 fra.me.file = LOCATE_icode_base;
1634 fra.me.line = 370;
1635 fra.me.meth = LOCATE_icode_base___IAttrRead___is_pure;
1636 fra.me.has_broke = 0;
1637 fra.me.REG_size = 1;
1638 fra.me.REG[0] = NIT_NULL;
1639 fra.me.REG[0] = p0;
1640 REGB0 = TAG_Bool(true);
1641 /* ./icode//icode_base.nit:370 */
1642 goto label1;
1643 label1: while(0);
1644 stack_frame_head = fra.me.prev;
1645 return REGB0;
1646 }
1647 val_t icode_base___IAttrRead___property(val_t p0){
1648 struct {struct stack_frame_t me;} fra;
1649 val_t REGB0;
1650 val_t tmp;
1651 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1652 fra.me.file = LOCATE_icode_base;
1653 fra.me.line = 361;
1654 fra.me.meth = LOCATE_icode_base___IAttrRead___property;
1655 fra.me.has_broke = 0;
1656 fra.me.REG_size = 1;
1657 fra.me.REG[0] = NIT_NULL;
1658 fra.me.REG[0] = p0;
1659 REGB0 = TAG_Bool(ATTR_icode_base___IAttrRead____property(fra.me.REG[0])!=NIT_NULL);
1660 /* ./icode//icode_base.nit:361 */
1661 if (UNTAG_Bool(REGB0)) {
1662 } else {
1663 fprintf(stderr, "Uninitialized attribute %s", "_property");
1664 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 361);
1665 nit_exit(1);
1666 }
1667 fra.me.REG[0] = ATTR_icode_base___IAttrRead____property(fra.me.REG[0]);
1668 stack_frame_head = fra.me.prev;
1669 return fra.me.REG[0];
1670 }
1671 void icode_base___IAttrRead___init(val_t p0, val_t p1, val_t p2, int* init_table){
1672 int itpos25 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IAttrRead].i;
1673 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1674 val_t tmp;
1675 if (init_table[itpos25]) return;
1676 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1677 fra.me.file = LOCATE_icode_base;
1678 fra.me.line = 364;
1679 fra.me.meth = LOCATE_icode_base___IAttrRead___init;
1680 fra.me.has_broke = 0;
1681 fra.me.REG_size = 4;
1682 fra.me.REG[0] = NIT_NULL;
1683 fra.me.REG[1] = NIT_NULL;
1684 fra.me.REG[2] = NIT_NULL;
1685 fra.me.REG[3] = NIT_NULL;
1686 fra.me.REG[0] = p0;
1687 fra.me.REG[1] = p1;
1688 fra.me.REG[2] = p2;
1689 fra.me.REG[3] = fra.me.REG[0];
1690 /* ./icode//icode_base.nit:366 */
1691 CALL_icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
1692 /* ./icode//icode_base.nit:367 */
1693 ATTR_icode_base___IAttrRead____property(fra.me.REG[3]) = fra.me.REG[1];
1694 stack_frame_head = fra.me.prev;
1695 init_table[itpos25] = 1;
1696 return;
1697 }
1698 val_t icode_base___IAttrWrite___property(val_t p0){
1699 struct {struct stack_frame_t me;} fra;
1700 val_t REGB0;
1701 val_t tmp;
1702 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1703 fra.me.file = LOCATE_icode_base;
1704 fra.me.line = 377;
1705 fra.me.meth = LOCATE_icode_base___IAttrWrite___property;
1706 fra.me.has_broke = 0;
1707 fra.me.REG_size = 1;
1708 fra.me.REG[0] = NIT_NULL;
1709 fra.me.REG[0] = p0;
1710 REGB0 = TAG_Bool(ATTR_icode_base___IAttrWrite____property(fra.me.REG[0])!=NIT_NULL);
1711 /* ./icode//icode_base.nit:377 */
1712 if (UNTAG_Bool(REGB0)) {
1713 } else {
1714 fprintf(stderr, "Uninitialized attribute %s", "_property");
1715 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 377);
1716 nit_exit(1);
1717 }
1718 fra.me.REG[0] = ATTR_icode_base___IAttrWrite____property(fra.me.REG[0]);
1719 stack_frame_head = fra.me.prev;
1720 return fra.me.REG[0];
1721 }
1722 void icode_base___IAttrWrite___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
1723 int itpos26 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IAttrWrite].i;
1724 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
1725 val_t tmp;
1726 if (init_table[itpos26]) return;
1727 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1728 fra.me.file = LOCATE_icode_base;
1729 fra.me.line = 380;
1730 fra.me.meth = LOCATE_icode_base___IAttrWrite___init;
1731 fra.me.has_broke = 0;
1732 fra.me.REG_size = 5;
1733 fra.me.REG[0] = NIT_NULL;
1734 fra.me.REG[1] = NIT_NULL;
1735 fra.me.REG[2] = NIT_NULL;
1736 fra.me.REG[3] = NIT_NULL;
1737 fra.me.REG[4] = NIT_NULL;
1738 fra.me.REG[0] = p0;
1739 fra.me.REG[1] = p1;
1740 fra.me.REG[2] = p2;
1741 fra.me.REG[3] = p3;
1742 fra.me.REG[4] = fra.me.REG[0];
1743 /* ./icode//icode_base.nit:382 */
1744 CALL_icode_base___ICode2___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[3], init_table);
1745 /* ./icode//icode_base.nit:383 */
1746 ATTR_icode_base___IAttrWrite____property(fra.me.REG[4]) = fra.me.REG[1];
1747 stack_frame_head = fra.me.prev;
1748 init_table[itpos26] = 1;
1749 return;
1750 }
1751 val_t icode_base___IAttrIsset___is_pure(val_t p0){
1752 struct {struct stack_frame_t me;} fra;
1753 val_t REGB0;
1754 val_t tmp;
1755 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1756 fra.me.file = LOCATE_icode_base;
1757 fra.me.line = 401;
1758 fra.me.meth = LOCATE_icode_base___IAttrIsset___is_pure;
1759 fra.me.has_broke = 0;
1760 fra.me.REG_size = 1;
1761 fra.me.REG[0] = NIT_NULL;
1762 fra.me.REG[0] = p0;
1763 REGB0 = TAG_Bool(true);
1764 /* ./icode//icode_base.nit:401 */
1765 goto label1;
1766 label1: while(0);
1767 stack_frame_head = fra.me.prev;
1768 return REGB0;
1769 }
1770 val_t icode_base___IAttrIsset___property(val_t p0){
1771 struct {struct stack_frame_t me;} fra;
1772 val_t REGB0;
1773 val_t tmp;
1774 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1775 fra.me.file = LOCATE_icode_base;
1776 fra.me.line = 392;
1777 fra.me.meth = LOCATE_icode_base___IAttrIsset___property;
1778 fra.me.has_broke = 0;
1779 fra.me.REG_size = 1;
1780 fra.me.REG[0] = NIT_NULL;
1781 fra.me.REG[0] = p0;
1782 REGB0 = TAG_Bool(ATTR_icode_base___IAttrIsset____property(fra.me.REG[0])!=NIT_NULL);
1783 /* ./icode//icode_base.nit:392 */
1784 if (UNTAG_Bool(REGB0)) {
1785 } else {
1786 fprintf(stderr, "Uninitialized attribute %s", "_property");
1787 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 392);
1788 nit_exit(1);
1789 }
1790 fra.me.REG[0] = ATTR_icode_base___IAttrIsset____property(fra.me.REG[0]);
1791 stack_frame_head = fra.me.prev;
1792 return fra.me.REG[0];
1793 }
1794 void icode_base___IAttrIsset___init(val_t p0, val_t p1, val_t p2, int* init_table){
1795 int itpos27 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IAttrIsset].i;
1796 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1797 val_t tmp;
1798 if (init_table[itpos27]) return;
1799 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1800 fra.me.file = LOCATE_icode_base;
1801 fra.me.line = 395;
1802 fra.me.meth = LOCATE_icode_base___IAttrIsset___init;
1803 fra.me.has_broke = 0;
1804 fra.me.REG_size = 4;
1805 fra.me.REG[0] = NIT_NULL;
1806 fra.me.REG[1] = NIT_NULL;
1807 fra.me.REG[2] = NIT_NULL;
1808 fra.me.REG[3] = NIT_NULL;
1809 fra.me.REG[0] = p0;
1810 fra.me.REG[1] = p1;
1811 fra.me.REG[2] = p2;
1812 fra.me.REG[3] = fra.me.REG[0];
1813 /* ./icode//icode_base.nit:397 */
1814 CALL_icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
1815 /* ./icode//icode_base.nit:398 */
1816 ATTR_icode_base___IAttrIsset____property(fra.me.REG[3]) = fra.me.REG[1];
1817 stack_frame_head = fra.me.prev;
1818 init_table[itpos27] = 1;
1819 return;
1820 }
1821 val_t icode_base___ITypeCheck___is_pure(val_t p0){
1822 struct {struct stack_frame_t me;} fra;
1823 val_t REGB0;
1824 val_t tmp;
1825 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1826 fra.me.file = LOCATE_icode_base;
1827 fra.me.line = 417;
1828 fra.me.meth = LOCATE_icode_base___ITypeCheck___is_pure;
1829 fra.me.has_broke = 0;
1830 fra.me.REG_size = 1;
1831 fra.me.REG[0] = NIT_NULL;
1832 fra.me.REG[0] = p0;
1833 REGB0 = TAG_Bool(true);
1834 /* ./icode//icode_base.nit:417 */
1835 goto label1;
1836 label1: while(0);
1837 stack_frame_head = fra.me.prev;
1838 return REGB0;
1839 }
1840 val_t icode_base___ITypeCheck___stype(val_t p0){
1841 struct {struct stack_frame_t me;} fra;
1842 val_t REGB0;
1843 val_t tmp;
1844 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1845 fra.me.file = LOCATE_icode_base;
1846 fra.me.line = 408;
1847 fra.me.meth = LOCATE_icode_base___ITypeCheck___stype;
1848 fra.me.has_broke = 0;
1849 fra.me.REG_size = 1;
1850 fra.me.REG[0] = NIT_NULL;
1851 fra.me.REG[0] = p0;
1852 REGB0 = TAG_Bool(ATTR_icode_base___ITypeCheck____stype(fra.me.REG[0])!=NIT_NULL);
1853 /* ./icode//icode_base.nit:408 */
1854 if (UNTAG_Bool(REGB0)) {
1855 } else {
1856 fprintf(stderr, "Uninitialized attribute %s", "_stype");
1857 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 408);
1858 nit_exit(1);
1859 }
1860 fra.me.REG[0] = ATTR_icode_base___ITypeCheck____stype(fra.me.REG[0]);
1861 stack_frame_head = fra.me.prev;
1862 return fra.me.REG[0];
1863 }
1864 void icode_base___ITypeCheck___init(val_t p0, val_t p1, val_t p2, int* init_table){
1865 int itpos28 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ITypeCheck].i;
1866 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1867 val_t tmp;
1868 if (init_table[itpos28]) return;
1869 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1870 fra.me.file = LOCATE_icode_base;
1871 fra.me.line = 411;
1872 fra.me.meth = LOCATE_icode_base___ITypeCheck___init;
1873 fra.me.has_broke = 0;
1874 fra.me.REG_size = 4;
1875 fra.me.REG[0] = NIT_NULL;
1876 fra.me.REG[1] = NIT_NULL;
1877 fra.me.REG[2] = NIT_NULL;
1878 fra.me.REG[3] = NIT_NULL;
1879 fra.me.REG[0] = p0;
1880 fra.me.REG[1] = p1;
1881 fra.me.REG[2] = p2;
1882 fra.me.REG[3] = fra.me.REG[0];
1883 /* ./icode//icode_base.nit:413 */
1884 CALL_icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], init_table);
1885 /* ./icode//icode_base.nit:414 */
1886 ATTR_icode_base___ITypeCheck____stype(fra.me.REG[3]) = fra.me.REG[2];
1887 stack_frame_head = fra.me.prev;
1888 init_table[itpos28] = 1;
1889 return;
1890 }
1891 val_t icode_base___IIs___is_pure(val_t p0){
1892 struct {struct stack_frame_t me;} fra;
1893 val_t REGB0;
1894 val_t tmp;
1895 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1896 fra.me.file = LOCATE_icode_base;
1897 fra.me.line = 429;
1898 fra.me.meth = LOCATE_icode_base___IIs___is_pure;
1899 fra.me.has_broke = 0;
1900 fra.me.REG_size = 1;
1901 fra.me.REG[0] = NIT_NULL;
1902 fra.me.REG[0] = p0;
1903 REGB0 = TAG_Bool(true);
1904 /* ./icode//icode_base.nit:429 */
1905 goto label1;
1906 label1: while(0);
1907 stack_frame_head = fra.me.prev;
1908 return REGB0;
1909 }
1910 void icode_base___IIs___init(val_t p0, val_t p1, val_t p2, int* init_table){
1911 int itpos29 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IIs].i;
1912 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1913 val_t tmp;
1914 if (init_table[itpos29]) return;
1915 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1916 fra.me.file = LOCATE_icode_base;
1917 fra.me.line = 424;
1918 fra.me.meth = LOCATE_icode_base___IIs___init;
1919 fra.me.has_broke = 0;
1920 fra.me.REG_size = 3;
1921 fra.me.REG[0] = NIT_NULL;
1922 fra.me.REG[1] = NIT_NULL;
1923 fra.me.REG[2] = NIT_NULL;
1924 fra.me.REG[0] = p0;
1925 fra.me.REG[1] = p1;
1926 fra.me.REG[2] = p2;
1927 /* ./icode//icode_base.nit:426 */
1928 CALL_icode_base___ICode2___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
1929 stack_frame_head = fra.me.prev;
1930 init_table[itpos29] = 1;
1931 return;
1932 }
1933 val_t icode_base___INot___is_pure(val_t p0){
1934 struct {struct stack_frame_t me;} fra;
1935 val_t REGB0;
1936 val_t tmp;
1937 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1938 fra.me.file = LOCATE_icode_base;
1939 fra.me.line = 441;
1940 fra.me.meth = LOCATE_icode_base___INot___is_pure;
1941 fra.me.has_broke = 0;
1942 fra.me.REG_size = 1;
1943 fra.me.REG[0] = NIT_NULL;
1944 fra.me.REG[0] = p0;
1945 REGB0 = TAG_Bool(true);
1946 /* ./icode//icode_base.nit:441 */
1947 goto label1;
1948 label1: while(0);
1949 stack_frame_head = fra.me.prev;
1950 return REGB0;
1951 }
1952 void icode_base___INot___init(val_t p0, val_t p1, int* init_table){
1953 int itpos30 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_INot].i;
1954 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1955 val_t tmp;
1956 if (init_table[itpos30]) return;
1957 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1958 fra.me.file = LOCATE_icode_base;
1959 fra.me.line = 436;
1960 fra.me.meth = LOCATE_icode_base___INot___init;
1961 fra.me.has_broke = 0;
1962 fra.me.REG_size = 2;
1963 fra.me.REG[0] = NIT_NULL;
1964 fra.me.REG[1] = NIT_NULL;
1965 fra.me.REG[0] = p0;
1966 fra.me.REG[1] = p1;
1967 /* ./icode//icode_base.nit:438 */
1968 CALL_icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], init_table);
1969 stack_frame_head = fra.me.prev;
1970 init_table[itpos30] = 1;
1971 return;
1972 }
1973 val_t icode_base___IOnce___body(val_t p0){
1974 struct {struct stack_frame_t me;} fra;
1975 val_t REGB0;
1976 val_t tmp;
1977 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1978 fra.me.file = LOCATE_icode_base;
1979 fra.me.line = 448;
1980 fra.me.meth = LOCATE_icode_base___IOnce___body;
1981 fra.me.has_broke = 0;
1982 fra.me.REG_size = 1;
1983 fra.me.REG[0] = NIT_NULL;
1984 fra.me.REG[0] = p0;
1985 REGB0 = TAG_Bool(ATTR_icode_base___IOnce____body(fra.me.REG[0])!=NIT_NULL);
1986 /* ./icode//icode_base.nit:448 */
1987 if (UNTAG_Bool(REGB0)) {
1988 } else {
1989 fprintf(stderr, "Uninitialized attribute %s", "_body");
1990 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 448);
1991 nit_exit(1);
1992 }
1993 fra.me.REG[0] = ATTR_icode_base___IOnce____body(fra.me.REG[0]);
1994 stack_frame_head = fra.me.prev;
1995 return fra.me.REG[0];
1996 }
1997 void icode_base___IOnce___init(val_t p0, int* init_table){
1998 int itpos31 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IOnce].i;
1999 struct {struct stack_frame_t me;} fra;
2000 val_t tmp;
2001 if (init_table[itpos31]) return;
2002 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2003 fra.me.file = LOCATE_icode_base;
2004 fra.me.line = 449;
2005 fra.me.meth = LOCATE_icode_base___IOnce___init;
2006 fra.me.has_broke = 0;
2007 fra.me.REG_size = 1;
2008 fra.me.REG[0] = NIT_NULL;
2009 fra.me.REG[0] = p0;
2010 /* ./icode//icode_base.nit:449 */
2011 stack_frame_head = fra.me.prev;
2012 init_table[itpos31] = 1;
2013 return;
2014 }
2015 val_t icode_base___IHasClos___is_pure(val_t p0){
2016 struct {struct stack_frame_t me;} fra;
2017 val_t REGB0;
2018 val_t tmp;
2019 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2020 fra.me.file = LOCATE_icode_base;
2021 fra.me.line = 463;
2022 fra.me.meth = LOCATE_icode_base___IHasClos___is_pure;
2023 fra.me.has_broke = 0;
2024 fra.me.REG_size = 1;
2025 fra.me.REG[0] = NIT_NULL;
2026 fra.me.REG[0] = p0;
2027 REGB0 = TAG_Bool(true);
2028 /* ./icode//icode_base.nit:463 */
2029 goto label1;
2030 label1: while(0);
2031 stack_frame_head = fra.me.prev;
2032 return REGB0;
2033 }
2034 val_t icode_base___IHasClos___closure_decl(val_t p0){
2035 struct {struct stack_frame_t me;} fra;
2036 val_t REGB0;
2037 val_t tmp;
2038 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2039 fra.me.file = LOCATE_icode_base;
2040 fra.me.line = 455;
2041 fra.me.meth = LOCATE_icode_base___IHasClos___closure_decl;
2042 fra.me.has_broke = 0;
2043 fra.me.REG_size = 1;
2044 fra.me.REG[0] = NIT_NULL;
2045 fra.me.REG[0] = p0;
2046 REGB0 = TAG_Bool(ATTR_icode_base___IHasClos____closure_decl(fra.me.REG[0])!=NIT_NULL);
2047 /* ./icode//icode_base.nit:455 */
2048 if (UNTAG_Bool(REGB0)) {
2049 } else {
2050 fprintf(stderr, "Uninitialized attribute %s", "_closure_decl");
2051 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 455);
2052 nit_exit(1);
2053 }
2054 fra.me.REG[0] = ATTR_icode_base___IHasClos____closure_decl(fra.me.REG[0]);
2055 stack_frame_head = fra.me.prev;
2056 return fra.me.REG[0];
2057 }
2058 void icode_base___IHasClos___init(val_t p0, val_t p1, int* init_table){
2059 int itpos32 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IHasClos].i;
2060 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2061 val_t tmp;
2062 if (init_table[itpos32]) return;
2063 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2064 fra.me.file = LOCATE_icode_base;
2065 fra.me.line = 458;
2066 fra.me.meth = LOCATE_icode_base___IHasClos___init;
2067 fra.me.has_broke = 0;
2068 fra.me.REG_size = 2;
2069 fra.me.REG[0] = NIT_NULL;
2070 fra.me.REG[1] = NIT_NULL;
2071 fra.me.REG[0] = p0;
2072 fra.me.REG[1] = p1;
2073 /* ./icode//icode_base.nit:460 */
2074 ATTR_icode_base___IHasClos____closure_decl(fra.me.REG[0]) = fra.me.REG[1];
2075 stack_frame_head = fra.me.prev;
2076 init_table[itpos32] = 1;
2077 return;
2078 }
2079 val_t icode_base___MMAttribute___iroutine(val_t p0){
2080 struct {struct stack_frame_t me;} fra;
2081 val_t tmp;
2082 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2083 fra.me.file = LOCATE_icode_base;
2084 fra.me.line = 469;
2085 fra.me.meth = LOCATE_icode_base___MMAttribute___iroutine;
2086 fra.me.has_broke = 0;
2087 fra.me.REG_size = 0;
2088 /* ./icode//icode_base.nit:469 */
2089 fprintf(stderr, "Deferred method called");
2090 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 469);
2091 nit_exit(1);
2092 stack_frame_head = fra.me.prev;
2093 return NIT_NULL;
2094 }
2095 val_t icode_base___MMMethod___iroutine(val_t p0){
2096 struct {struct stack_frame_t me;} fra;
2097 val_t tmp;
2098 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2099 fra.me.file = LOCATE_icode_base;
2100 fra.me.line = 475;
2101 fra.me.meth = LOCATE_icode_base___MMMethod___iroutine;
2102 fra.me.has_broke = 0;
2103 fra.me.REG_size = 0;
2104 /* ./icode//icode_base.nit:475 */
2105 fprintf(stderr, "Deferred method called");
2106 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_base, 475);
2107 nit_exit(1);
2108 stack_frame_head = fra.me.prev;
2109 return NIT_NULL;
2110 }