c_src: update
[nit.git] / c_src / icode___icode_base._sep.c
1 /* This C file is generated by NIT to compile module icode___icode_base. */
2 #include "icode___icode_base._sep.h"
3 val_t icode___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___icode_base;
9 fra.me.line = 26;
10 fra.me.meth = LOCATE_icode___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:26 */
16 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 26);
20 }
21 fra.me.REG[0] = ATTR_icode___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___icode_base___IRegister___init(val_t p0, val_t p1, int* init_table){
26 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___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___icode_base;
32 fra.me.line = 28;
33 fra.me.meth = LOCATE_icode___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:30 */
41 ATTR_icode___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___icode_base___IEscapeMark___init(val_t p0, int* init_table){
47 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___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___icode_base;
53 fra.me.line = 0;
54 fra.me.meth = LOCATE_icode___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___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___icode_base;
67 fra.me.line = 40;
68 fra.me.meth = LOCATE_icode___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:40 */
74 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 40);
78 }
79 fra.me.REG[0] = ATTR_icode___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___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___icode_base;
88 fra.me.line = 43;
89 fra.me.meth = LOCATE_icode___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:43 */
95 fra.me.REG[0] = ATTR_icode___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___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___icode_base;
104 fra.me.line = 43;
105 fra.me.meth = LOCATE_icode___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:43 */
113 ATTR_icode___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___icode_base___IClosureDecl___init(val_t p0, val_t p1, int* init_table){
118 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___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___icode_base;
124 fra.me.line = 46;
125 fra.me.meth = LOCATE_icode___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:46 */
133 ATTR_icode___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___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___icode_base;
144 fra.me.line = 51;
145 fra.me.meth = LOCATE_icode___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:51 */
151 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 51);
155 }
156 fra.me.REG[0] = ATTR_icode___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___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___icode_base;
165 fra.me.line = 54;
166 fra.me.meth = LOCATE_icode___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:54 */
172 fra.me.REG[0] = ATTR_icode___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___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___icode_base;
181 fra.me.line = 54;
182 fra.me.meth = LOCATE_icode___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:54 */
190 ATTR_icode___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___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___icode_base;
200 fra.me.line = 57;
201 fra.me.meth = LOCATE_icode___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:57 */
207 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 57);
211 }
212 fra.me.REG[0] = ATTR_icode___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___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___icode_base;
221 fra.me.line = 60;
222 fra.me.meth = LOCATE_icode___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:60 */
228 fra.me.REG[0] = ATTR_icode___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___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___icode_base;
238 fra.me.line = 63;
239 fra.me.meth = LOCATE_icode___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:63 */
245 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 63);
249 }
250 fra.me.REG[0] = ATTR_icode___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___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___icode_base;
260 fra.me.line = 66;
261 fra.me.meth = LOCATE_icode___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:66 */
267 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 66);
271 }
272 fra.me.REG[0] = ATTR_icode___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___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___icode_base;
281 fra.me.line = 69;
282 fra.me.meth = LOCATE_icode___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:69 */
288 fra.me.REG[0] = ATTR_icode___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___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___icode_base;
297 fra.me.line = 69;
298 fra.me.meth = LOCATE_icode___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:69 */
306 ATTR_icode___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___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_icode___icode_base___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___icode_base;
317 fra.me.line = 72;
318 fra.me.meth = LOCATE_icode___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:74 */
328 fra.me.REG[1] = CALL_standard___collection___array___Collection___to_a(fra.me.REG[1])(fra.me.REG[1]);
329 ATTR_icode___icode_base___IRoutine____params(fra.me.REG[0]) = fra.me.REG[1];
330 /* ./icode//icode_base.nit:75 */
331 ATTR_icode___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___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_icode___icode_base___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___icode_base;
343 fra.me.line = 82;
344 fra.me.meth = LOCATE_icode___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:84 */
354 CALL_icode___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___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___icode_base;
364 fra.me.line = 92;
365 fra.me.meth = LOCATE_icode___icode_base___ICode___arity;
366 fra.me.has_broke = 0;
367 fra.me.REG_size = 0;
368 /* ./icode//icode_base.nit:92 */
369 nit_abort("Deferred method called", NULL, LOCATE_icode___icode_base, 92);
370 stack_frame_head = fra.me.prev;
371 return NIT_NULL;
372 }
373 val_t icode___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___icode_base;
378 fra.me.line = 95;
379 fra.me.meth = LOCATE_icode___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:95 */
385 fra.me.REG[0] = ATTR_icode___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___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___icode_base;
394 fra.me.line = 95;
395 fra.me.meth = LOCATE_icode___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:95 */
403 ATTR_icode___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___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___icode_base;
412 fra.me.line = 98;
413 fra.me.meth = LOCATE_icode___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:98 */
419 fra.me.REG[0] = ATTR_icode___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___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___icode_base;
428 fra.me.line = 98;
429 fra.me.meth = LOCATE_icode___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:98 */
437 ATTR_icode___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___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___icode_base;
447 fra.me.line = 101;
448 fra.me.meth = LOCATE_icode___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:102 */
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___icode_base___ICode___init(val_t p0, int* init_table){
461 int itpos5 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___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___icode_base;
467 fra.me.line = 0;
468 fra.me.meth = LOCATE_icode___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___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___icode_base;
481 fra.me.line = 108;
482 fra.me.meth = LOCATE_icode___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:108 */
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___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___icode_base;
500 fra.me.line = 114;
501 fra.me.meth = LOCATE_icode___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:114 */
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___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___icode_base;
519 fra.me.line = 116;
520 fra.me.meth = LOCATE_icode___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:116 */
526 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 116);
530 }
531 fra.me.REG[0] = ATTR_icode___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___icode_base___ICode1___init(val_t p0, val_t p1, int* init_table){
536 int itpos6 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___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___icode_base;
542 fra.me.line = 119;
543 fra.me.meth = LOCATE_icode___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:119 */
552 fra.me.REG[2] = fra.me.REG[0];
553 CALL_icode___icode_base___ICode___init(fra.me.REG[0])(fra.me.REG[0], init_table);
554 ATTR_icode___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___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___icode_base;
565 fra.me.line = 125;
566 fra.me.meth = LOCATE_icode___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:125 */
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___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___icode_base;
584 fra.me.line = 127;
585 fra.me.meth = LOCATE_icode___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:127 */
591 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 127);
595 }
596 fra.me.REG[0] = ATTR_icode___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___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___icode_base;
606 fra.me.line = 130;
607 fra.me.meth = LOCATE_icode___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:130 */
613 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 130);
617 }
618 fra.me.REG[0] = ATTR_icode___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___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_icode___icode_base___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___icode_base;
629 fra.me.line = 133;
630 fra.me.meth = LOCATE_icode___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:133 */
641 fra.me.REG[3] = fra.me.REG[0];
642 CALL_icode___icode_base___ICode___init(fra.me.REG[0])(fra.me.REG[0], init_table);
643 /* ./icode//icode_base.nit:135 */
644 ATTR_icode___icode_base___ICode2____expr1(fra.me.REG[3]) = fra.me.REG[1];
645 /* ./icode//icode_base.nit:136 */
646 ATTR_icode___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___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___icode_base;
657 fra.me.line = 143;
658 fra.me.meth = LOCATE_icode___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:143 */
664 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 143);
668 }
669 fra.me.REG[0] = ATTR_icode___icode_base___ICodeN____exprs(fra.me.REG[0]);
670 REGB0 = CALL_standard___collection___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___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___icode_base;
682 fra.me.line = 145;
683 fra.me.meth = LOCATE_icode___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:145 */
689 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 145);
693 }
694 fra.me.REG[0] = ATTR_icode___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___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___icode_base;
703 fra.me.line = 148;
704 fra.me.meth = LOCATE_icode___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:148 */
710 fra.me.REG[0] = ATTR_icode___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___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___icode_base;
719 fra.me.line = 148;
720 fra.me.meth = LOCATE_icode___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:148 */
728 ATTR_icode___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___icode_base___ICodeN___init(val_t p0, val_t p1, int* init_table){
733 int itpos8 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___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___icode_base;
741 fra.me.line = 151;
742 fra.me.meth = LOCATE_icode___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:151 */
751 fra.me.REG[2] = fra.me.REG[0];
752 CALL_icode___icode_base___ICode___init(fra.me.REG[0])(fra.me.REG[0], init_table);
753 /* ./icode//icode_base.nit:153 */
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_standard___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:154 */
768 fra.me.REG[0] = NEW_Array_standard___collection___array___Array___init();
769 ATTR_icode___icode_base___ICodeN____exprs(fra.me.REG[2]) = fra.me.REG[0];
770 } else {
771 /* ./icode//icode_base.nit:156 */
772 ATTR_icode___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___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___icode_base;
784 fra.me.line = 166;
785 fra.me.meth = LOCATE_icode___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:166 */
791 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 166);
795 }
796 fra.me.REG[0] = ATTR_icode___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___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___icode_base;
805 fra.me.line = 169;
806 fra.me.meth = LOCATE_icode___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:169 */
812 fra.me.REG[0] = ATTR_icode___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___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___icode_base;
821 fra.me.line = 169;
822 fra.me.meth = LOCATE_icode___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:169 */
830 ATTR_icode___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___icode_base___ISeq___init(val_t p0, int* init_table){
835 int itpos9 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___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___icode_base;
841 fra.me.line = 172;
842 fra.me.meth = LOCATE_icode___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___icode_base___ILoop___init(val_t p0, int* init_table){
852 int itpos10 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___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___icode_base;
858 fra.me.line = 179;
859 fra.me.meth = LOCATE_icode___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:179 */
865 CALL_icode___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___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___icode_base;
876 fra.me.line = 186;
877 fra.me.meth = LOCATE_icode___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:186 */
883 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 186);
887 }
888 fra.me.REG[0] = ATTR_icode___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___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___icode_base;
898 fra.me.line = 188;
899 fra.me.meth = LOCATE_icode___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:188 */
905 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 188);
909 }
910 fra.me.REG[0] = ATTR_icode___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___icode_base___IIf___init(val_t p0, val_t p1, int* init_table){
915 int itpos11 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___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___icode_base;
921 fra.me.line = 190;
922 fra.me.meth = LOCATE_icode___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:190 */
930 CALL_icode___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___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___icode_base;
941 fra.me.line = 196;
942 fra.me.meth = LOCATE_icode___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:196 */
948 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 196);
952 }
953 fra.me.REG[0] = ATTR_icode___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___icode_base___IEscape___init(val_t p0, val_t p1, int* init_table){
958 int itpos12 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___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___icode_base;
964 fra.me.line = 199;
965 fra.me.meth = LOCATE_icode___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:199 */
973 ATTR_icode___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___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___icode_base;
984 fra.me.line = 205;
985 fra.me.meth = LOCATE_icode___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:205 */
991 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 205);
995 }
996 fra.me.REG[0] = ATTR_icode___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___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___icode_base;
1006 fra.me.line = 208;
1007 fra.me.meth = LOCATE_icode___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:208 */
1013 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 208);
1017 }
1018 fra.me.REG[0] = ATTR_icode___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___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_icode___icode_base___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___icode_base;
1029 fra.me.line = 210;
1030 fra.me.meth = LOCATE_icode___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:212 */
1040 ATTR_icode___icode_base___IAbort____texts(fra.me.REG[0]) = fra.me.REG[1];
1041 /* ./icode//icode_base.nit:213 */
1042 ATTR_icode___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___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___icode_base;
1053 fra.me.line = 222;
1054 fra.me.meth = LOCATE_icode___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:222 */
1060 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 222);
1064 }
1065 fra.me.REG[0] = ATTR_icode___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___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_icode___icode_base___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___icode_base;
1076 fra.me.line = 225;
1077 fra.me.meth = LOCATE_icode___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:225 */
1088 fra.me.REG[3] = fra.me.REG[0];
1089 /* ./icode//icode_base.nit:227 */
1090 CALL_icode___icode_base___ICodeN___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
1091 /* ./icode//icode_base.nit:228 */
1092 ATTR_icode___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___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_icode___icode_base___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___icode_base;
1104 fra.me.line = 236;
1105 fra.me.meth = LOCATE_icode___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:236 */
1115 CALL_icode___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___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_icode___icode_base___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___icode_base;
1127 fra.me.line = 243;
1128 fra.me.meth = LOCATE_icode___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:243 */
1138 CALL_icode___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___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___icode_base;
1149 fra.me.line = 255;
1150 fra.me.meth = LOCATE_icode___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:255 */
1156 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 255);
1160 }
1161 fra.me.REG[0] = ATTR_icode___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___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_icode___icode_base___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___icode_base;
1172 fra.me.line = 257;
1173 fra.me.meth = LOCATE_icode___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:257 */
1186 fra.me.REG[4] = fra.me.REG[0];
1187 /* ./icode//icode_base.nit:259 */
1188 CALL_icode___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:260 */
1190 ATTR_icode___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___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___icode_base;
1201 fra.me.line = 269;
1202 fra.me.meth = LOCATE_icode___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:269 */
1208 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 269);
1212 }
1213 fra.me.REG[0] = ATTR_icode___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___icode_base___IAllocateInstance___init(val_t p0, val_t p1, int* init_table){
1218 int itpos18 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___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___icode_base;
1224 fra.me.line = 271;
1225 fra.me.meth = LOCATE_icode___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:273 */
1233 ATTR_icode___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___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_icode___icode_base___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___icode_base;
1245 fra.me.line = 280;
1246 fra.me.meth = LOCATE_icode___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:280 */
1256 CALL_icode___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___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___icode_base;
1267 fra.me.line = 286;
1268 fra.me.meth = LOCATE_icode___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:286 */
1274 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 286);
1278 }
1279 fra.me.REG[0] = ATTR_icode___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___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_icode___icode_base___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___icode_base;
1290 fra.me.line = 288;
1291 fra.me.meth = LOCATE_icode___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:288 */
1302 fra.me.REG[3] = fra.me.REG[0];
1303 /* ./icode//icode_base.nit:290 */
1304 CALL_icode___icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
1305 /* ./icode//icode_base.nit:291 */
1306 ATTR_icode___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___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___icode_base;
1317 fra.me.line = 298;
1318 fra.me.meth = LOCATE_icode___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:298 */
1324 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 298);
1328 }
1329 fra.me.REG[0] = ATTR_icode___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___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_icode___icode_base___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___icode_base;
1340 fra.me.line = 300;
1341 fra.me.meth = LOCATE_icode___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:300 */
1352 fra.me.REG[3] = fra.me.REG[0];
1353 /* ./icode//icode_base.nit:302 */
1354 CALL_icode___icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
1355 /* ./icode//icode_base.nit:303 */
1356 ATTR_icode___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___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___icode_base;
1367 fra.me.line = 311;
1368 fra.me.meth = LOCATE_icode___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:311 */
1374 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 311);
1378 }
1379 fra.me.REG[0] = ATTR_icode___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___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___icode_base;
1388 fra.me.line = 314;
1389 fra.me.meth = LOCATE_icode___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:314 */
1395 fra.me.REG[0] = ATTR_icode___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___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___icode_base;
1404 fra.me.line = 314;
1405 fra.me.meth = LOCATE_icode___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:314 */
1413 ATTR_icode___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___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_icode___icode_base___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___icode_base;
1424 fra.me.line = 317;
1425 fra.me.meth = LOCATE_icode___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:317 */
1436 fra.me.REG[3] = fra.me.REG[0];
1437 /* ./icode//icode_base.nit:319 */
1438 CALL_icode___icode_base___ICodeN___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
1439 /* ./icode//icode_base.nit:320 */
1440 ATTR_icode___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___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___icode_base;
1451 fra.me.line = 329;
1452 fra.me.meth = LOCATE_icode___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:329 */
1458 REGB0 = TAG_Bool(ATTR_icode___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___icode_base, 329);
1462 }
1463 fra.me.REG[0] = ATTR_icode___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___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_icode___icode_base___INative].i;
1469 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
1470 val_t REGB0;
1471 val_t REGB1;
1472 val_t REGB2;
1473 val_t tmp;
1474 if (init_table[itpos23]) return;
1475 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1476 fra.me.file = LOCATE_icode___icode_base;
1477 fra.me.line = 332;
1478 fra.me.meth = LOCATE_icode___icode_base___INative___init;
1479 fra.me.has_broke = 0;
1480 fra.me.REG_size = 5;
1481 fra.me.REG[0] = NIT_NULL;
1482 fra.me.REG[1] = NIT_NULL;
1483 fra.me.REG[2] = NIT_NULL;
1484 fra.me.REG[3] = NIT_NULL;
1485 fra.me.REG[4] = NIT_NULL;
1486 fra.me.REG[0] = p0;
1487 fra.me.REG[1] = p1;
1488 fra.me.REG[2] = p2;
1489 /* ./icode//icode_base.nit:332 */
1490 fra.me.REG[3] = fra.me.REG[0];
1491 /* ./icode//icode_base.nit:335 */
1492 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1493 if (UNTAG_Bool(REGB0)) {
1494 nit_abort("Reciever is null", NULL, LOCATE_icode___icode_base, 335);
1495 }
1496 REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
1497 fra.me.REG[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[1])(fra.me.REG[1]);
1498 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
1499 if (UNTAG_Bool(REGB1)) {
1500 nit_abort("Reciever is null", NULL, LOCATE_icode___icode_base, 335);
1501 }
1502 REGB1 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[4])(fra.me.REG[4]);
1503 REGB2 = TAG_Int(1);
1504 /* ./../lib/standard//kernel.nit:218 */
1505 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
1506 /* ./icode//icode_base.nit:335 */
1507 REGB1 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB2));
1508 if (UNTAG_Bool(REGB1)) {
1509 } else {
1510 /* ./../lib/standard//kernel.nit:210 */
1511 REGB2 = TAG_Bool((REGB0)==(REGB2));
1512 /* ./icode//icode_base.nit:335 */
1513 REGB1 = REGB2;
1514 }
1515 if (UNTAG_Bool(REGB1)) {
1516 } else {
1517 nit_abort("Assert failed", NULL, LOCATE_icode___icode_base, 335);
1518 }
1519 /* ./icode//icode_base.nit:337 */
1520 CALL_icode___icode_base___ICodeN___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
1521 /* ./icode//icode_base.nit:338 */
1522 ATTR_icode___icode_base___INative____method(fra.me.REG[3]) = fra.me.REG[1];
1523 stack_frame_head = fra.me.prev;
1524 init_table[itpos23] = 1;
1525 return;
1526 }
1527 val_t icode___icode_base___INative___is_pure(val_t p0){
1528 struct {struct stack_frame_t me;} fra;
1529 val_t REGB0;
1530 val_t tmp;
1531 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1532 fra.me.file = LOCATE_icode___icode_base;
1533 fra.me.line = 341;
1534 fra.me.meth = LOCATE_icode___icode_base___INative___is_pure;
1535 fra.me.has_broke = 0;
1536 fra.me.REG_size = 1;
1537 fra.me.REG[0] = NIT_NULL;
1538 fra.me.REG[0] = p0;
1539 /* ./icode//icode_base.nit:341 */
1540 REGB0 = TAG_Bool(ATTR_icode___icode_base___INative____is_pure(fra.me.REG[0])!=NIT_NULL);
1541 if (UNTAG_Bool(REGB0)) {
1542 } else {
1543 nit_abort("Uninitialized attribute %s", "_is_pure", LOCATE_icode___icode_base, 341);
1544 }
1545 REGB0 = ATTR_icode___icode_base___INative____is_pure(fra.me.REG[0]);
1546 stack_frame_head = fra.me.prev;
1547 return REGB0;
1548 }
1549 void icode___icode_base___INative___is_pure__eq(val_t p0, val_t p1){
1550 struct {struct stack_frame_t me;} fra;
1551 val_t REGB0;
1552 val_t tmp;
1553 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1554 fra.me.file = LOCATE_icode___icode_base;
1555 fra.me.line = 341;
1556 fra.me.meth = LOCATE_icode___icode_base___INative___is_pure__eq;
1557 fra.me.has_broke = 0;
1558 fra.me.REG_size = 1;
1559 fra.me.REG[0] = NIT_NULL;
1560 fra.me.REG[0] = p0;
1561 REGB0 = p1;
1562 /* ./icode//icode_base.nit:341 */
1563 ATTR_icode___icode_base___INative____is_pure(fra.me.REG[0]) = REGB0;
1564 stack_frame_head = fra.me.prev;
1565 return;
1566 }
1567 val_t icode___icode_base___IIntValue___value(val_t p0){
1568 struct {struct stack_frame_t me;} fra;
1569 val_t REGB0;
1570 val_t tmp;
1571 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1572 fra.me.file = LOCATE_icode___icode_base;
1573 fra.me.line = 347;
1574 fra.me.meth = LOCATE_icode___icode_base___IIntValue___value;
1575 fra.me.has_broke = 0;
1576 fra.me.REG_size = 1;
1577 fra.me.REG[0] = NIT_NULL;
1578 fra.me.REG[0] = p0;
1579 /* ./icode//icode_base.nit:347 */
1580 REGB0 = TAG_Bool(ATTR_icode___icode_base___IIntValue____value(fra.me.REG[0])!=NIT_NULL);
1581 if (UNTAG_Bool(REGB0)) {
1582 } else {
1583 nit_abort("Uninitialized attribute %s", "_value", LOCATE_icode___icode_base, 347);
1584 }
1585 fra.me.REG[0] = ATTR_icode___icode_base___IIntValue____value(fra.me.REG[0]);
1586 stack_frame_head = fra.me.prev;
1587 return fra.me.REG[0];
1588 }
1589 void icode___icode_base___IIntValue___init(val_t p0, val_t p1, int* init_table){
1590 int itpos24 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IIntValue].i;
1591 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1592 val_t tmp;
1593 if (init_table[itpos24]) return;
1594 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1595 fra.me.file = LOCATE_icode___icode_base;
1596 fra.me.line = 350;
1597 fra.me.meth = LOCATE_icode___icode_base___IIntValue___init;
1598 fra.me.has_broke = 0;
1599 fra.me.REG_size = 2;
1600 fra.me.REG[0] = NIT_NULL;
1601 fra.me.REG[1] = NIT_NULL;
1602 fra.me.REG[0] = p0;
1603 fra.me.REG[1] = p1;
1604 /* ./icode//icode_base.nit:350 */
1605 ATTR_icode___icode_base___IIntValue____value(fra.me.REG[0]) = fra.me.REG[1];
1606 stack_frame_head = fra.me.prev;
1607 init_table[itpos24] = 1;
1608 return;
1609 }
1610 val_t icode___icode_base___IIntValue___is_pure(val_t p0){
1611 struct {struct stack_frame_t me;} fra;
1612 val_t REGB0;
1613 val_t tmp;
1614 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1615 fra.me.file = LOCATE_icode___icode_base;
1616 fra.me.line = 352;
1617 fra.me.meth = LOCATE_icode___icode_base___IIntValue___is_pure;
1618 fra.me.has_broke = 0;
1619 fra.me.REG_size = 1;
1620 fra.me.REG[0] = NIT_NULL;
1621 fra.me.REG[0] = p0;
1622 /* ./icode//icode_base.nit:352 */
1623 REGB0 = TAG_Bool(true);
1624 goto label1;
1625 label1: while(0);
1626 stack_frame_head = fra.me.prev;
1627 return REGB0;
1628 }
1629 val_t icode___icode_base___IBoolValue___value(val_t p0){
1630 struct {struct stack_frame_t me;} fra;
1631 val_t REGB0;
1632 val_t tmp;
1633 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1634 fra.me.file = LOCATE_icode___icode_base;
1635 fra.me.line = 358;
1636 fra.me.meth = LOCATE_icode___icode_base___IBoolValue___value;
1637 fra.me.has_broke = 0;
1638 fra.me.REG_size = 1;
1639 fra.me.REG[0] = NIT_NULL;
1640 fra.me.REG[0] = p0;
1641 /* ./icode//icode_base.nit:358 */
1642 REGB0 = TAG_Bool(ATTR_icode___icode_base___IBoolValue____value(fra.me.REG[0])!=NIT_NULL);
1643 if (UNTAG_Bool(REGB0)) {
1644 } else {
1645 nit_abort("Uninitialized attribute %s", "_value", LOCATE_icode___icode_base, 358);
1646 }
1647 REGB0 = ATTR_icode___icode_base___IBoolValue____value(fra.me.REG[0]);
1648 stack_frame_head = fra.me.prev;
1649 return REGB0;
1650 }
1651 void icode___icode_base___IBoolValue___init(val_t p0, val_t p1, int* init_table){
1652 int itpos25 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IBoolValue].i;
1653 struct {struct stack_frame_t me;} fra;
1654 val_t REGB0;
1655 val_t tmp;
1656 if (init_table[itpos25]) return;
1657 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1658 fra.me.file = LOCATE_icode___icode_base;
1659 fra.me.line = 361;
1660 fra.me.meth = LOCATE_icode___icode_base___IBoolValue___init;
1661 fra.me.has_broke = 0;
1662 fra.me.REG_size = 1;
1663 fra.me.REG[0] = NIT_NULL;
1664 fra.me.REG[0] = p0;
1665 REGB0 = p1;
1666 /* ./icode//icode_base.nit:361 */
1667 ATTR_icode___icode_base___IBoolValue____value(fra.me.REG[0]) = REGB0;
1668 stack_frame_head = fra.me.prev;
1669 init_table[itpos25] = 1;
1670 return;
1671 }
1672 val_t icode___icode_base___IBoolValue___is_pure(val_t p0){
1673 struct {struct stack_frame_t me;} fra;
1674 val_t REGB0;
1675 val_t tmp;
1676 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1677 fra.me.file = LOCATE_icode___icode_base;
1678 fra.me.line = 363;
1679 fra.me.meth = LOCATE_icode___icode_base___IBoolValue___is_pure;
1680 fra.me.has_broke = 0;
1681 fra.me.REG_size = 1;
1682 fra.me.REG[0] = NIT_NULL;
1683 fra.me.REG[0] = p0;
1684 /* ./icode//icode_base.nit:363 */
1685 REGB0 = TAG_Bool(true);
1686 goto label1;
1687 label1: while(0);
1688 stack_frame_head = fra.me.prev;
1689 return REGB0;
1690 }
1691 val_t icode___icode_base___IStringValue___value(val_t p0){
1692 struct {struct stack_frame_t me;} fra;
1693 val_t REGB0;
1694 val_t tmp;
1695 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1696 fra.me.file = LOCATE_icode___icode_base;
1697 fra.me.line = 369;
1698 fra.me.meth = LOCATE_icode___icode_base___IStringValue___value;
1699 fra.me.has_broke = 0;
1700 fra.me.REG_size = 1;
1701 fra.me.REG[0] = NIT_NULL;
1702 fra.me.REG[0] = p0;
1703 /* ./icode//icode_base.nit:369 */
1704 REGB0 = TAG_Bool(ATTR_icode___icode_base___IStringValue____value(fra.me.REG[0])!=NIT_NULL);
1705 if (UNTAG_Bool(REGB0)) {
1706 } else {
1707 nit_abort("Uninitialized attribute %s", "_value", LOCATE_icode___icode_base, 369);
1708 }
1709 fra.me.REG[0] = ATTR_icode___icode_base___IStringValue____value(fra.me.REG[0]);
1710 stack_frame_head = fra.me.prev;
1711 return fra.me.REG[0];
1712 }
1713 void icode___icode_base___IStringValue___init(val_t p0, val_t p1, int* init_table){
1714 int itpos26 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IStringValue].i;
1715 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1716 val_t tmp;
1717 if (init_table[itpos26]) return;
1718 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1719 fra.me.file = LOCATE_icode___icode_base;
1720 fra.me.line = 372;
1721 fra.me.meth = LOCATE_icode___icode_base___IStringValue___init;
1722 fra.me.has_broke = 0;
1723 fra.me.REG_size = 2;
1724 fra.me.REG[0] = NIT_NULL;
1725 fra.me.REG[1] = NIT_NULL;
1726 fra.me.REG[0] = p0;
1727 fra.me.REG[1] = p1;
1728 /* ./icode//icode_base.nit:372 */
1729 ATTR_icode___icode_base___IStringValue____value(fra.me.REG[0]) = fra.me.REG[1];
1730 stack_frame_head = fra.me.prev;
1731 init_table[itpos26] = 1;
1732 return;
1733 }
1734 val_t icode___icode_base___IStringValue___is_pure(val_t p0){
1735 struct {struct stack_frame_t me;} fra;
1736 val_t REGB0;
1737 val_t tmp;
1738 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1739 fra.me.file = LOCATE_icode___icode_base;
1740 fra.me.line = 374;
1741 fra.me.meth = LOCATE_icode___icode_base___IStringValue___is_pure;
1742 fra.me.has_broke = 0;
1743 fra.me.REG_size = 1;
1744 fra.me.REG[0] = NIT_NULL;
1745 fra.me.REG[0] = p0;
1746 /* ./icode//icode_base.nit:374 */
1747 REGB0 = TAG_Bool(true);
1748 goto label1;
1749 label1: while(0);
1750 stack_frame_head = fra.me.prev;
1751 return REGB0;
1752 }
1753 val_t icode___icode_base___IFloatValue___value(val_t p0){
1754 struct {struct stack_frame_t me;} fra;
1755 val_t REGB0;
1756 val_t tmp;
1757 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1758 fra.me.file = LOCATE_icode___icode_base;
1759 fra.me.line = 380;
1760 fra.me.meth = LOCATE_icode___icode_base___IFloatValue___value;
1761 fra.me.has_broke = 0;
1762 fra.me.REG_size = 1;
1763 fra.me.REG[0] = NIT_NULL;
1764 fra.me.REG[0] = p0;
1765 /* ./icode//icode_base.nit:380 */
1766 REGB0 = TAG_Bool(ATTR_icode___icode_base___IFloatValue____value(fra.me.REG[0])!=NIT_NULL);
1767 if (UNTAG_Bool(REGB0)) {
1768 } else {
1769 nit_abort("Uninitialized attribute %s", "_value", LOCATE_icode___icode_base, 380);
1770 }
1771 fra.me.REG[0] = ATTR_icode___icode_base___IFloatValue____value(fra.me.REG[0]);
1772 stack_frame_head = fra.me.prev;
1773 return fra.me.REG[0];
1774 }
1775 void icode___icode_base___IFloatValue___init(val_t p0, val_t p1, int* init_table){
1776 int itpos27 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IFloatValue].i;
1777 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1778 val_t tmp;
1779 if (init_table[itpos27]) return;
1780 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1781 fra.me.file = LOCATE_icode___icode_base;
1782 fra.me.line = 383;
1783 fra.me.meth = LOCATE_icode___icode_base___IFloatValue___init;
1784 fra.me.has_broke = 0;
1785 fra.me.REG_size = 2;
1786 fra.me.REG[0] = NIT_NULL;
1787 fra.me.REG[1] = NIT_NULL;
1788 fra.me.REG[0] = p0;
1789 fra.me.REG[1] = p1;
1790 /* ./icode//icode_base.nit:383 */
1791 ATTR_icode___icode_base___IFloatValue____value(fra.me.REG[0]) = fra.me.REG[1];
1792 stack_frame_head = fra.me.prev;
1793 init_table[itpos27] = 1;
1794 return;
1795 }
1796 val_t icode___icode_base___IFloatValue___is_pure(val_t p0){
1797 struct {struct stack_frame_t me;} fra;
1798 val_t REGB0;
1799 val_t tmp;
1800 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1801 fra.me.file = LOCATE_icode___icode_base;
1802 fra.me.line = 385;
1803 fra.me.meth = LOCATE_icode___icode_base___IFloatValue___is_pure;
1804 fra.me.has_broke = 0;
1805 fra.me.REG_size = 1;
1806 fra.me.REG[0] = NIT_NULL;
1807 fra.me.REG[0] = p0;
1808 /* ./icode//icode_base.nit:385 */
1809 REGB0 = TAG_Bool(true);
1810 goto label1;
1811 label1: while(0);
1812 stack_frame_head = fra.me.prev;
1813 return REGB0;
1814 }
1815 val_t icode___icode_base___ICharValue___value(val_t p0){
1816 struct {struct stack_frame_t me;} fra;
1817 val_t REGB0;
1818 val_t tmp;
1819 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1820 fra.me.file = LOCATE_icode___icode_base;
1821 fra.me.line = 391;
1822 fra.me.meth = LOCATE_icode___icode_base___ICharValue___value;
1823 fra.me.has_broke = 0;
1824 fra.me.REG_size = 1;
1825 fra.me.REG[0] = NIT_NULL;
1826 fra.me.REG[0] = p0;
1827 /* ./icode//icode_base.nit:391 */
1828 REGB0 = TAG_Bool(ATTR_icode___icode_base___ICharValue____value(fra.me.REG[0])!=NIT_NULL);
1829 if (UNTAG_Bool(REGB0)) {
1830 } else {
1831 nit_abort("Uninitialized attribute %s", "_value", LOCATE_icode___icode_base, 391);
1832 }
1833 fra.me.REG[0] = ATTR_icode___icode_base___ICharValue____value(fra.me.REG[0]);
1834 stack_frame_head = fra.me.prev;
1835 return fra.me.REG[0];
1836 }
1837 void icode___icode_base___ICharValue___init(val_t p0, val_t p1, int* init_table){
1838 int itpos28 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ICharValue].i;
1839 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1840 val_t tmp;
1841 if (init_table[itpos28]) return;
1842 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1843 fra.me.file = LOCATE_icode___icode_base;
1844 fra.me.line = 394;
1845 fra.me.meth = LOCATE_icode___icode_base___ICharValue___init;
1846 fra.me.has_broke = 0;
1847 fra.me.REG_size = 2;
1848 fra.me.REG[0] = NIT_NULL;
1849 fra.me.REG[1] = NIT_NULL;
1850 fra.me.REG[0] = p0;
1851 fra.me.REG[1] = p1;
1852 /* ./icode//icode_base.nit:394 */
1853 ATTR_icode___icode_base___ICharValue____value(fra.me.REG[0]) = fra.me.REG[1];
1854 stack_frame_head = fra.me.prev;
1855 init_table[itpos28] = 1;
1856 return;
1857 }
1858 val_t icode___icode_base___ICharValue___is_pure(val_t p0){
1859 struct {struct stack_frame_t me;} fra;
1860 val_t REGB0;
1861 val_t tmp;
1862 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1863 fra.me.file = LOCATE_icode___icode_base;
1864 fra.me.line = 396;
1865 fra.me.meth = LOCATE_icode___icode_base___ICharValue___is_pure;
1866 fra.me.has_broke = 0;
1867 fra.me.REG_size = 1;
1868 fra.me.REG[0] = NIT_NULL;
1869 fra.me.REG[0] = p0;
1870 /* ./icode//icode_base.nit:396 */
1871 REGB0 = TAG_Bool(true);
1872 goto label1;
1873 label1: while(0);
1874 stack_frame_head = fra.me.prev;
1875 return REGB0;
1876 }
1877 void icode___icode_base___IMove___init(val_t p0, val_t p1, val_t p2, int* init_table){
1878 int itpos29 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IMove].i;
1879 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1880 val_t tmp;
1881 if (init_table[itpos29]) return;
1882 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1883 fra.me.file = LOCATE_icode___icode_base;
1884 fra.me.line = 404;
1885 fra.me.meth = LOCATE_icode___icode_base___IMove___init;
1886 fra.me.has_broke = 0;
1887 fra.me.REG_size = 4;
1888 fra.me.REG[0] = NIT_NULL;
1889 fra.me.REG[1] = NIT_NULL;
1890 fra.me.REG[2] = NIT_NULL;
1891 fra.me.REG[3] = NIT_NULL;
1892 fra.me.REG[0] = p0;
1893 fra.me.REG[1] = p1;
1894 fra.me.REG[2] = p2;
1895 /* ./icode//icode_base.nit:404 */
1896 fra.me.REG[3] = fra.me.REG[0];
1897 /* ./icode//icode_base.nit:406 */
1898 CALL_icode___icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
1899 /* ./icode//icode_base.nit:407 */
1900 ATTR_icode___icode_base___ICode____result(fra.me.REG[3]) = fra.me.REG[1];
1901 stack_frame_head = fra.me.prev;
1902 init_table[itpos29] = 1;
1903 return;
1904 }
1905 val_t icode___icode_base___IMove___is_pure(val_t p0){
1906 struct {struct stack_frame_t me;} fra;
1907 val_t REGB0;
1908 val_t tmp;
1909 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1910 fra.me.file = LOCATE_icode___icode_base;
1911 fra.me.line = 410;
1912 fra.me.meth = LOCATE_icode___icode_base___IMove___is_pure;
1913 fra.me.has_broke = 0;
1914 fra.me.REG_size = 1;
1915 fra.me.REG[0] = NIT_NULL;
1916 fra.me.REG[0] = p0;
1917 /* ./icode//icode_base.nit:410 */
1918 REGB0 = TAG_Bool(true);
1919 goto label1;
1920 label1: while(0);
1921 stack_frame_head = fra.me.prev;
1922 return REGB0;
1923 }
1924 val_t icode___icode_base___IAttrRead___property(val_t p0){
1925 struct {struct stack_frame_t me;} fra;
1926 val_t REGB0;
1927 val_t tmp;
1928 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1929 fra.me.file = LOCATE_icode___icode_base;
1930 fra.me.line = 417;
1931 fra.me.meth = LOCATE_icode___icode_base___IAttrRead___property;
1932 fra.me.has_broke = 0;
1933 fra.me.REG_size = 1;
1934 fra.me.REG[0] = NIT_NULL;
1935 fra.me.REG[0] = p0;
1936 /* ./icode//icode_base.nit:417 */
1937 REGB0 = TAG_Bool(ATTR_icode___icode_base___IAttrRead____property(fra.me.REG[0])!=NIT_NULL);
1938 if (UNTAG_Bool(REGB0)) {
1939 } else {
1940 nit_abort("Uninitialized attribute %s", "_property", LOCATE_icode___icode_base, 417);
1941 }
1942 fra.me.REG[0] = ATTR_icode___icode_base___IAttrRead____property(fra.me.REG[0]);
1943 stack_frame_head = fra.me.prev;
1944 return fra.me.REG[0];
1945 }
1946 void icode___icode_base___IAttrRead___init(val_t p0, val_t p1, val_t p2, int* init_table){
1947 int itpos30 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IAttrRead].i;
1948 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1949 val_t tmp;
1950 if (init_table[itpos30]) return;
1951 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1952 fra.me.file = LOCATE_icode___icode_base;
1953 fra.me.line = 420;
1954 fra.me.meth = LOCATE_icode___icode_base___IAttrRead___init;
1955 fra.me.has_broke = 0;
1956 fra.me.REG_size = 4;
1957 fra.me.REG[0] = NIT_NULL;
1958 fra.me.REG[1] = NIT_NULL;
1959 fra.me.REG[2] = NIT_NULL;
1960 fra.me.REG[3] = NIT_NULL;
1961 fra.me.REG[0] = p0;
1962 fra.me.REG[1] = p1;
1963 fra.me.REG[2] = p2;
1964 /* ./icode//icode_base.nit:420 */
1965 fra.me.REG[3] = fra.me.REG[0];
1966 /* ./icode//icode_base.nit:422 */
1967 CALL_icode___icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
1968 /* ./icode//icode_base.nit:423 */
1969 ATTR_icode___icode_base___IAttrRead____property(fra.me.REG[3]) = fra.me.REG[1];
1970 stack_frame_head = fra.me.prev;
1971 init_table[itpos30] = 1;
1972 return;
1973 }
1974 val_t icode___icode_base___IAttrRead___is_pure(val_t p0){
1975 struct {struct stack_frame_t me;} fra;
1976 val_t REGB0;
1977 val_t tmp;
1978 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1979 fra.me.file = LOCATE_icode___icode_base;
1980 fra.me.line = 426;
1981 fra.me.meth = LOCATE_icode___icode_base___IAttrRead___is_pure;
1982 fra.me.has_broke = 0;
1983 fra.me.REG_size = 1;
1984 fra.me.REG[0] = NIT_NULL;
1985 fra.me.REG[0] = p0;
1986 /* ./icode//icode_base.nit:426 */
1987 REGB0 = TAG_Bool(true);
1988 goto label1;
1989 label1: while(0);
1990 stack_frame_head = fra.me.prev;
1991 return REGB0;
1992 }
1993 val_t icode___icode_base___IAttrWrite___property(val_t p0){
1994 struct {struct stack_frame_t me;} fra;
1995 val_t REGB0;
1996 val_t tmp;
1997 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1998 fra.me.file = LOCATE_icode___icode_base;
1999 fra.me.line = 433;
2000 fra.me.meth = LOCATE_icode___icode_base___IAttrWrite___property;
2001 fra.me.has_broke = 0;
2002 fra.me.REG_size = 1;
2003 fra.me.REG[0] = NIT_NULL;
2004 fra.me.REG[0] = p0;
2005 /* ./icode//icode_base.nit:433 */
2006 REGB0 = TAG_Bool(ATTR_icode___icode_base___IAttrWrite____property(fra.me.REG[0])!=NIT_NULL);
2007 if (UNTAG_Bool(REGB0)) {
2008 } else {
2009 nit_abort("Uninitialized attribute %s", "_property", LOCATE_icode___icode_base, 433);
2010 }
2011 fra.me.REG[0] = ATTR_icode___icode_base___IAttrWrite____property(fra.me.REG[0]);
2012 stack_frame_head = fra.me.prev;
2013 return fra.me.REG[0];
2014 }
2015 void icode___icode_base___IAttrWrite___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
2016 int itpos31 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IAttrWrite].i;
2017 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
2018 val_t tmp;
2019 if (init_table[itpos31]) return;
2020 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2021 fra.me.file = LOCATE_icode___icode_base;
2022 fra.me.line = 436;
2023 fra.me.meth = LOCATE_icode___icode_base___IAttrWrite___init;
2024 fra.me.has_broke = 0;
2025 fra.me.REG_size = 5;
2026 fra.me.REG[0] = NIT_NULL;
2027 fra.me.REG[1] = NIT_NULL;
2028 fra.me.REG[2] = NIT_NULL;
2029 fra.me.REG[3] = NIT_NULL;
2030 fra.me.REG[4] = NIT_NULL;
2031 fra.me.REG[0] = p0;
2032 fra.me.REG[1] = p1;
2033 fra.me.REG[2] = p2;
2034 fra.me.REG[3] = p3;
2035 /* ./icode//icode_base.nit:436 */
2036 fra.me.REG[4] = fra.me.REG[0];
2037 /* ./icode//icode_base.nit:438 */
2038 CALL_icode___icode_base___ICode2___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[3], init_table);
2039 /* ./icode//icode_base.nit:439 */
2040 ATTR_icode___icode_base___IAttrWrite____property(fra.me.REG[4]) = fra.me.REG[1];
2041 stack_frame_head = fra.me.prev;
2042 init_table[itpos31] = 1;
2043 return;
2044 }
2045 val_t icode___icode_base___IAttrIsset___property(val_t p0){
2046 struct {struct stack_frame_t me;} fra;
2047 val_t REGB0;
2048 val_t tmp;
2049 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2050 fra.me.file = LOCATE_icode___icode_base;
2051 fra.me.line = 448;
2052 fra.me.meth = LOCATE_icode___icode_base___IAttrIsset___property;
2053 fra.me.has_broke = 0;
2054 fra.me.REG_size = 1;
2055 fra.me.REG[0] = NIT_NULL;
2056 fra.me.REG[0] = p0;
2057 /* ./icode//icode_base.nit:448 */
2058 REGB0 = TAG_Bool(ATTR_icode___icode_base___IAttrIsset____property(fra.me.REG[0])!=NIT_NULL);
2059 if (UNTAG_Bool(REGB0)) {
2060 } else {
2061 nit_abort("Uninitialized attribute %s", "_property", LOCATE_icode___icode_base, 448);
2062 }
2063 fra.me.REG[0] = ATTR_icode___icode_base___IAttrIsset____property(fra.me.REG[0]);
2064 stack_frame_head = fra.me.prev;
2065 return fra.me.REG[0];
2066 }
2067 void icode___icode_base___IAttrIsset___init(val_t p0, val_t p1, val_t p2, int* init_table){
2068 int itpos32 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IAttrIsset].i;
2069 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2070 val_t tmp;
2071 if (init_table[itpos32]) return;
2072 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2073 fra.me.file = LOCATE_icode___icode_base;
2074 fra.me.line = 451;
2075 fra.me.meth = LOCATE_icode___icode_base___IAttrIsset___init;
2076 fra.me.has_broke = 0;
2077 fra.me.REG_size = 4;
2078 fra.me.REG[0] = NIT_NULL;
2079 fra.me.REG[1] = NIT_NULL;
2080 fra.me.REG[2] = NIT_NULL;
2081 fra.me.REG[3] = NIT_NULL;
2082 fra.me.REG[0] = p0;
2083 fra.me.REG[1] = p1;
2084 fra.me.REG[2] = p2;
2085 /* ./icode//icode_base.nit:451 */
2086 fra.me.REG[3] = fra.me.REG[0];
2087 /* ./icode//icode_base.nit:453 */
2088 CALL_icode___icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
2089 /* ./icode//icode_base.nit:454 */
2090 ATTR_icode___icode_base___IAttrIsset____property(fra.me.REG[3]) = fra.me.REG[1];
2091 stack_frame_head = fra.me.prev;
2092 init_table[itpos32] = 1;
2093 return;
2094 }
2095 val_t icode___icode_base___IAttrIsset___is_pure(val_t p0){
2096 struct {struct stack_frame_t me;} fra;
2097 val_t REGB0;
2098 val_t tmp;
2099 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2100 fra.me.file = LOCATE_icode___icode_base;
2101 fra.me.line = 457;
2102 fra.me.meth = LOCATE_icode___icode_base___IAttrIsset___is_pure;
2103 fra.me.has_broke = 0;
2104 fra.me.REG_size = 1;
2105 fra.me.REG[0] = NIT_NULL;
2106 fra.me.REG[0] = p0;
2107 /* ./icode//icode_base.nit:457 */
2108 REGB0 = TAG_Bool(true);
2109 goto label1;
2110 label1: while(0);
2111 stack_frame_head = fra.me.prev;
2112 return REGB0;
2113 }
2114 val_t icode___icode_base___ITypeCheck___stype(val_t p0){
2115 struct {struct stack_frame_t me;} fra;
2116 val_t REGB0;
2117 val_t tmp;
2118 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2119 fra.me.file = LOCATE_icode___icode_base;
2120 fra.me.line = 465;
2121 fra.me.meth = LOCATE_icode___icode_base___ITypeCheck___stype;
2122 fra.me.has_broke = 0;
2123 fra.me.REG_size = 1;
2124 fra.me.REG[0] = NIT_NULL;
2125 fra.me.REG[0] = p0;
2126 /* ./icode//icode_base.nit:465 */
2127 REGB0 = TAG_Bool(ATTR_icode___icode_base___ITypeCheck____stype(fra.me.REG[0])!=NIT_NULL);
2128 if (UNTAG_Bool(REGB0)) {
2129 } else {
2130 nit_abort("Uninitialized attribute %s", "_stype", LOCATE_icode___icode_base, 465);
2131 }
2132 fra.me.REG[0] = ATTR_icode___icode_base___ITypeCheck____stype(fra.me.REG[0]);
2133 stack_frame_head = fra.me.prev;
2134 return fra.me.REG[0];
2135 }
2136 void icode___icode_base___ITypeCheck___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
2137 int itpos33 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ITypeCheck].i;
2138 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
2139 val_t tmp;
2140 if (init_table[itpos33]) return;
2141 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2142 fra.me.file = LOCATE_icode___icode_base;
2143 fra.me.line = 468;
2144 fra.me.meth = LOCATE_icode___icode_base___ITypeCheck___init;
2145 fra.me.has_broke = 0;
2146 fra.me.REG_size = 5;
2147 fra.me.REG[0] = NIT_NULL;
2148 fra.me.REG[1] = NIT_NULL;
2149 fra.me.REG[2] = NIT_NULL;
2150 fra.me.REG[3] = NIT_NULL;
2151 fra.me.REG[4] = NIT_NULL;
2152 fra.me.REG[0] = p0;
2153 fra.me.REG[1] = p1;
2154 fra.me.REG[2] = p2;
2155 fra.me.REG[3] = p3;
2156 /* ./icode//icode_base.nit:468 */
2157 fra.me.REG[4] = fra.me.REG[0];
2158 /* ./icode//icode_base.nit:470 */
2159 CALL_icode___icode_base___ICode2___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
2160 /* ./icode//icode_base.nit:471 */
2161 ATTR_icode___icode_base___ITypeCheck____stype(fra.me.REG[4]) = fra.me.REG[3];
2162 stack_frame_head = fra.me.prev;
2163 init_table[itpos33] = 1;
2164 return;
2165 }
2166 val_t icode___icode_base___ITypeCheck___is_pure(val_t p0){
2167 struct {struct stack_frame_t me;} fra;
2168 val_t REGB0;
2169 val_t tmp;
2170 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2171 fra.me.file = LOCATE_icode___icode_base;
2172 fra.me.line = 474;
2173 fra.me.meth = LOCATE_icode___icode_base___ITypeCheck___is_pure;
2174 fra.me.has_broke = 0;
2175 fra.me.REG_size = 1;
2176 fra.me.REG[0] = NIT_NULL;
2177 fra.me.REG[0] = p0;
2178 /* ./icode//icode_base.nit:474 */
2179 REGB0 = TAG_Bool(true);
2180 goto label1;
2181 label1: while(0);
2182 stack_frame_head = fra.me.prev;
2183 return REGB0;
2184 }
2185 void icode___icode_base___IIs___init(val_t p0, val_t p1, val_t p2, int* init_table){
2186 int itpos34 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IIs].i;
2187 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2188 val_t tmp;
2189 if (init_table[itpos34]) return;
2190 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2191 fra.me.file = LOCATE_icode___icode_base;
2192 fra.me.line = 481;
2193 fra.me.meth = LOCATE_icode___icode_base___IIs___init;
2194 fra.me.has_broke = 0;
2195 fra.me.REG_size = 3;
2196 fra.me.REG[0] = NIT_NULL;
2197 fra.me.REG[1] = NIT_NULL;
2198 fra.me.REG[2] = NIT_NULL;
2199 fra.me.REG[0] = p0;
2200 fra.me.REG[1] = p1;
2201 fra.me.REG[2] = p2;
2202 /* ./icode//icode_base.nit:483 */
2203 CALL_icode___icode_base___ICode2___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
2204 stack_frame_head = fra.me.prev;
2205 init_table[itpos34] = 1;
2206 return;
2207 }
2208 val_t icode___icode_base___IIs___is_pure(val_t p0){
2209 struct {struct stack_frame_t me;} fra;
2210 val_t REGB0;
2211 val_t tmp;
2212 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2213 fra.me.file = LOCATE_icode___icode_base;
2214 fra.me.line = 486;
2215 fra.me.meth = LOCATE_icode___icode_base___IIs___is_pure;
2216 fra.me.has_broke = 0;
2217 fra.me.REG_size = 1;
2218 fra.me.REG[0] = NIT_NULL;
2219 fra.me.REG[0] = p0;
2220 /* ./icode//icode_base.nit:486 */
2221 REGB0 = TAG_Bool(true);
2222 goto label1;
2223 label1: while(0);
2224 stack_frame_head = fra.me.prev;
2225 return REGB0;
2226 }
2227 void icode___icode_base___INot___init(val_t p0, val_t p1, int* init_table){
2228 int itpos35 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___INot].i;
2229 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2230 val_t tmp;
2231 if (init_table[itpos35]) return;
2232 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2233 fra.me.file = LOCATE_icode___icode_base;
2234 fra.me.line = 493;
2235 fra.me.meth = LOCATE_icode___icode_base___INot___init;
2236 fra.me.has_broke = 0;
2237 fra.me.REG_size = 2;
2238 fra.me.REG[0] = NIT_NULL;
2239 fra.me.REG[1] = NIT_NULL;
2240 fra.me.REG[0] = p0;
2241 fra.me.REG[1] = p1;
2242 /* ./icode//icode_base.nit:495 */
2243 CALL_icode___icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], init_table);
2244 stack_frame_head = fra.me.prev;
2245 init_table[itpos35] = 1;
2246 return;
2247 }
2248 val_t icode___icode_base___INot___is_pure(val_t p0){
2249 struct {struct stack_frame_t me;} fra;
2250 val_t REGB0;
2251 val_t tmp;
2252 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2253 fra.me.file = LOCATE_icode___icode_base;
2254 fra.me.line = 498;
2255 fra.me.meth = LOCATE_icode___icode_base___INot___is_pure;
2256 fra.me.has_broke = 0;
2257 fra.me.REG_size = 1;
2258 fra.me.REG[0] = NIT_NULL;
2259 fra.me.REG[0] = p0;
2260 /* ./icode//icode_base.nit:498 */
2261 REGB0 = TAG_Bool(true);
2262 goto label1;
2263 label1: while(0);
2264 stack_frame_head = fra.me.prev;
2265 return REGB0;
2266 }
2267 val_t icode___icode_base___IOnce___body(val_t p0){
2268 struct {struct stack_frame_t me;} fra;
2269 val_t REGB0;
2270 val_t tmp;
2271 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2272 fra.me.file = LOCATE_icode___icode_base;
2273 fra.me.line = 505;
2274 fra.me.meth = LOCATE_icode___icode_base___IOnce___body;
2275 fra.me.has_broke = 0;
2276 fra.me.REG_size = 1;
2277 fra.me.REG[0] = NIT_NULL;
2278 fra.me.REG[0] = p0;
2279 /* ./icode//icode_base.nit:505 */
2280 REGB0 = TAG_Bool(ATTR_icode___icode_base___IOnce____body(fra.me.REG[0])!=NIT_NULL);
2281 if (UNTAG_Bool(REGB0)) {
2282 } else {
2283 nit_abort("Uninitialized attribute %s", "_body", LOCATE_icode___icode_base, 505);
2284 }
2285 fra.me.REG[0] = ATTR_icode___icode_base___IOnce____body(fra.me.REG[0]);
2286 stack_frame_head = fra.me.prev;
2287 return fra.me.REG[0];
2288 }
2289 void icode___icode_base___IOnce___init(val_t p0, int* init_table){
2290 int itpos36 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IOnce].i;
2291 struct {struct stack_frame_t me;} fra;
2292 val_t tmp;
2293 if (init_table[itpos36]) return;
2294 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2295 fra.me.file = LOCATE_icode___icode_base;
2296 fra.me.line = 506;
2297 fra.me.meth = LOCATE_icode___icode_base___IOnce___init;
2298 fra.me.has_broke = 0;
2299 fra.me.REG_size = 1;
2300 fra.me.REG[0] = NIT_NULL;
2301 fra.me.REG[0] = p0;
2302 stack_frame_head = fra.me.prev;
2303 init_table[itpos36] = 1;
2304 return;
2305 }
2306 val_t icode___icode_base___IHasClos___closure_decl(val_t p0){
2307 struct {struct stack_frame_t me;} fra;
2308 val_t REGB0;
2309 val_t tmp;
2310 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2311 fra.me.file = LOCATE_icode___icode_base;
2312 fra.me.line = 512;
2313 fra.me.meth = LOCATE_icode___icode_base___IHasClos___closure_decl;
2314 fra.me.has_broke = 0;
2315 fra.me.REG_size = 1;
2316 fra.me.REG[0] = NIT_NULL;
2317 fra.me.REG[0] = p0;
2318 /* ./icode//icode_base.nit:512 */
2319 REGB0 = TAG_Bool(ATTR_icode___icode_base___IHasClos____closure_decl(fra.me.REG[0])!=NIT_NULL);
2320 if (UNTAG_Bool(REGB0)) {
2321 } else {
2322 nit_abort("Uninitialized attribute %s", "_closure_decl", LOCATE_icode___icode_base, 512);
2323 }
2324 fra.me.REG[0] = ATTR_icode___icode_base___IHasClos____closure_decl(fra.me.REG[0]);
2325 stack_frame_head = fra.me.prev;
2326 return fra.me.REG[0];
2327 }
2328 void icode___icode_base___IHasClos___init(val_t p0, val_t p1, int* init_table){
2329 int itpos37 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IHasClos].i;
2330 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2331 val_t tmp;
2332 if (init_table[itpos37]) return;
2333 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2334 fra.me.file = LOCATE_icode___icode_base;
2335 fra.me.line = 515;
2336 fra.me.meth = LOCATE_icode___icode_base___IHasClos___init;
2337 fra.me.has_broke = 0;
2338 fra.me.REG_size = 2;
2339 fra.me.REG[0] = NIT_NULL;
2340 fra.me.REG[1] = NIT_NULL;
2341 fra.me.REG[0] = p0;
2342 fra.me.REG[1] = p1;
2343 /* ./icode//icode_base.nit:517 */
2344 ATTR_icode___icode_base___IHasClos____closure_decl(fra.me.REG[0]) = fra.me.REG[1];
2345 stack_frame_head = fra.me.prev;
2346 init_table[itpos37] = 1;
2347 return;
2348 }
2349 val_t icode___icode_base___IHasClos___is_pure(val_t p0){
2350 struct {struct stack_frame_t me;} fra;
2351 val_t REGB0;
2352 val_t tmp;
2353 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2354 fra.me.file = LOCATE_icode___icode_base;
2355 fra.me.line = 520;
2356 fra.me.meth = LOCATE_icode___icode_base___IHasClos___is_pure;
2357 fra.me.has_broke = 0;
2358 fra.me.REG_size = 1;
2359 fra.me.REG[0] = NIT_NULL;
2360 fra.me.REG[0] = p0;
2361 /* ./icode//icode_base.nit:520 */
2362 REGB0 = TAG_Bool(true);
2363 goto label1;
2364 label1: while(0);
2365 stack_frame_head = fra.me.prev;
2366 return REGB0;
2367 }
2368 val_t icode___icode_base___MMAttribute___iroutine(val_t p0){
2369 struct {struct stack_frame_t me;} fra;
2370 val_t tmp;
2371 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2372 fra.me.file = LOCATE_icode___icode_base;
2373 fra.me.line = 526;
2374 fra.me.meth = LOCATE_icode___icode_base___MMAttribute___iroutine;
2375 fra.me.has_broke = 0;
2376 fra.me.REG_size = 0;
2377 /* ./icode//icode_base.nit:526 */
2378 nit_abort("Deferred method called", NULL, LOCATE_icode___icode_base, 526);
2379 stack_frame_head = fra.me.prev;
2380 return NIT_NULL;
2381 }
2382 val_t icode___icode_base___MMMethod___iroutine(val_t p0){
2383 struct {struct stack_frame_t me;} fra;
2384 val_t tmp;
2385 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2386 fra.me.file = LOCATE_icode___icode_base;
2387 fra.me.line = 532;
2388 fra.me.meth = LOCATE_icode___icode_base___MMMethod___iroutine;
2389 fra.me.has_broke = 0;
2390 fra.me.REG_size = 0;
2391 /* ./icode//icode_base.nit:532 */
2392 nit_abort("Deferred method called", NULL, LOCATE_icode___icode_base, 532);
2393 stack_frame_head = fra.me.prev;
2394 return NIT_NULL;
2395 }