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