9c96a9c08436e3e33f9adbb6dee0739faec7495c
[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.nitni_local_ref_head = NULL;
14 fra.me.REG[0] = NIT_NULL;
15 fra.me.REG[0] = p0;
16 /* icode/icode_base.nit:26 */
17 REGB0 = TAG_Bool(ATTR_icode___icode_base___IRegister____stype(fra.me.REG[0])!=NIT_NULL);
18 if (UNTAG_Bool(REGB0)) {
19 } else {
20 nit_abort("Uninitialized attribute %s", "_stype", LOCATE_icode___icode_base, 26);
21 }
22 fra.me.REG[0] = ATTR_icode___icode_base___IRegister____stype(fra.me.REG[0]);
23 stack_frame_head = fra.me.prev;
24 return fra.me.REG[0];
25 }
26 void icode___icode_base___IRegister___init(val_t p0, val_t p1, int* init_table){
27 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IRegister].i;
28 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
29 val_t tmp;
30 if (init_table[itpos0]) return;
31 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32 fra.me.file = LOCATE_icode___icode_base;
33 fra.me.line = 28;
34 fra.me.meth = LOCATE_icode___icode_base___IRegister___init;
35 fra.me.has_broke = 0;
36 fra.me.REG_size = 2;
37 fra.me.nitni_local_ref_head = NULL;
38 fra.me.REG[0] = NIT_NULL;
39 fra.me.REG[1] = NIT_NULL;
40 fra.me.REG[0] = p0;
41 fra.me.REG[1] = p1;
42 /* icode/icode_base.nit:30 */
43 ATTR_icode___icode_base___IRegister____stype(fra.me.REG[0]) = fra.me.REG[1];
44 stack_frame_head = fra.me.prev;
45 init_table[itpos0] = 1;
46 return;
47 }
48 void icode___icode_base___IEscapeMark___init(val_t p0, int* init_table){
49 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IEscapeMark].i;
50 struct {struct stack_frame_t me;} fra;
51 val_t tmp;
52 if (init_table[itpos1]) return;
53 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54 fra.me.file = LOCATE_icode___icode_base;
55 fra.me.line = 0;
56 fra.me.meth = LOCATE_icode___icode_base___IEscapeMark___init;
57 fra.me.has_broke = 0;
58 fra.me.REG_size = 0;
59 fra.me.nitni_local_ref_head = NULL;
60 stack_frame_head = fra.me.prev;
61 init_table[itpos1] = 1;
62 return;
63 }
64 val_t icode___icode_base___IClosureDecl___closure(val_t p0){
65 struct {struct stack_frame_t me;} fra;
66 val_t REGB0;
67 val_t tmp;
68 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
69 fra.me.file = LOCATE_icode___icode_base;
70 fra.me.line = 40;
71 fra.me.meth = LOCATE_icode___icode_base___IClosureDecl___closure;
72 fra.me.has_broke = 0;
73 fra.me.REG_size = 1;
74 fra.me.nitni_local_ref_head = NULL;
75 fra.me.REG[0] = NIT_NULL;
76 fra.me.REG[0] = p0;
77 /* icode/icode_base.nit:40 */
78 REGB0 = TAG_Bool(ATTR_icode___icode_base___IClosureDecl____closure(fra.me.REG[0])!=NIT_NULL);
79 if (UNTAG_Bool(REGB0)) {
80 } else {
81 nit_abort("Uninitialized attribute %s", "_closure", LOCATE_icode___icode_base, 40);
82 }
83 fra.me.REG[0] = ATTR_icode___icode_base___IClosureDecl____closure(fra.me.REG[0]);
84 stack_frame_head = fra.me.prev;
85 return fra.me.REG[0];
86 }
87 val_t icode___icode_base___IClosureDecl___default(val_t p0){
88 struct {struct stack_frame_t me;} fra;
89 val_t tmp;
90 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91 fra.me.file = LOCATE_icode___icode_base;
92 fra.me.line = 43;
93 fra.me.meth = LOCATE_icode___icode_base___IClosureDecl___default;
94 fra.me.has_broke = 0;
95 fra.me.REG_size = 1;
96 fra.me.nitni_local_ref_head = NULL;
97 fra.me.REG[0] = NIT_NULL;
98 fra.me.REG[0] = p0;
99 /* icode/icode_base.nit:43 */
100 fra.me.REG[0] = ATTR_icode___icode_base___IClosureDecl____default(fra.me.REG[0]);
101 stack_frame_head = fra.me.prev;
102 return fra.me.REG[0];
103 }
104 void icode___icode_base___IClosureDecl___default__eq(val_t p0, val_t p1){
105 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
106 val_t tmp;
107 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108 fra.me.file = LOCATE_icode___icode_base;
109 fra.me.line = 43;
110 fra.me.meth = LOCATE_icode___icode_base___IClosureDecl___default__eq;
111 fra.me.has_broke = 0;
112 fra.me.REG_size = 2;
113 fra.me.nitni_local_ref_head = NULL;
114 fra.me.REG[0] = NIT_NULL;
115 fra.me.REG[1] = NIT_NULL;
116 fra.me.REG[0] = p0;
117 fra.me.REG[1] = p1;
118 /* icode/icode_base.nit:43 */
119 ATTR_icode___icode_base___IClosureDecl____default(fra.me.REG[0]) = fra.me.REG[1];
120 stack_frame_head = fra.me.prev;
121 return;
122 }
123 void icode___icode_base___IClosureDecl___init(val_t p0, val_t p1, int* init_table){
124 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IClosureDecl].i;
125 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
126 val_t tmp;
127 if (init_table[itpos2]) return;
128 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
129 fra.me.file = LOCATE_icode___icode_base;
130 fra.me.line = 46;
131 fra.me.meth = LOCATE_icode___icode_base___IClosureDecl___init;
132 fra.me.has_broke = 0;
133 fra.me.REG_size = 2;
134 fra.me.nitni_local_ref_head = NULL;
135 fra.me.REG[0] = NIT_NULL;
136 fra.me.REG[1] = NIT_NULL;
137 fra.me.REG[0] = p0;
138 fra.me.REG[1] = p1;
139 /* icode/icode_base.nit:46 */
140 ATTR_icode___icode_base___IClosureDecl____closure(fra.me.REG[0]) = fra.me.REG[1];
141 stack_frame_head = fra.me.prev;
142 init_table[itpos2] = 1;
143 return;
144 }
145 val_t icode___icode_base___IRoutine___params(val_t p0){
146 struct {struct stack_frame_t me;} fra;
147 val_t REGB0;
148 val_t tmp;
149 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
150 fra.me.file = LOCATE_icode___icode_base;
151 fra.me.line = 51;
152 fra.me.meth = LOCATE_icode___icode_base___IRoutine___params;
153 fra.me.has_broke = 0;
154 fra.me.REG_size = 1;
155 fra.me.nitni_local_ref_head = NULL;
156 fra.me.REG[0] = NIT_NULL;
157 fra.me.REG[0] = p0;
158 /* icode/icode_base.nit:51 */
159 REGB0 = TAG_Bool(ATTR_icode___icode_base___IRoutine____params(fra.me.REG[0])!=NIT_NULL);
160 if (UNTAG_Bool(REGB0)) {
161 } else {
162 nit_abort("Uninitialized attribute %s", "_params", LOCATE_icode___icode_base, 51);
163 }
164 fra.me.REG[0] = ATTR_icode___icode_base___IRoutine____params(fra.me.REG[0]);
165 stack_frame_head = fra.me.prev;
166 return fra.me.REG[0];
167 }
168 val_t icode___icode_base___IRoutine___closure_decls(val_t p0){
169 struct {struct stack_frame_t me;} fra;
170 val_t tmp;
171 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
172 fra.me.file = LOCATE_icode___icode_base;
173 fra.me.line = 54;
174 fra.me.meth = LOCATE_icode___icode_base___IRoutine___closure_decls;
175 fra.me.has_broke = 0;
176 fra.me.REG_size = 1;
177 fra.me.nitni_local_ref_head = NULL;
178 fra.me.REG[0] = NIT_NULL;
179 fra.me.REG[0] = p0;
180 /* icode/icode_base.nit:54 */
181 fra.me.REG[0] = ATTR_icode___icode_base___IRoutine____closure_decls(fra.me.REG[0]);
182 stack_frame_head = fra.me.prev;
183 return fra.me.REG[0];
184 }
185 void icode___icode_base___IRoutine___closure_decls__eq(val_t p0, val_t p1){
186 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
187 val_t tmp;
188 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
189 fra.me.file = LOCATE_icode___icode_base;
190 fra.me.line = 54;
191 fra.me.meth = LOCATE_icode___icode_base___IRoutine___closure_decls__eq;
192 fra.me.has_broke = 0;
193 fra.me.REG_size = 2;
194 fra.me.nitni_local_ref_head = NULL;
195 fra.me.REG[0] = NIT_NULL;
196 fra.me.REG[1] = NIT_NULL;
197 fra.me.REG[0] = p0;
198 fra.me.REG[1] = p1;
199 /* icode/icode_base.nit:54 */
200 ATTR_icode___icode_base___IRoutine____closure_decls(fra.me.REG[0]) = fra.me.REG[1];
201 stack_frame_head = fra.me.prev;
202 return;
203 }
204 val_t icode___icode_base___IRoutine___registers(val_t p0){
205 struct {struct stack_frame_t me;} fra;
206 val_t REGB0;
207 val_t tmp;
208 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
209 fra.me.file = LOCATE_icode___icode_base;
210 fra.me.line = 57;
211 fra.me.meth = LOCATE_icode___icode_base___IRoutine___registers;
212 fra.me.has_broke = 0;
213 fra.me.REG_size = 1;
214 fra.me.nitni_local_ref_head = NULL;
215 fra.me.REG[0] = NIT_NULL;
216 fra.me.REG[0] = p0;
217 /* icode/icode_base.nit:57 */
218 REGB0 = TAG_Bool(ATTR_icode___icode_base___IRoutine____registers(fra.me.REG[0])!=NIT_NULL);
219 if (UNTAG_Bool(REGB0)) {
220 } else {
221 nit_abort("Uninitialized attribute %s", "_registers", LOCATE_icode___icode_base, 57);
222 }
223 fra.me.REG[0] = ATTR_icode___icode_base___IRoutine____registers(fra.me.REG[0]);
224 stack_frame_head = fra.me.prev;
225 return fra.me.REG[0];
226 }
227 val_t icode___icode_base___IRoutine___result(val_t p0){
228 struct {struct stack_frame_t me;} fra;
229 val_t tmp;
230 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
231 fra.me.file = LOCATE_icode___icode_base;
232 fra.me.line = 60;
233 fra.me.meth = LOCATE_icode___icode_base___IRoutine___result;
234 fra.me.has_broke = 0;
235 fra.me.REG_size = 1;
236 fra.me.nitni_local_ref_head = NULL;
237 fra.me.REG[0] = NIT_NULL;
238 fra.me.REG[0] = p0;
239 /* icode/icode_base.nit:60 */
240 fra.me.REG[0] = ATTR_icode___icode_base___IRoutine____result(fra.me.REG[0]);
241 stack_frame_head = fra.me.prev;
242 return fra.me.REG[0];
243 }
244 val_t icode___icode_base___IRoutine___escape_marks(val_t p0){
245 struct {struct stack_frame_t me;} fra;
246 val_t REGB0;
247 val_t tmp;
248 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
249 fra.me.file = LOCATE_icode___icode_base;
250 fra.me.line = 63;
251 fra.me.meth = LOCATE_icode___icode_base___IRoutine___escape_marks;
252 fra.me.has_broke = 0;
253 fra.me.REG_size = 1;
254 fra.me.nitni_local_ref_head = NULL;
255 fra.me.REG[0] = NIT_NULL;
256 fra.me.REG[0] = p0;
257 /* icode/icode_base.nit:63 */
258 REGB0 = TAG_Bool(ATTR_icode___icode_base___IRoutine____escape_marks(fra.me.REG[0])!=NIT_NULL);
259 if (UNTAG_Bool(REGB0)) {
260 } else {
261 nit_abort("Uninitialized attribute %s", "_escape_marks", LOCATE_icode___icode_base, 63);
262 }
263 fra.me.REG[0] = ATTR_icode___icode_base___IRoutine____escape_marks(fra.me.REG[0]);
264 stack_frame_head = fra.me.prev;
265 return fra.me.REG[0];
266 }
267 val_t icode___icode_base___IRoutine___body(val_t p0){
268 struct {struct stack_frame_t me;} fra;
269 val_t REGB0;
270 val_t tmp;
271 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
272 fra.me.file = LOCATE_icode___icode_base;
273 fra.me.line = 66;
274 fra.me.meth = LOCATE_icode___icode_base___IRoutine___body;
275 fra.me.has_broke = 0;
276 fra.me.REG_size = 1;
277 fra.me.nitni_local_ref_head = NULL;
278 fra.me.REG[0] = NIT_NULL;
279 fra.me.REG[0] = p0;
280 /* icode/icode_base.nit:66 */
281 REGB0 = TAG_Bool(ATTR_icode___icode_base___IRoutine____body(fra.me.REG[0])!=NIT_NULL);
282 if (UNTAG_Bool(REGB0)) {
283 } else {
284 nit_abort("Uninitialized attribute %s", "_body", LOCATE_icode___icode_base, 66);
285 }
286 fra.me.REG[0] = ATTR_icode___icode_base___IRoutine____body(fra.me.REG[0]);
287 stack_frame_head = fra.me.prev;
288 return fra.me.REG[0];
289 }
290 val_t icode___icode_base___IRoutine___location(val_t p0){
291 struct {struct stack_frame_t me;} fra;
292 val_t tmp;
293 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
294 fra.me.file = LOCATE_icode___icode_base;
295 fra.me.line = 69;
296 fra.me.meth = LOCATE_icode___icode_base___IRoutine___location;
297 fra.me.has_broke = 0;
298 fra.me.REG_size = 1;
299 fra.me.nitni_local_ref_head = NULL;
300 fra.me.REG[0] = NIT_NULL;
301 fra.me.REG[0] = p0;
302 /* icode/icode_base.nit:69 */
303 fra.me.REG[0] = ATTR_icode___icode_base___IRoutine____location(fra.me.REG[0]);
304 stack_frame_head = fra.me.prev;
305 return fra.me.REG[0];
306 }
307 void icode___icode_base___IRoutine___location__eq(val_t p0, val_t p1){
308 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
309 val_t tmp;
310 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
311 fra.me.file = LOCATE_icode___icode_base;
312 fra.me.line = 69;
313 fra.me.meth = LOCATE_icode___icode_base___IRoutine___location__eq;
314 fra.me.has_broke = 0;
315 fra.me.REG_size = 2;
316 fra.me.nitni_local_ref_head = NULL;
317 fra.me.REG[0] = NIT_NULL;
318 fra.me.REG[1] = NIT_NULL;
319 fra.me.REG[0] = p0;
320 fra.me.REG[1] = p1;
321 /* icode/icode_base.nit:69 */
322 ATTR_icode___icode_base___IRoutine____location(fra.me.REG[0]) = fra.me.REG[1];
323 stack_frame_head = fra.me.prev;
324 return;
325 }
326 void icode___icode_base___IRoutine___init(val_t p0, val_t p1, val_t p2, int* init_table){
327 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IRoutine].i;
328 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
329 val_t tmp;
330 if (init_table[itpos3]) return;
331 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
332 fra.me.file = LOCATE_icode___icode_base;
333 fra.me.line = 72;
334 fra.me.meth = LOCATE_icode___icode_base___IRoutine___init;
335 fra.me.has_broke = 0;
336 fra.me.REG_size = 3;
337 fra.me.nitni_local_ref_head = NULL;
338 fra.me.REG[0] = NIT_NULL;
339 fra.me.REG[1] = NIT_NULL;
340 fra.me.REG[2] = NIT_NULL;
341 fra.me.REG[0] = p0;
342 fra.me.REG[1] = p1;
343 fra.me.REG[2] = p2;
344 /* icode/icode_base.nit:74 */
345 fra.me.REG[1] = CALL_standard___collection___array___Collection___to_a(fra.me.REG[1])(fra.me.REG[1]);
346 ATTR_icode___icode_base___IRoutine____params(fra.me.REG[0]) = fra.me.REG[1];
347 /* icode/icode_base.nit:75 */
348 ATTR_icode___icode_base___IRoutine____result(fra.me.REG[0]) = fra.me.REG[2];
349 stack_frame_head = fra.me.prev;
350 init_table[itpos3] = 1;
351 return;
352 }
353 void icode___icode_base___IClosureDef___init(val_t p0, val_t p1, val_t p2, int* init_table){
354 int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IClosureDef].i;
355 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
356 val_t tmp;
357 if (init_table[itpos4]) return;
358 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
359 fra.me.file = LOCATE_icode___icode_base;
360 fra.me.line = 82;
361 fra.me.meth = LOCATE_icode___icode_base___IClosureDef___init;
362 fra.me.has_broke = 0;
363 fra.me.REG_size = 3;
364 fra.me.nitni_local_ref_head = NULL;
365 fra.me.REG[0] = NIT_NULL;
366 fra.me.REG[1] = NIT_NULL;
367 fra.me.REG[2] = NIT_NULL;
368 fra.me.REG[0] = p0;
369 fra.me.REG[1] = p1;
370 fra.me.REG[2] = p2;
371 /* icode/icode_base.nit:84 */
372 CALL_icode___icode_base___IRoutine___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
373 stack_frame_head = fra.me.prev;
374 init_table[itpos4] = 1;
375 return;
376 }
377 val_t icode___icode_base___ICode___arity(val_t p0){
378 struct {struct stack_frame_t me;} fra;
379 val_t tmp;
380 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
381 fra.me.file = LOCATE_icode___icode_base;
382 fra.me.line = 92;
383 fra.me.meth = LOCATE_icode___icode_base___ICode___arity;
384 fra.me.has_broke = 0;
385 fra.me.REG_size = 0;
386 fra.me.nitni_local_ref_head = NULL;
387 /* icode/icode_base.nit:92 */
388 nit_abort("Deferred method called", NULL, LOCATE_icode___icode_base, 92);
389 stack_frame_head = fra.me.prev;
390 return NIT_NULL;
391 }
392 val_t icode___icode_base___ICode___result(val_t p0){
393 struct {struct stack_frame_t me;} fra;
394 val_t tmp;
395 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
396 fra.me.file = LOCATE_icode___icode_base;
397 fra.me.line = 95;
398 fra.me.meth = LOCATE_icode___icode_base___ICode___result;
399 fra.me.has_broke = 0;
400 fra.me.REG_size = 1;
401 fra.me.nitni_local_ref_head = NULL;
402 fra.me.REG[0] = NIT_NULL;
403 fra.me.REG[0] = p0;
404 /* icode/icode_base.nit:95 */
405 fra.me.REG[0] = ATTR_icode___icode_base___ICode____result(fra.me.REG[0]);
406 stack_frame_head = fra.me.prev;
407 return fra.me.REG[0];
408 }
409 void icode___icode_base___ICode___result__eq(val_t p0, val_t p1){
410 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
411 val_t tmp;
412 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
413 fra.me.file = LOCATE_icode___icode_base;
414 fra.me.line = 95;
415 fra.me.meth = LOCATE_icode___icode_base___ICode___result__eq;
416 fra.me.has_broke = 0;
417 fra.me.REG_size = 2;
418 fra.me.nitni_local_ref_head = NULL;
419 fra.me.REG[0] = NIT_NULL;
420 fra.me.REG[1] = NIT_NULL;
421 fra.me.REG[0] = p0;
422 fra.me.REG[1] = p1;
423 /* icode/icode_base.nit:95 */
424 ATTR_icode___icode_base___ICode____result(fra.me.REG[0]) = fra.me.REG[1];
425 stack_frame_head = fra.me.prev;
426 return;
427 }
428 val_t icode___icode_base___ICode___location(val_t p0){
429 struct {struct stack_frame_t me;} fra;
430 val_t tmp;
431 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
432 fra.me.file = LOCATE_icode___icode_base;
433 fra.me.line = 98;
434 fra.me.meth = LOCATE_icode___icode_base___ICode___location;
435 fra.me.has_broke = 0;
436 fra.me.REG_size = 1;
437 fra.me.nitni_local_ref_head = NULL;
438 fra.me.REG[0] = NIT_NULL;
439 fra.me.REG[0] = p0;
440 /* icode/icode_base.nit:98 */
441 fra.me.REG[0] = ATTR_icode___icode_base___ICode____location(fra.me.REG[0]);
442 stack_frame_head = fra.me.prev;
443 return fra.me.REG[0];
444 }
445 void icode___icode_base___ICode___location__eq(val_t p0, val_t p1){
446 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
447 val_t tmp;
448 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
449 fra.me.file = LOCATE_icode___icode_base;
450 fra.me.line = 98;
451 fra.me.meth = LOCATE_icode___icode_base___ICode___location__eq;
452 fra.me.has_broke = 0;
453 fra.me.REG_size = 2;
454 fra.me.nitni_local_ref_head = NULL;
455 fra.me.REG[0] = NIT_NULL;
456 fra.me.REG[1] = NIT_NULL;
457 fra.me.REG[0] = p0;
458 fra.me.REG[1] = p1;
459 /* icode/icode_base.nit:98 */
460 ATTR_icode___icode_base___ICode____location(fra.me.REG[0]) = fra.me.REG[1];
461 stack_frame_head = fra.me.prev;
462 return;
463 }
464 val_t icode___icode_base___ICode___is_pure(val_t p0){
465 struct {struct stack_frame_t me;} fra;
466 val_t REGB0;
467 val_t tmp;
468 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
469 fra.me.file = LOCATE_icode___icode_base;
470 fra.me.line = 101;
471 fra.me.meth = LOCATE_icode___icode_base___ICode___is_pure;
472 fra.me.has_broke = 0;
473 fra.me.REG_size = 1;
474 fra.me.nitni_local_ref_head = NULL;
475 fra.me.REG[0] = NIT_NULL;
476 fra.me.REG[0] = p0;
477 /* icode/icode_base.nit:102 */
478 REGB0 = TAG_Bool(false);
479 goto label1;
480 label1: while(0);
481 stack_frame_head = fra.me.prev;
482 return REGB0;
483 }
484 void icode___icode_base___ICode___init(val_t p0, int* init_table){
485 int itpos5 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ICode].i;
486 struct {struct stack_frame_t me;} fra;
487 val_t tmp;
488 if (init_table[itpos5]) return;
489 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
490 fra.me.file = LOCATE_icode___icode_base;
491 fra.me.line = 0;
492 fra.me.meth = LOCATE_icode___icode_base___ICode___init;
493 fra.me.has_broke = 0;
494 fra.me.REG_size = 0;
495 fra.me.nitni_local_ref_head = NULL;
496 stack_frame_head = fra.me.prev;
497 init_table[itpos5] = 1;
498 return;
499 }
500 val_t icode___icode_base___ICode0___arity(val_t p0){
501 struct {struct stack_frame_t me;} fra;
502 val_t REGB0;
503 val_t tmp;
504 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
505 fra.me.file = LOCATE_icode___icode_base;
506 fra.me.line = 108;
507 fra.me.meth = LOCATE_icode___icode_base___ICode0___arity;
508 fra.me.has_broke = 0;
509 fra.me.REG_size = 1;
510 fra.me.nitni_local_ref_head = NULL;
511 fra.me.REG[0] = NIT_NULL;
512 fra.me.REG[0] = p0;
513 /* icode/icode_base.nit:108 */
514 REGB0 = TAG_Int(0);
515 goto label1;
516 label1: while(0);
517 stack_frame_head = fra.me.prev;
518 return REGB0;
519 }
520 val_t icode___icode_base___ICode1___arity(val_t p0){
521 struct {struct stack_frame_t me;} fra;
522 val_t REGB0;
523 val_t tmp;
524 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
525 fra.me.file = LOCATE_icode___icode_base;
526 fra.me.line = 114;
527 fra.me.meth = LOCATE_icode___icode_base___ICode1___arity;
528 fra.me.has_broke = 0;
529 fra.me.REG_size = 1;
530 fra.me.nitni_local_ref_head = NULL;
531 fra.me.REG[0] = NIT_NULL;
532 fra.me.REG[0] = p0;
533 /* icode/icode_base.nit:114 */
534 REGB0 = TAG_Int(1);
535 goto label1;
536 label1: while(0);
537 stack_frame_head = fra.me.prev;
538 return REGB0;
539 }
540 val_t icode___icode_base___ICode1___expr(val_t p0){
541 struct {struct stack_frame_t me;} fra;
542 val_t REGB0;
543 val_t tmp;
544 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
545 fra.me.file = LOCATE_icode___icode_base;
546 fra.me.line = 116;
547 fra.me.meth = LOCATE_icode___icode_base___ICode1___expr;
548 fra.me.has_broke = 0;
549 fra.me.REG_size = 1;
550 fra.me.nitni_local_ref_head = NULL;
551 fra.me.REG[0] = NIT_NULL;
552 fra.me.REG[0] = p0;
553 /* icode/icode_base.nit:116 */
554 REGB0 = TAG_Bool(ATTR_icode___icode_base___ICode1____expr(fra.me.REG[0])!=NIT_NULL);
555 if (UNTAG_Bool(REGB0)) {
556 } else {
557 nit_abort("Uninitialized attribute %s", "_expr", LOCATE_icode___icode_base, 116);
558 }
559 fra.me.REG[0] = ATTR_icode___icode_base___ICode1____expr(fra.me.REG[0]);
560 stack_frame_head = fra.me.prev;
561 return fra.me.REG[0];
562 }
563 void icode___icode_base___ICode1___init(val_t p0, val_t p1, int* init_table){
564 int itpos6 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ICode1].i;
565 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
566 val_t tmp;
567 if (init_table[itpos6]) return;
568 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
569 fra.me.file = LOCATE_icode___icode_base;
570 fra.me.line = 119;
571 fra.me.meth = LOCATE_icode___icode_base___ICode1___init;
572 fra.me.has_broke = 0;
573 fra.me.REG_size = 3;
574 fra.me.nitni_local_ref_head = NULL;
575 fra.me.REG[0] = NIT_NULL;
576 fra.me.REG[1] = NIT_NULL;
577 fra.me.REG[2] = NIT_NULL;
578 fra.me.REG[0] = p0;
579 fra.me.REG[1] = p1;
580 /* icode/icode_base.nit:119 */
581 fra.me.REG[2] = fra.me.REG[0];
582 CALL_icode___icode_base___ICode___init(fra.me.REG[0])(fra.me.REG[0], init_table);
583 ATTR_icode___icode_base___ICode1____expr(fra.me.REG[2]) = fra.me.REG[1];
584 stack_frame_head = fra.me.prev;
585 init_table[itpos6] = 1;
586 return;
587 }
588 val_t icode___icode_base___ICode2___arity(val_t p0){
589 struct {struct stack_frame_t me;} fra;
590 val_t REGB0;
591 val_t tmp;
592 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
593 fra.me.file = LOCATE_icode___icode_base;
594 fra.me.line = 125;
595 fra.me.meth = LOCATE_icode___icode_base___ICode2___arity;
596 fra.me.has_broke = 0;
597 fra.me.REG_size = 1;
598 fra.me.nitni_local_ref_head = NULL;
599 fra.me.REG[0] = NIT_NULL;
600 fra.me.REG[0] = p0;
601 /* icode/icode_base.nit:125 */
602 REGB0 = TAG_Int(2);
603 goto label1;
604 label1: while(0);
605 stack_frame_head = fra.me.prev;
606 return REGB0;
607 }
608 val_t icode___icode_base___ICode2___expr1(val_t p0){
609 struct {struct stack_frame_t me;} fra;
610 val_t REGB0;
611 val_t tmp;
612 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
613 fra.me.file = LOCATE_icode___icode_base;
614 fra.me.line = 127;
615 fra.me.meth = LOCATE_icode___icode_base___ICode2___expr1;
616 fra.me.has_broke = 0;
617 fra.me.REG_size = 1;
618 fra.me.nitni_local_ref_head = NULL;
619 fra.me.REG[0] = NIT_NULL;
620 fra.me.REG[0] = p0;
621 /* icode/icode_base.nit:127 */
622 REGB0 = TAG_Bool(ATTR_icode___icode_base___ICode2____expr1(fra.me.REG[0])!=NIT_NULL);
623 if (UNTAG_Bool(REGB0)) {
624 } else {
625 nit_abort("Uninitialized attribute %s", "_expr1", LOCATE_icode___icode_base, 127);
626 }
627 fra.me.REG[0] = ATTR_icode___icode_base___ICode2____expr1(fra.me.REG[0]);
628 stack_frame_head = fra.me.prev;
629 return fra.me.REG[0];
630 }
631 val_t icode___icode_base___ICode2___expr2(val_t p0){
632 struct {struct stack_frame_t me;} fra;
633 val_t REGB0;
634 val_t tmp;
635 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
636 fra.me.file = LOCATE_icode___icode_base;
637 fra.me.line = 130;
638 fra.me.meth = LOCATE_icode___icode_base___ICode2___expr2;
639 fra.me.has_broke = 0;
640 fra.me.REG_size = 1;
641 fra.me.nitni_local_ref_head = NULL;
642 fra.me.REG[0] = NIT_NULL;
643 fra.me.REG[0] = p0;
644 /* icode/icode_base.nit:130 */
645 REGB0 = TAG_Bool(ATTR_icode___icode_base___ICode2____expr2(fra.me.REG[0])!=NIT_NULL);
646 if (UNTAG_Bool(REGB0)) {
647 } else {
648 nit_abort("Uninitialized attribute %s", "_expr2", LOCATE_icode___icode_base, 130);
649 }
650 fra.me.REG[0] = ATTR_icode___icode_base___ICode2____expr2(fra.me.REG[0]);
651 stack_frame_head = fra.me.prev;
652 return fra.me.REG[0];
653 }
654 void icode___icode_base___ICode2___init(val_t p0, val_t p1, val_t p2, int* init_table){
655 int itpos7 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ICode2].i;
656 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
657 val_t tmp;
658 if (init_table[itpos7]) return;
659 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
660 fra.me.file = LOCATE_icode___icode_base;
661 fra.me.line = 133;
662 fra.me.meth = LOCATE_icode___icode_base___ICode2___init;
663 fra.me.has_broke = 0;
664 fra.me.REG_size = 4;
665 fra.me.nitni_local_ref_head = NULL;
666 fra.me.REG[0] = NIT_NULL;
667 fra.me.REG[1] = NIT_NULL;
668 fra.me.REG[2] = NIT_NULL;
669 fra.me.REG[3] = NIT_NULL;
670 fra.me.REG[0] = p0;
671 fra.me.REG[1] = p1;
672 fra.me.REG[2] = p2;
673 /* icode/icode_base.nit:133 */
674 fra.me.REG[3] = fra.me.REG[0];
675 CALL_icode___icode_base___ICode___init(fra.me.REG[0])(fra.me.REG[0], init_table);
676 /* icode/icode_base.nit:135 */
677 ATTR_icode___icode_base___ICode2____expr1(fra.me.REG[3]) = fra.me.REG[1];
678 /* icode/icode_base.nit:136 */
679 ATTR_icode___icode_base___ICode2____expr2(fra.me.REG[3]) = fra.me.REG[2];
680 stack_frame_head = fra.me.prev;
681 init_table[itpos7] = 1;
682 return;
683 }
684 val_t icode___icode_base___ICodeN___arity(val_t p0){
685 struct {struct stack_frame_t me;} fra;
686 val_t REGB0;
687 val_t tmp;
688 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
689 fra.me.file = LOCATE_icode___icode_base;
690 fra.me.line = 143;
691 fra.me.meth = LOCATE_icode___icode_base___ICodeN___arity;
692 fra.me.has_broke = 0;
693 fra.me.REG_size = 1;
694 fra.me.nitni_local_ref_head = NULL;
695 fra.me.REG[0] = NIT_NULL;
696 fra.me.REG[0] = p0;
697 /* icode/icode_base.nit:143 */
698 REGB0 = TAG_Bool(ATTR_icode___icode_base___ICodeN____exprs(fra.me.REG[0])!=NIT_NULL);
699 if (UNTAG_Bool(REGB0)) {
700 } else {
701 nit_abort("Uninitialized attribute %s", "_exprs", LOCATE_icode___icode_base, 143);
702 }
703 fra.me.REG[0] = ATTR_icode___icode_base___ICodeN____exprs(fra.me.REG[0]);
704 REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
705 goto label1;
706 label1: while(0);
707 stack_frame_head = fra.me.prev;
708 return REGB0;
709 }
710 val_t icode___icode_base___ICodeN___exprs(val_t p0){
711 struct {struct stack_frame_t me;} fra;
712 val_t REGB0;
713 val_t tmp;
714 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
715 fra.me.file = LOCATE_icode___icode_base;
716 fra.me.line = 145;
717 fra.me.meth = LOCATE_icode___icode_base___ICodeN___exprs;
718 fra.me.has_broke = 0;
719 fra.me.REG_size = 1;
720 fra.me.nitni_local_ref_head = NULL;
721 fra.me.REG[0] = NIT_NULL;
722 fra.me.REG[0] = p0;
723 /* icode/icode_base.nit:145 */
724 REGB0 = TAG_Bool(ATTR_icode___icode_base___ICodeN____exprs(fra.me.REG[0])!=NIT_NULL);
725 if (UNTAG_Bool(REGB0)) {
726 } else {
727 nit_abort("Uninitialized attribute %s", "_exprs", LOCATE_icode___icode_base, 145);
728 }
729 fra.me.REG[0] = ATTR_icode___icode_base___ICodeN____exprs(fra.me.REG[0]);
730 stack_frame_head = fra.me.prev;
731 return fra.me.REG[0];
732 }
733 val_t icode___icode_base___ICodeN___closure_defs(val_t p0){
734 struct {struct stack_frame_t me;} fra;
735 val_t tmp;
736 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
737 fra.me.file = LOCATE_icode___icode_base;
738 fra.me.line = 148;
739 fra.me.meth = LOCATE_icode___icode_base___ICodeN___closure_defs;
740 fra.me.has_broke = 0;
741 fra.me.REG_size = 1;
742 fra.me.nitni_local_ref_head = NULL;
743 fra.me.REG[0] = NIT_NULL;
744 fra.me.REG[0] = p0;
745 /* icode/icode_base.nit:148 */
746 fra.me.REG[0] = ATTR_icode___icode_base___ICodeN____closure_defs(fra.me.REG[0]);
747 stack_frame_head = fra.me.prev;
748 return fra.me.REG[0];
749 }
750 void icode___icode_base___ICodeN___closure_defs__eq(val_t p0, val_t p1){
751 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
752 val_t tmp;
753 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
754 fra.me.file = LOCATE_icode___icode_base;
755 fra.me.line = 148;
756 fra.me.meth = LOCATE_icode___icode_base___ICodeN___closure_defs__eq;
757 fra.me.has_broke = 0;
758 fra.me.REG_size = 2;
759 fra.me.nitni_local_ref_head = NULL;
760 fra.me.REG[0] = NIT_NULL;
761 fra.me.REG[1] = NIT_NULL;
762 fra.me.REG[0] = p0;
763 fra.me.REG[1] = p1;
764 /* icode/icode_base.nit:148 */
765 ATTR_icode___icode_base___ICodeN____closure_defs(fra.me.REG[0]) = fra.me.REG[1];
766 stack_frame_head = fra.me.prev;
767 return;
768 }
769 void icode___icode_base___ICodeN___init(val_t p0, val_t p1, int* init_table){
770 int itpos8 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ICodeN].i;
771 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
772 val_t REGB0;
773 val_t REGB1;
774 val_t tmp;
775 if (init_table[itpos8]) return;
776 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
777 fra.me.file = LOCATE_icode___icode_base;
778 fra.me.line = 151;
779 fra.me.meth = LOCATE_icode___icode_base___ICodeN___init;
780 fra.me.has_broke = 0;
781 fra.me.REG_size = 3;
782 fra.me.nitni_local_ref_head = NULL;
783 fra.me.REG[0] = NIT_NULL;
784 fra.me.REG[1] = NIT_NULL;
785 fra.me.REG[2] = NIT_NULL;
786 fra.me.REG[0] = p0;
787 fra.me.REG[1] = p1;
788 /* icode/icode_base.nit:151 */
789 fra.me.REG[2] = fra.me.REG[0];
790 CALL_icode___icode_base___ICode___init(fra.me.REG[0])(fra.me.REG[0], init_table);
791 /* icode/icode_base.nit:153 */
792 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
793 if (UNTAG_Bool(REGB0)) {
794 } else {
795 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
796 if (UNTAG_Bool(REGB1)) {
797 REGB1 = TAG_Bool(false);
798 REGB0 = REGB1;
799 } else {
800 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
801 REGB0 = REGB1;
802 }
803 }
804 if (UNTAG_Bool(REGB0)) {
805 /* icode/icode_base.nit:154 */
806 fra.me.REG[0] = NEW_Array_standard___collection___array___Array___init();
807 ATTR_icode___icode_base___ICodeN____exprs(fra.me.REG[2]) = fra.me.REG[0];
808 } else {
809 /* icode/icode_base.nit:156 */
810 ATTR_icode___icode_base___ICodeN____exprs(fra.me.REG[2]) = fra.me.REG[1];
811 }
812 stack_frame_head = fra.me.prev;
813 init_table[itpos8] = 1;
814 return;
815 }
816 val_t icode___icode_base___ISeq___icodes(val_t p0){
817 struct {struct stack_frame_t me;} fra;
818 val_t REGB0;
819 val_t tmp;
820 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
821 fra.me.file = LOCATE_icode___icode_base;
822 fra.me.line = 166;
823 fra.me.meth = LOCATE_icode___icode_base___ISeq___icodes;
824 fra.me.has_broke = 0;
825 fra.me.REG_size = 1;
826 fra.me.nitni_local_ref_head = NULL;
827 fra.me.REG[0] = NIT_NULL;
828 fra.me.REG[0] = p0;
829 /* icode/icode_base.nit:166 */
830 REGB0 = TAG_Bool(ATTR_icode___icode_base___ISeq____icodes(fra.me.REG[0])!=NIT_NULL);
831 if (UNTAG_Bool(REGB0)) {
832 } else {
833 nit_abort("Uninitialized attribute %s", "_icodes", LOCATE_icode___icode_base, 166);
834 }
835 fra.me.REG[0] = ATTR_icode___icode_base___ISeq____icodes(fra.me.REG[0]);
836 stack_frame_head = fra.me.prev;
837 return fra.me.REG[0];
838 }
839 val_t icode___icode_base___ISeq___iescape_mark(val_t p0){
840 struct {struct stack_frame_t me;} fra;
841 val_t tmp;
842 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
843 fra.me.file = LOCATE_icode___icode_base;
844 fra.me.line = 169;
845 fra.me.meth = LOCATE_icode___icode_base___ISeq___iescape_mark;
846 fra.me.has_broke = 0;
847 fra.me.REG_size = 1;
848 fra.me.nitni_local_ref_head = NULL;
849 fra.me.REG[0] = NIT_NULL;
850 fra.me.REG[0] = p0;
851 /* icode/icode_base.nit:169 */
852 fra.me.REG[0] = ATTR_icode___icode_base___ISeq____iescape_mark(fra.me.REG[0]);
853 stack_frame_head = fra.me.prev;
854 return fra.me.REG[0];
855 }
856 void icode___icode_base___ISeq___iescape_mark__eq(val_t p0, val_t p1){
857 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
858 val_t tmp;
859 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
860 fra.me.file = LOCATE_icode___icode_base;
861 fra.me.line = 169;
862 fra.me.meth = LOCATE_icode___icode_base___ISeq___iescape_mark__eq;
863 fra.me.has_broke = 0;
864 fra.me.REG_size = 2;
865 fra.me.nitni_local_ref_head = NULL;
866 fra.me.REG[0] = NIT_NULL;
867 fra.me.REG[1] = NIT_NULL;
868 fra.me.REG[0] = p0;
869 fra.me.REG[1] = p1;
870 /* icode/icode_base.nit:169 */
871 ATTR_icode___icode_base___ISeq____iescape_mark(fra.me.REG[0]) = fra.me.REG[1];
872 stack_frame_head = fra.me.prev;
873 return;
874 }
875 void icode___icode_base___ISeq___init(val_t p0, int* init_table){
876 int itpos9 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ISeq].i;
877 struct {struct stack_frame_t me;} fra;
878 val_t tmp;
879 if (init_table[itpos9]) return;
880 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
881 fra.me.file = LOCATE_icode___icode_base;
882 fra.me.line = 172;
883 fra.me.meth = LOCATE_icode___icode_base___ISeq___init;
884 fra.me.has_broke = 0;
885 fra.me.REG_size = 1;
886 fra.me.nitni_local_ref_head = NULL;
887 fra.me.REG[0] = NIT_NULL;
888 fra.me.REG[0] = p0;
889 stack_frame_head = fra.me.prev;
890 init_table[itpos9] = 1;
891 return;
892 }
893 void icode___icode_base___ILoop___init(val_t p0, int* init_table){
894 int itpos10 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ILoop].i;
895 struct {struct stack_frame_t me;} fra;
896 val_t tmp;
897 if (init_table[itpos10]) return;
898 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
899 fra.me.file = LOCATE_icode___icode_base;
900 fra.me.line = 179;
901 fra.me.meth = LOCATE_icode___icode_base___ILoop___init;
902 fra.me.has_broke = 0;
903 fra.me.REG_size = 1;
904 fra.me.nitni_local_ref_head = NULL;
905 fra.me.REG[0] = NIT_NULL;
906 fra.me.REG[0] = p0;
907 /* icode/icode_base.nit:179 */
908 CALL_icode___icode_base___ISeq___init(fra.me.REG[0])(fra.me.REG[0], init_table);
909 stack_frame_head = fra.me.prev;
910 init_table[itpos10] = 1;
911 return;
912 }
913 val_t icode___icode_base___IIf___then_seq(val_t p0){
914 struct {struct stack_frame_t me;} fra;
915 val_t REGB0;
916 val_t tmp;
917 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
918 fra.me.file = LOCATE_icode___icode_base;
919 fra.me.line = 186;
920 fra.me.meth = LOCATE_icode___icode_base___IIf___then_seq;
921 fra.me.has_broke = 0;
922 fra.me.REG_size = 1;
923 fra.me.nitni_local_ref_head = NULL;
924 fra.me.REG[0] = NIT_NULL;
925 fra.me.REG[0] = p0;
926 /* icode/icode_base.nit:186 */
927 REGB0 = TAG_Bool(ATTR_icode___icode_base___IIf____then_seq(fra.me.REG[0])!=NIT_NULL);
928 if (UNTAG_Bool(REGB0)) {
929 } else {
930 nit_abort("Uninitialized attribute %s", "_then_seq", LOCATE_icode___icode_base, 186);
931 }
932 fra.me.REG[0] = ATTR_icode___icode_base___IIf____then_seq(fra.me.REG[0]);
933 stack_frame_head = fra.me.prev;
934 return fra.me.REG[0];
935 }
936 val_t icode___icode_base___IIf___else_seq(val_t p0){
937 struct {struct stack_frame_t me;} fra;
938 val_t REGB0;
939 val_t tmp;
940 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
941 fra.me.file = LOCATE_icode___icode_base;
942 fra.me.line = 188;
943 fra.me.meth = LOCATE_icode___icode_base___IIf___else_seq;
944 fra.me.has_broke = 0;
945 fra.me.REG_size = 1;
946 fra.me.nitni_local_ref_head = NULL;
947 fra.me.REG[0] = NIT_NULL;
948 fra.me.REG[0] = p0;
949 /* icode/icode_base.nit:188 */
950 REGB0 = TAG_Bool(ATTR_icode___icode_base___IIf____else_seq(fra.me.REG[0])!=NIT_NULL);
951 if (UNTAG_Bool(REGB0)) {
952 } else {
953 nit_abort("Uninitialized attribute %s", "_else_seq", LOCATE_icode___icode_base, 188);
954 }
955 fra.me.REG[0] = ATTR_icode___icode_base___IIf____else_seq(fra.me.REG[0]);
956 stack_frame_head = fra.me.prev;
957 return fra.me.REG[0];
958 }
959 void icode___icode_base___IIf___init(val_t p0, val_t p1, int* init_table){
960 int itpos11 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IIf].i;
961 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
962 val_t tmp;
963 if (init_table[itpos11]) return;
964 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
965 fra.me.file = LOCATE_icode___icode_base;
966 fra.me.line = 190;
967 fra.me.meth = LOCATE_icode___icode_base___IIf___init;
968 fra.me.has_broke = 0;
969 fra.me.REG_size = 2;
970 fra.me.nitni_local_ref_head = NULL;
971 fra.me.REG[0] = NIT_NULL;
972 fra.me.REG[1] = NIT_NULL;
973 fra.me.REG[0] = p0;
974 fra.me.REG[1] = p1;
975 /* icode/icode_base.nit:190 */
976 CALL_icode___icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], init_table);
977 stack_frame_head = fra.me.prev;
978 init_table[itpos11] = 1;
979 return;
980 }
981 val_t icode___icode_base___IEscape___iescape_mark(val_t p0){
982 struct {struct stack_frame_t me;} fra;
983 val_t REGB0;
984 val_t tmp;
985 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
986 fra.me.file = LOCATE_icode___icode_base;
987 fra.me.line = 196;
988 fra.me.meth = LOCATE_icode___icode_base___IEscape___iescape_mark;
989 fra.me.has_broke = 0;
990 fra.me.REG_size = 1;
991 fra.me.nitni_local_ref_head = NULL;
992 fra.me.REG[0] = NIT_NULL;
993 fra.me.REG[0] = p0;
994 /* icode/icode_base.nit:196 */
995 REGB0 = TAG_Bool(ATTR_icode___icode_base___IEscape____iescape_mark(fra.me.REG[0])!=NIT_NULL);
996 if (UNTAG_Bool(REGB0)) {
997 } else {
998 nit_abort("Uninitialized attribute %s", "_iescape_mark", LOCATE_icode___icode_base, 196);
999 }
1000 fra.me.REG[0] = ATTR_icode___icode_base___IEscape____iescape_mark(fra.me.REG[0]);
1001 stack_frame_head = fra.me.prev;
1002 return fra.me.REG[0];
1003 }
1004 void icode___icode_base___IEscape___init(val_t p0, val_t p1, int* init_table){
1005 int itpos12 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IEscape].i;
1006 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1007 val_t tmp;
1008 if (init_table[itpos12]) return;
1009 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1010 fra.me.file = LOCATE_icode___icode_base;
1011 fra.me.line = 199;
1012 fra.me.meth = LOCATE_icode___icode_base___IEscape___init;
1013 fra.me.has_broke = 0;
1014 fra.me.REG_size = 2;
1015 fra.me.nitni_local_ref_head = NULL;
1016 fra.me.REG[0] = NIT_NULL;
1017 fra.me.REG[1] = NIT_NULL;
1018 fra.me.REG[0] = p0;
1019 fra.me.REG[1] = p1;
1020 /* icode/icode_base.nit:199 */
1021 ATTR_icode___icode_base___IEscape____iescape_mark(fra.me.REG[0]) = fra.me.REG[1];
1022 stack_frame_head = fra.me.prev;
1023 init_table[itpos12] = 1;
1024 return;
1025 }
1026 val_t icode___icode_base___IAbort___texts(val_t p0){
1027 struct {struct stack_frame_t me;} fra;
1028 val_t REGB0;
1029 val_t tmp;
1030 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1031 fra.me.file = LOCATE_icode___icode_base;
1032 fra.me.line = 205;
1033 fra.me.meth = LOCATE_icode___icode_base___IAbort___texts;
1034 fra.me.has_broke = 0;
1035 fra.me.REG_size = 1;
1036 fra.me.nitni_local_ref_head = NULL;
1037 fra.me.REG[0] = NIT_NULL;
1038 fra.me.REG[0] = p0;
1039 /* icode/icode_base.nit:205 */
1040 REGB0 = TAG_Bool(ATTR_icode___icode_base___IAbort____texts(fra.me.REG[0])!=NIT_NULL);
1041 if (UNTAG_Bool(REGB0)) {
1042 } else {
1043 nit_abort("Uninitialized attribute %s", "_texts", LOCATE_icode___icode_base, 205);
1044 }
1045 fra.me.REG[0] = ATTR_icode___icode_base___IAbort____texts(fra.me.REG[0]);
1046 stack_frame_head = fra.me.prev;
1047 return fra.me.REG[0];
1048 }
1049 val_t icode___icode_base___IAbort___module_location(val_t p0){
1050 struct {struct stack_frame_t me;} fra;
1051 val_t REGB0;
1052 val_t tmp;
1053 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1054 fra.me.file = LOCATE_icode___icode_base;
1055 fra.me.line = 208;
1056 fra.me.meth = LOCATE_icode___icode_base___IAbort___module_location;
1057 fra.me.has_broke = 0;
1058 fra.me.REG_size = 1;
1059 fra.me.nitni_local_ref_head = NULL;
1060 fra.me.REG[0] = NIT_NULL;
1061 fra.me.REG[0] = p0;
1062 /* icode/icode_base.nit:208 */
1063 REGB0 = TAG_Bool(ATTR_icode___icode_base___IAbort____module_location(fra.me.REG[0])!=NIT_NULL);
1064 if (UNTAG_Bool(REGB0)) {
1065 } else {
1066 nit_abort("Uninitialized attribute %s", "_module_location", LOCATE_icode___icode_base, 208);
1067 }
1068 fra.me.REG[0] = ATTR_icode___icode_base___IAbort____module_location(fra.me.REG[0]);
1069 stack_frame_head = fra.me.prev;
1070 return fra.me.REG[0];
1071 }
1072 void icode___icode_base___IAbort___init(val_t p0, val_t p1, val_t p2, int* init_table){
1073 int itpos13 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IAbort].i;
1074 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1075 val_t tmp;
1076 if (init_table[itpos13]) return;
1077 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1078 fra.me.file = LOCATE_icode___icode_base;
1079 fra.me.line = 210;
1080 fra.me.meth = LOCATE_icode___icode_base___IAbort___init;
1081 fra.me.has_broke = 0;
1082 fra.me.REG_size = 3;
1083 fra.me.nitni_local_ref_head = NULL;
1084 fra.me.REG[0] = NIT_NULL;
1085 fra.me.REG[1] = NIT_NULL;
1086 fra.me.REG[2] = NIT_NULL;
1087 fra.me.REG[0] = p0;
1088 fra.me.REG[1] = p1;
1089 fra.me.REG[2] = p2;
1090 /* icode/icode_base.nit:212 */
1091 ATTR_icode___icode_base___IAbort____texts(fra.me.REG[0]) = fra.me.REG[1];
1092 /* icode/icode_base.nit:213 */
1093 ATTR_icode___icode_base___IAbort____module_location(fra.me.REG[0]) = fra.me.REG[2];
1094 stack_frame_head = fra.me.prev;
1095 init_table[itpos13] = 1;
1096 return;
1097 }
1098 val_t icode___icode_base___IAbsCall___property(val_t p0){
1099 struct {struct stack_frame_t me;} fra;
1100 val_t REGB0;
1101 val_t tmp;
1102 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1103 fra.me.file = LOCATE_icode___icode_base;
1104 fra.me.line = 222;
1105 fra.me.meth = LOCATE_icode___icode_base___IAbsCall___property;
1106 fra.me.has_broke = 0;
1107 fra.me.REG_size = 1;
1108 fra.me.nitni_local_ref_head = NULL;
1109 fra.me.REG[0] = NIT_NULL;
1110 fra.me.REG[0] = p0;
1111 /* icode/icode_base.nit:222 */
1112 REGB0 = TAG_Bool(ATTR_icode___icode_base___IAbsCall____property(fra.me.REG[0])!=NIT_NULL);
1113 if (UNTAG_Bool(REGB0)) {
1114 } else {
1115 nit_abort("Uninitialized attribute %s", "_property", LOCATE_icode___icode_base, 222);
1116 }
1117 fra.me.REG[0] = ATTR_icode___icode_base___IAbsCall____property(fra.me.REG[0]);
1118 stack_frame_head = fra.me.prev;
1119 return fra.me.REG[0];
1120 }
1121 val_t icode___icode_base___IAbsCall___is_explicit_from_extern(val_t p0){
1122 struct {struct stack_frame_t me;} fra;
1123 val_t REGB0;
1124 val_t tmp;
1125 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1126 fra.me.file = LOCATE_icode___icode_base;
1127 fra.me.line = 225;
1128 fra.me.meth = LOCATE_icode___icode_base___IAbsCall___is_explicit_from_extern;
1129 fra.me.has_broke = 0;
1130 fra.me.REG_size = 1;
1131 fra.me.nitni_local_ref_head = NULL;
1132 fra.me.REG[0] = NIT_NULL;
1133 fra.me.REG[0] = p0;
1134 /* icode/icode_base.nit:225 */
1135 REGB0 = TAG_Bool(ATTR_icode___icode_base___IAbsCall_____atis_explicit_from_extern(fra.me.REG[0])!=NIT_NULL);
1136 if (UNTAG_Bool(REGB0)) {
1137 } else {
1138 nit_abort("Uninitialized attribute %s", "@is_explicit_from_extern", LOCATE_icode___icode_base, 225);
1139 }
1140 REGB0 = ATTR_icode___icode_base___IAbsCall_____atis_explicit_from_extern(fra.me.REG[0]);
1141 stack_frame_head = fra.me.prev;
1142 return REGB0;
1143 }
1144 void icode___icode_base___IAbsCall___is_explicit_from_extern__eq(val_t p0, val_t p1){
1145 struct {struct stack_frame_t me;} fra;
1146 val_t REGB0;
1147 val_t tmp;
1148 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1149 fra.me.file = LOCATE_icode___icode_base;
1150 fra.me.line = 225;
1151 fra.me.meth = LOCATE_icode___icode_base___IAbsCall___is_explicit_from_extern__eq;
1152 fra.me.has_broke = 0;
1153 fra.me.REG_size = 1;
1154 fra.me.nitni_local_ref_head = NULL;
1155 fra.me.REG[0] = NIT_NULL;
1156 fra.me.REG[0] = p0;
1157 REGB0 = p1;
1158 /* icode/icode_base.nit:225 */
1159 ATTR_icode___icode_base___IAbsCall_____atis_explicit_from_extern(fra.me.REG[0]) = REGB0;
1160 stack_frame_head = fra.me.prev;
1161 return;
1162 }
1163 void icode___icode_base___IAbsCall___init(val_t p0, val_t p1, val_t p2, int* init_table){
1164 int itpos14 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IAbsCall].i;
1165 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1166 val_t tmp;
1167 if (init_table[itpos14]) return;
1168 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1169 fra.me.file = LOCATE_icode___icode_base;
1170 fra.me.line = 228;
1171 fra.me.meth = LOCATE_icode___icode_base___IAbsCall___init;
1172 fra.me.has_broke = 0;
1173 fra.me.REG_size = 4;
1174 fra.me.nitni_local_ref_head = NULL;
1175 fra.me.REG[0] = NIT_NULL;
1176 fra.me.REG[1] = NIT_NULL;
1177 fra.me.REG[2] = NIT_NULL;
1178 fra.me.REG[3] = NIT_NULL;
1179 fra.me.REG[0] = p0;
1180 fra.me.REG[1] = p1;
1181 fra.me.REG[2] = p2;
1182 /* icode/icode_base.nit:228 */
1183 fra.me.REG[3] = fra.me.REG[0];
1184 /* icode/icode_base.nit:230 */
1185 CALL_icode___icode_base___ICodeN___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
1186 /* icode/icode_base.nit:231 */
1187 ATTR_icode___icode_base___IAbsCall____property(fra.me.REG[3]) = fra.me.REG[1];
1188 stack_frame_head = fra.me.prev;
1189 init_table[itpos14] = 1;
1190 return;
1191 }
1192 void icode___icode_base___ICall___init(val_t p0, val_t p1, val_t p2, int* init_table){
1193 int itpos15 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ICall].i;
1194 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1195 val_t tmp;
1196 if (init_table[itpos15]) return;
1197 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1198 fra.me.file = LOCATE_icode___icode_base;
1199 fra.me.line = 239;
1200 fra.me.meth = LOCATE_icode___icode_base___ICall___init;
1201 fra.me.has_broke = 0;
1202 fra.me.REG_size = 3;
1203 fra.me.nitni_local_ref_head = NULL;
1204 fra.me.REG[0] = NIT_NULL;
1205 fra.me.REG[1] = NIT_NULL;
1206 fra.me.REG[2] = NIT_NULL;
1207 fra.me.REG[0] = p0;
1208 fra.me.REG[1] = p1;
1209 fra.me.REG[2] = p2;
1210 /* icode/icode_base.nit:239 */
1211 CALL_icode___icode_base___IAbsCall___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
1212 stack_frame_head = fra.me.prev;
1213 init_table[itpos15] = 1;
1214 return;
1215 }
1216 void icode___icode_base___ISuper___init(val_t p0, val_t p1, val_t p2, int* init_table){
1217 int itpos16 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ISuper].i;
1218 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1219 val_t tmp;
1220 if (init_table[itpos16]) return;
1221 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1222 fra.me.file = LOCATE_icode___icode_base;
1223 fra.me.line = 246;
1224 fra.me.meth = LOCATE_icode___icode_base___ISuper___init;
1225 fra.me.has_broke = 0;
1226 fra.me.REG_size = 3;
1227 fra.me.nitni_local_ref_head = NULL;
1228 fra.me.REG[0] = NIT_NULL;
1229 fra.me.REG[1] = NIT_NULL;
1230 fra.me.REG[2] = NIT_NULL;
1231 fra.me.REG[0] = p0;
1232 fra.me.REG[1] = p1;
1233 fra.me.REG[2] = p2;
1234 /* icode/icode_base.nit:246 */
1235 CALL_icode___icode_base___IAbsCall___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
1236 stack_frame_head = fra.me.prev;
1237 init_table[itpos16] = 1;
1238 return;
1239 }
1240 val_t icode___icode_base___INew___stype(val_t p0){
1241 struct {struct stack_frame_t me;} fra;
1242 val_t REGB0;
1243 val_t tmp;
1244 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1245 fra.me.file = LOCATE_icode___icode_base;
1246 fra.me.line = 258;
1247 fra.me.meth = LOCATE_icode___icode_base___INew___stype;
1248 fra.me.has_broke = 0;
1249 fra.me.REG_size = 1;
1250 fra.me.nitni_local_ref_head = NULL;
1251 fra.me.REG[0] = NIT_NULL;
1252 fra.me.REG[0] = p0;
1253 /* icode/icode_base.nit:258 */
1254 REGB0 = TAG_Bool(ATTR_icode___icode_base___INew____stype(fra.me.REG[0])!=NIT_NULL);
1255 if (UNTAG_Bool(REGB0)) {
1256 } else {
1257 nit_abort("Uninitialized attribute %s", "_stype", LOCATE_icode___icode_base, 258);
1258 }
1259 fra.me.REG[0] = ATTR_icode___icode_base___INew____stype(fra.me.REG[0]);
1260 stack_frame_head = fra.me.prev;
1261 return fra.me.REG[0];
1262 }
1263 void icode___icode_base___INew___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
1264 int itpos17 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___INew].i;
1265 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
1266 val_t tmp;
1267 if (init_table[itpos17]) return;
1268 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1269 fra.me.file = LOCATE_icode___icode_base;
1270 fra.me.line = 260;
1271 fra.me.meth = LOCATE_icode___icode_base___INew___init;
1272 fra.me.has_broke = 0;
1273 fra.me.REG_size = 5;
1274 fra.me.nitni_local_ref_head = NULL;
1275 fra.me.REG[0] = NIT_NULL;
1276 fra.me.REG[1] = NIT_NULL;
1277 fra.me.REG[2] = NIT_NULL;
1278 fra.me.REG[3] = NIT_NULL;
1279 fra.me.REG[4] = NIT_NULL;
1280 fra.me.REG[0] = p0;
1281 fra.me.REG[1] = p1;
1282 fra.me.REG[2] = p2;
1283 fra.me.REG[3] = p3;
1284 /* icode/icode_base.nit:260 */
1285 fra.me.REG[4] = fra.me.REG[0];
1286 /* icode/icode_base.nit:262 */
1287 CALL_icode___icode_base___IAbsCall___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[3], init_table);
1288 /* icode/icode_base.nit:263 */
1289 ATTR_icode___icode_base___INew____stype(fra.me.REG[4]) = fra.me.REG[1];
1290 stack_frame_head = fra.me.prev;
1291 init_table[itpos17] = 1;
1292 return;
1293 }
1294 val_t icode___icode_base___IAllocateInstance___stype(val_t p0){
1295 struct {struct stack_frame_t me;} fra;
1296 val_t REGB0;
1297 val_t tmp;
1298 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1299 fra.me.file = LOCATE_icode___icode_base;
1300 fra.me.line = 272;
1301 fra.me.meth = LOCATE_icode___icode_base___IAllocateInstance___stype;
1302 fra.me.has_broke = 0;
1303 fra.me.REG_size = 1;
1304 fra.me.nitni_local_ref_head = NULL;
1305 fra.me.REG[0] = NIT_NULL;
1306 fra.me.REG[0] = p0;
1307 /* icode/icode_base.nit:272 */
1308 REGB0 = TAG_Bool(ATTR_icode___icode_base___IAllocateInstance____stype(fra.me.REG[0])!=NIT_NULL);
1309 if (UNTAG_Bool(REGB0)) {
1310 } else {
1311 nit_abort("Uninitialized attribute %s", "_stype", LOCATE_icode___icode_base, 272);
1312 }
1313 fra.me.REG[0] = ATTR_icode___icode_base___IAllocateInstance____stype(fra.me.REG[0]);
1314 stack_frame_head = fra.me.prev;
1315 return fra.me.REG[0];
1316 }
1317 void icode___icode_base___IAllocateInstance___init(val_t p0, val_t p1, int* init_table){
1318 int itpos18 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IAllocateInstance].i;
1319 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1320 val_t tmp;
1321 if (init_table[itpos18]) return;
1322 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1323 fra.me.file = LOCATE_icode___icode_base;
1324 fra.me.line = 274;
1325 fra.me.meth = LOCATE_icode___icode_base___IAllocateInstance___init;
1326 fra.me.has_broke = 0;
1327 fra.me.REG_size = 2;
1328 fra.me.nitni_local_ref_head = NULL;
1329 fra.me.REG[0] = NIT_NULL;
1330 fra.me.REG[1] = NIT_NULL;
1331 fra.me.REG[0] = p0;
1332 fra.me.REG[1] = p1;
1333 /* icode/icode_base.nit:276 */
1334 ATTR_icode___icode_base___IAllocateInstance____stype(fra.me.REG[0]) = fra.me.REG[1];
1335 stack_frame_head = fra.me.prev;
1336 init_table[itpos18] = 1;
1337 return;
1338 }
1339 void icode___icode_base___IStaticCall___init(val_t p0, val_t p1, val_t p2, int* init_table){
1340 int itpos19 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IStaticCall].i;
1341 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1342 val_t tmp;
1343 if (init_table[itpos19]) return;
1344 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1345 fra.me.file = LOCATE_icode___icode_base;
1346 fra.me.line = 283;
1347 fra.me.meth = LOCATE_icode___icode_base___IStaticCall___init;
1348 fra.me.has_broke = 0;
1349 fra.me.REG_size = 3;
1350 fra.me.nitni_local_ref_head = NULL;
1351 fra.me.REG[0] = NIT_NULL;
1352 fra.me.REG[1] = NIT_NULL;
1353 fra.me.REG[2] = NIT_NULL;
1354 fra.me.REG[0] = p0;
1355 fra.me.REG[1] = p1;
1356 fra.me.REG[2] = p2;
1357 /* icode/icode_base.nit:283 */
1358 CALL_icode___icode_base___IAbsCall___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
1359 stack_frame_head = fra.me.prev;
1360 init_table[itpos19] = 1;
1361 return;
1362 }
1363 val_t icode___icode_base___ICheckInstance___stype(val_t p0){
1364 struct {struct stack_frame_t me;} fra;
1365 val_t REGB0;
1366 val_t tmp;
1367 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1368 fra.me.file = LOCATE_icode___icode_base;
1369 fra.me.line = 289;
1370 fra.me.meth = LOCATE_icode___icode_base___ICheckInstance___stype;
1371 fra.me.has_broke = 0;
1372 fra.me.REG_size = 1;
1373 fra.me.nitni_local_ref_head = NULL;
1374 fra.me.REG[0] = NIT_NULL;
1375 fra.me.REG[0] = p0;
1376 /* icode/icode_base.nit:289 */
1377 REGB0 = TAG_Bool(ATTR_icode___icode_base___ICheckInstance____stype(fra.me.REG[0])!=NIT_NULL);
1378 if (UNTAG_Bool(REGB0)) {
1379 } else {
1380 nit_abort("Uninitialized attribute %s", "_stype", LOCATE_icode___icode_base, 289);
1381 }
1382 fra.me.REG[0] = ATTR_icode___icode_base___ICheckInstance____stype(fra.me.REG[0]);
1383 stack_frame_head = fra.me.prev;
1384 return fra.me.REG[0];
1385 }
1386 void icode___icode_base___ICheckInstance___init(val_t p0, val_t p1, val_t p2, int* init_table){
1387 int itpos20 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ICheckInstance].i;
1388 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1389 val_t tmp;
1390 if (init_table[itpos20]) return;
1391 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1392 fra.me.file = LOCATE_icode___icode_base;
1393 fra.me.line = 291;
1394 fra.me.meth = LOCATE_icode___icode_base___ICheckInstance___init;
1395 fra.me.has_broke = 0;
1396 fra.me.REG_size = 4;
1397 fra.me.nitni_local_ref_head = NULL;
1398 fra.me.REG[0] = NIT_NULL;
1399 fra.me.REG[1] = NIT_NULL;
1400 fra.me.REG[2] = NIT_NULL;
1401 fra.me.REG[3] = NIT_NULL;
1402 fra.me.REG[0] = p0;
1403 fra.me.REG[1] = p1;
1404 fra.me.REG[2] = p2;
1405 /* icode/icode_base.nit:291 */
1406 fra.me.REG[3] = fra.me.REG[0];
1407 /* icode/icode_base.nit:293 */
1408 CALL_icode___icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
1409 /* icode/icode_base.nit:294 */
1410 ATTR_icode___icode_base___ICheckInstance____stype(fra.me.REG[3]) = fra.me.REG[1];
1411 stack_frame_head = fra.me.prev;
1412 init_table[itpos20] = 1;
1413 return;
1414 }
1415 val_t icode___icode_base___IInitAttributes___stype(val_t p0){
1416 struct {struct stack_frame_t me;} fra;
1417 val_t REGB0;
1418 val_t tmp;
1419 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1420 fra.me.file = LOCATE_icode___icode_base;
1421 fra.me.line = 301;
1422 fra.me.meth = LOCATE_icode___icode_base___IInitAttributes___stype;
1423 fra.me.has_broke = 0;
1424 fra.me.REG_size = 1;
1425 fra.me.nitni_local_ref_head = NULL;
1426 fra.me.REG[0] = NIT_NULL;
1427 fra.me.REG[0] = p0;
1428 /* icode/icode_base.nit:301 */
1429 REGB0 = TAG_Bool(ATTR_icode___icode_base___IInitAttributes____stype(fra.me.REG[0])!=NIT_NULL);
1430 if (UNTAG_Bool(REGB0)) {
1431 } else {
1432 nit_abort("Uninitialized attribute %s", "_stype", LOCATE_icode___icode_base, 301);
1433 }
1434 fra.me.REG[0] = ATTR_icode___icode_base___IInitAttributes____stype(fra.me.REG[0]);
1435 stack_frame_head = fra.me.prev;
1436 return fra.me.REG[0];
1437 }
1438 void icode___icode_base___IInitAttributes___init(val_t p0, val_t p1, val_t p2, int* init_table){
1439 int itpos21 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IInitAttributes].i;
1440 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1441 val_t tmp;
1442 if (init_table[itpos21]) return;
1443 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1444 fra.me.file = LOCATE_icode___icode_base;
1445 fra.me.line = 303;
1446 fra.me.meth = LOCATE_icode___icode_base___IInitAttributes___init;
1447 fra.me.has_broke = 0;
1448 fra.me.REG_size = 4;
1449 fra.me.nitni_local_ref_head = NULL;
1450 fra.me.REG[0] = NIT_NULL;
1451 fra.me.REG[1] = NIT_NULL;
1452 fra.me.REG[2] = NIT_NULL;
1453 fra.me.REG[3] = NIT_NULL;
1454 fra.me.REG[0] = p0;
1455 fra.me.REG[1] = p1;
1456 fra.me.REG[2] = p2;
1457 /* icode/icode_base.nit:303 */
1458 fra.me.REG[3] = fra.me.REG[0];
1459 /* icode/icode_base.nit:305 */
1460 CALL_icode___icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
1461 /* icode/icode_base.nit:306 */
1462 ATTR_icode___icode_base___IInitAttributes____stype(fra.me.REG[3]) = fra.me.REG[1];
1463 stack_frame_head = fra.me.prev;
1464 init_table[itpos21] = 1;
1465 return;
1466 }
1467 val_t icode___icode_base___IClosCall___closure_decl(val_t p0){
1468 struct {struct stack_frame_t me;} fra;
1469 val_t REGB0;
1470 val_t tmp;
1471 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1472 fra.me.file = LOCATE_icode___icode_base;
1473 fra.me.line = 314;
1474 fra.me.meth = LOCATE_icode___icode_base___IClosCall___closure_decl;
1475 fra.me.has_broke = 0;
1476 fra.me.REG_size = 1;
1477 fra.me.nitni_local_ref_head = NULL;
1478 fra.me.REG[0] = NIT_NULL;
1479 fra.me.REG[0] = p0;
1480 /* icode/icode_base.nit:314 */
1481 REGB0 = TAG_Bool(ATTR_icode___icode_base___IClosCall____closure_decl(fra.me.REG[0])!=NIT_NULL);
1482 if (UNTAG_Bool(REGB0)) {
1483 } else {
1484 nit_abort("Uninitialized attribute %s", "_closure_decl", LOCATE_icode___icode_base, 314);
1485 }
1486 fra.me.REG[0] = ATTR_icode___icode_base___IClosCall____closure_decl(fra.me.REG[0]);
1487 stack_frame_head = fra.me.prev;
1488 return fra.me.REG[0];
1489 }
1490 val_t icode___icode_base___IClosCall___break_seq(val_t p0){
1491 struct {struct stack_frame_t me;} fra;
1492 val_t tmp;
1493 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1494 fra.me.file = LOCATE_icode___icode_base;
1495 fra.me.line = 317;
1496 fra.me.meth = LOCATE_icode___icode_base___IClosCall___break_seq;
1497 fra.me.has_broke = 0;
1498 fra.me.REG_size = 1;
1499 fra.me.nitni_local_ref_head = NULL;
1500 fra.me.REG[0] = NIT_NULL;
1501 fra.me.REG[0] = p0;
1502 /* icode/icode_base.nit:317 */
1503 fra.me.REG[0] = ATTR_icode___icode_base___IClosCall____break_seq(fra.me.REG[0]);
1504 stack_frame_head = fra.me.prev;
1505 return fra.me.REG[0];
1506 }
1507 void icode___icode_base___IClosCall___break_seq__eq(val_t p0, val_t p1){
1508 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1509 val_t tmp;
1510 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1511 fra.me.file = LOCATE_icode___icode_base;
1512 fra.me.line = 317;
1513 fra.me.meth = LOCATE_icode___icode_base___IClosCall___break_seq__eq;
1514 fra.me.has_broke = 0;
1515 fra.me.REG_size = 2;
1516 fra.me.nitni_local_ref_head = NULL;
1517 fra.me.REG[0] = NIT_NULL;
1518 fra.me.REG[1] = NIT_NULL;
1519 fra.me.REG[0] = p0;
1520 fra.me.REG[1] = p1;
1521 /* icode/icode_base.nit:317 */
1522 ATTR_icode___icode_base___IClosCall____break_seq(fra.me.REG[0]) = fra.me.REG[1];
1523 stack_frame_head = fra.me.prev;
1524 return;
1525 }
1526 void icode___icode_base___IClosCall___init(val_t p0, val_t p1, val_t p2, int* init_table){
1527 int itpos22 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IClosCall].i;
1528 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1529 val_t tmp;
1530 if (init_table[itpos22]) return;
1531 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1532 fra.me.file = LOCATE_icode___icode_base;
1533 fra.me.line = 320;
1534 fra.me.meth = LOCATE_icode___icode_base___IClosCall___init;
1535 fra.me.has_broke = 0;
1536 fra.me.REG_size = 4;
1537 fra.me.nitni_local_ref_head = NULL;
1538 fra.me.REG[0] = NIT_NULL;
1539 fra.me.REG[1] = NIT_NULL;
1540 fra.me.REG[2] = NIT_NULL;
1541 fra.me.REG[3] = NIT_NULL;
1542 fra.me.REG[0] = p0;
1543 fra.me.REG[1] = p1;
1544 fra.me.REG[2] = p2;
1545 /* icode/icode_base.nit:320 */
1546 fra.me.REG[3] = fra.me.REG[0];
1547 /* icode/icode_base.nit:322 */
1548 CALL_icode___icode_base___ICodeN___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
1549 /* icode/icode_base.nit:323 */
1550 ATTR_icode___icode_base___IClosCall____closure_decl(fra.me.REG[3]) = fra.me.REG[1];
1551 stack_frame_head = fra.me.prev;
1552 init_table[itpos22] = 1;
1553 return;
1554 }
1555 val_t icode___icode_base___INative___method(val_t p0){
1556 struct {struct stack_frame_t me;} fra;
1557 val_t REGB0;
1558 val_t tmp;
1559 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1560 fra.me.file = LOCATE_icode___icode_base;
1561 fra.me.line = 332;
1562 fra.me.meth = LOCATE_icode___icode_base___INative___method;
1563 fra.me.has_broke = 0;
1564 fra.me.REG_size = 1;
1565 fra.me.nitni_local_ref_head = NULL;
1566 fra.me.REG[0] = NIT_NULL;
1567 fra.me.REG[0] = p0;
1568 /* icode/icode_base.nit:332 */
1569 REGB0 = TAG_Bool(ATTR_icode___icode_base___INative____method(fra.me.REG[0])!=NIT_NULL);
1570 if (UNTAG_Bool(REGB0)) {
1571 } else {
1572 nit_abort("Uninitialized attribute %s", "_method", LOCATE_icode___icode_base, 332);
1573 }
1574 fra.me.REG[0] = ATTR_icode___icode_base___INative____method(fra.me.REG[0]);
1575 stack_frame_head = fra.me.prev;
1576 return fra.me.REG[0];
1577 }
1578 void icode___icode_base___INative___init(val_t p0, val_t p1, val_t p2, int* init_table){
1579 int itpos23 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___INative].i;
1580 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
1581 val_t REGB0;
1582 val_t REGB1;
1583 val_t REGB2;
1584 val_t tmp;
1585 if (init_table[itpos23]) return;
1586 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1587 fra.me.file = LOCATE_icode___icode_base;
1588 fra.me.line = 335;
1589 fra.me.meth = LOCATE_icode___icode_base___INative___init;
1590 fra.me.has_broke = 0;
1591 fra.me.REG_size = 5;
1592 fra.me.nitni_local_ref_head = NULL;
1593 fra.me.REG[0] = NIT_NULL;
1594 fra.me.REG[1] = NIT_NULL;
1595 fra.me.REG[2] = NIT_NULL;
1596 fra.me.REG[3] = NIT_NULL;
1597 fra.me.REG[4] = NIT_NULL;
1598 fra.me.REG[0] = p0;
1599 fra.me.REG[1] = p1;
1600 fra.me.REG[2] = p2;
1601 /* icode/icode_base.nit:335 */
1602 fra.me.REG[3] = fra.me.REG[0];
1603 /* icode/icode_base.nit:338 */
1604 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1605 if (UNTAG_Bool(REGB0)) {
1606 nit_abort("Reciever is null", NULL, LOCATE_icode___icode_base, 338);
1607 }
1608 REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
1609 fra.me.REG[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[1])(fra.me.REG[1]);
1610 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
1611 if (UNTAG_Bool(REGB1)) {
1612 nit_abort("Reciever is null", NULL, LOCATE_icode___icode_base, 338);
1613 }
1614 REGB1 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[4])(fra.me.REG[4]);
1615 REGB2 = TAG_Int(1);
1616 /* ../lib/standard/kernel.nit:235 */
1617 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
1618 /* icode/icode_base.nit:338 */
1619 REGB1 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB2));
1620 if (UNTAG_Bool(REGB1)) {
1621 } else {
1622 /* ../lib/standard/kernel.nit:227 */
1623 REGB2 = TAG_Bool((REGB0)==(REGB2));
1624 /* icode/icode_base.nit:338 */
1625 REGB1 = REGB2;
1626 }
1627 if (UNTAG_Bool(REGB1)) {
1628 } else {
1629 nit_abort("Assert failed", NULL, LOCATE_icode___icode_base, 338);
1630 }
1631 /* icode/icode_base.nit:340 */
1632 CALL_icode___icode_base___ICodeN___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
1633 /* icode/icode_base.nit:341 */
1634 ATTR_icode___icode_base___INative____method(fra.me.REG[3]) = fra.me.REG[1];
1635 stack_frame_head = fra.me.prev;
1636 init_table[itpos23] = 1;
1637 return;
1638 }
1639 val_t icode___icode_base___INative___is_pure(val_t p0){
1640 struct {struct stack_frame_t me;} fra;
1641 val_t REGB0;
1642 val_t tmp;
1643 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1644 fra.me.file = LOCATE_icode___icode_base;
1645 fra.me.line = 344;
1646 fra.me.meth = LOCATE_icode___icode_base___INative___is_pure;
1647 fra.me.has_broke = 0;
1648 fra.me.REG_size = 1;
1649 fra.me.nitni_local_ref_head = NULL;
1650 fra.me.REG[0] = NIT_NULL;
1651 fra.me.REG[0] = p0;
1652 /* icode/icode_base.nit:344 */
1653 REGB0 = TAG_Bool(ATTR_icode___icode_base___INative____is_pure(fra.me.REG[0])!=NIT_NULL);
1654 if (UNTAG_Bool(REGB0)) {
1655 } else {
1656 nit_abort("Uninitialized attribute %s", "_is_pure", LOCATE_icode___icode_base, 344);
1657 }
1658 REGB0 = ATTR_icode___icode_base___INative____is_pure(fra.me.REG[0]);
1659 stack_frame_head = fra.me.prev;
1660 return REGB0;
1661 }
1662 void icode___icode_base___INative___is_pure__eq(val_t p0, val_t p1){
1663 struct {struct stack_frame_t me;} fra;
1664 val_t REGB0;
1665 val_t tmp;
1666 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1667 fra.me.file = LOCATE_icode___icode_base;
1668 fra.me.line = 344;
1669 fra.me.meth = LOCATE_icode___icode_base___INative___is_pure__eq;
1670 fra.me.has_broke = 0;
1671 fra.me.REG_size = 1;
1672 fra.me.nitni_local_ref_head = NULL;
1673 fra.me.REG[0] = NIT_NULL;
1674 fra.me.REG[0] = p0;
1675 REGB0 = p1;
1676 /* icode/icode_base.nit:344 */
1677 ATTR_icode___icode_base___INative____is_pure(fra.me.REG[0]) = REGB0;
1678 stack_frame_head = fra.me.prev;
1679 return;
1680 }
1681 val_t icode___icode_base___IIntValue___value(val_t p0){
1682 struct {struct stack_frame_t me;} fra;
1683 val_t REGB0;
1684 val_t tmp;
1685 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1686 fra.me.file = LOCATE_icode___icode_base;
1687 fra.me.line = 350;
1688 fra.me.meth = LOCATE_icode___icode_base___IIntValue___value;
1689 fra.me.has_broke = 0;
1690 fra.me.REG_size = 1;
1691 fra.me.nitni_local_ref_head = NULL;
1692 fra.me.REG[0] = NIT_NULL;
1693 fra.me.REG[0] = p0;
1694 /* icode/icode_base.nit:350 */
1695 REGB0 = TAG_Bool(ATTR_icode___icode_base___IIntValue____value(fra.me.REG[0])!=NIT_NULL);
1696 if (UNTAG_Bool(REGB0)) {
1697 } else {
1698 nit_abort("Uninitialized attribute %s", "_value", LOCATE_icode___icode_base, 350);
1699 }
1700 fra.me.REG[0] = ATTR_icode___icode_base___IIntValue____value(fra.me.REG[0]);
1701 stack_frame_head = fra.me.prev;
1702 return fra.me.REG[0];
1703 }
1704 void icode___icode_base___IIntValue___init(val_t p0, val_t p1, int* init_table){
1705 int itpos24 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IIntValue].i;
1706 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1707 val_t tmp;
1708 if (init_table[itpos24]) return;
1709 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1710 fra.me.file = LOCATE_icode___icode_base;
1711 fra.me.line = 353;
1712 fra.me.meth = LOCATE_icode___icode_base___IIntValue___init;
1713 fra.me.has_broke = 0;
1714 fra.me.REG_size = 2;
1715 fra.me.nitni_local_ref_head = NULL;
1716 fra.me.REG[0] = NIT_NULL;
1717 fra.me.REG[1] = NIT_NULL;
1718 fra.me.REG[0] = p0;
1719 fra.me.REG[1] = p1;
1720 /* icode/icode_base.nit:353 */
1721 ATTR_icode___icode_base___IIntValue____value(fra.me.REG[0]) = fra.me.REG[1];
1722 stack_frame_head = fra.me.prev;
1723 init_table[itpos24] = 1;
1724 return;
1725 }
1726 val_t icode___icode_base___IIntValue___is_pure(val_t p0){
1727 struct {struct stack_frame_t me;} fra;
1728 val_t REGB0;
1729 val_t tmp;
1730 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1731 fra.me.file = LOCATE_icode___icode_base;
1732 fra.me.line = 355;
1733 fra.me.meth = LOCATE_icode___icode_base___IIntValue___is_pure;
1734 fra.me.has_broke = 0;
1735 fra.me.REG_size = 1;
1736 fra.me.nitni_local_ref_head = NULL;
1737 fra.me.REG[0] = NIT_NULL;
1738 fra.me.REG[0] = p0;
1739 /* icode/icode_base.nit:355 */
1740 REGB0 = TAG_Bool(true);
1741 goto label1;
1742 label1: while(0);
1743 stack_frame_head = fra.me.prev;
1744 return REGB0;
1745 }
1746 val_t icode___icode_base___IBoolValue___value(val_t p0){
1747 struct {struct stack_frame_t me;} fra;
1748 val_t REGB0;
1749 val_t tmp;
1750 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1751 fra.me.file = LOCATE_icode___icode_base;
1752 fra.me.line = 361;
1753 fra.me.meth = LOCATE_icode___icode_base___IBoolValue___value;
1754 fra.me.has_broke = 0;
1755 fra.me.REG_size = 1;
1756 fra.me.nitni_local_ref_head = NULL;
1757 fra.me.REG[0] = NIT_NULL;
1758 fra.me.REG[0] = p0;
1759 /* icode/icode_base.nit:361 */
1760 REGB0 = TAG_Bool(ATTR_icode___icode_base___IBoolValue____value(fra.me.REG[0])!=NIT_NULL);
1761 if (UNTAG_Bool(REGB0)) {
1762 } else {
1763 nit_abort("Uninitialized attribute %s", "_value", LOCATE_icode___icode_base, 361);
1764 }
1765 REGB0 = ATTR_icode___icode_base___IBoolValue____value(fra.me.REG[0]);
1766 stack_frame_head = fra.me.prev;
1767 return REGB0;
1768 }
1769 void icode___icode_base___IBoolValue___init(val_t p0, val_t p1, int* init_table){
1770 int itpos25 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IBoolValue].i;
1771 struct {struct stack_frame_t me;} fra;
1772 val_t REGB0;
1773 val_t tmp;
1774 if (init_table[itpos25]) return;
1775 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1776 fra.me.file = LOCATE_icode___icode_base;
1777 fra.me.line = 364;
1778 fra.me.meth = LOCATE_icode___icode_base___IBoolValue___init;
1779 fra.me.has_broke = 0;
1780 fra.me.REG_size = 1;
1781 fra.me.nitni_local_ref_head = NULL;
1782 fra.me.REG[0] = NIT_NULL;
1783 fra.me.REG[0] = p0;
1784 REGB0 = p1;
1785 /* icode/icode_base.nit:364 */
1786 ATTR_icode___icode_base___IBoolValue____value(fra.me.REG[0]) = REGB0;
1787 stack_frame_head = fra.me.prev;
1788 init_table[itpos25] = 1;
1789 return;
1790 }
1791 val_t icode___icode_base___IBoolValue___is_pure(val_t p0){
1792 struct {struct stack_frame_t me;} fra;
1793 val_t REGB0;
1794 val_t tmp;
1795 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1796 fra.me.file = LOCATE_icode___icode_base;
1797 fra.me.line = 366;
1798 fra.me.meth = LOCATE_icode___icode_base___IBoolValue___is_pure;
1799 fra.me.has_broke = 0;
1800 fra.me.REG_size = 1;
1801 fra.me.nitni_local_ref_head = NULL;
1802 fra.me.REG[0] = NIT_NULL;
1803 fra.me.REG[0] = p0;
1804 /* icode/icode_base.nit:366 */
1805 REGB0 = TAG_Bool(true);
1806 goto label1;
1807 label1: while(0);
1808 stack_frame_head = fra.me.prev;
1809 return REGB0;
1810 }
1811 val_t icode___icode_base___IStringValue___value(val_t p0){
1812 struct {struct stack_frame_t me;} fra;
1813 val_t REGB0;
1814 val_t tmp;
1815 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1816 fra.me.file = LOCATE_icode___icode_base;
1817 fra.me.line = 372;
1818 fra.me.meth = LOCATE_icode___icode_base___IStringValue___value;
1819 fra.me.has_broke = 0;
1820 fra.me.REG_size = 1;
1821 fra.me.nitni_local_ref_head = NULL;
1822 fra.me.REG[0] = NIT_NULL;
1823 fra.me.REG[0] = p0;
1824 /* icode/icode_base.nit:372 */
1825 REGB0 = TAG_Bool(ATTR_icode___icode_base___IStringValue____value(fra.me.REG[0])!=NIT_NULL);
1826 if (UNTAG_Bool(REGB0)) {
1827 } else {
1828 nit_abort("Uninitialized attribute %s", "_value", LOCATE_icode___icode_base, 372);
1829 }
1830 fra.me.REG[0] = ATTR_icode___icode_base___IStringValue____value(fra.me.REG[0]);
1831 stack_frame_head = fra.me.prev;
1832 return fra.me.REG[0];
1833 }
1834 void icode___icode_base___IStringValue___init(val_t p0, val_t p1, int* init_table){
1835 int itpos26 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IStringValue].i;
1836 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1837 val_t tmp;
1838 if (init_table[itpos26]) return;
1839 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1840 fra.me.file = LOCATE_icode___icode_base;
1841 fra.me.line = 375;
1842 fra.me.meth = LOCATE_icode___icode_base___IStringValue___init;
1843 fra.me.has_broke = 0;
1844 fra.me.REG_size = 2;
1845 fra.me.nitni_local_ref_head = NULL;
1846 fra.me.REG[0] = NIT_NULL;
1847 fra.me.REG[1] = NIT_NULL;
1848 fra.me.REG[0] = p0;
1849 fra.me.REG[1] = p1;
1850 /* icode/icode_base.nit:375 */
1851 ATTR_icode___icode_base___IStringValue____value(fra.me.REG[0]) = fra.me.REG[1];
1852 stack_frame_head = fra.me.prev;
1853 init_table[itpos26] = 1;
1854 return;
1855 }
1856 val_t icode___icode_base___IStringValue___is_pure(val_t p0){
1857 struct {struct stack_frame_t me;} fra;
1858 val_t REGB0;
1859 val_t tmp;
1860 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1861 fra.me.file = LOCATE_icode___icode_base;
1862 fra.me.line = 377;
1863 fra.me.meth = LOCATE_icode___icode_base___IStringValue___is_pure;
1864 fra.me.has_broke = 0;
1865 fra.me.REG_size = 1;
1866 fra.me.nitni_local_ref_head = NULL;
1867 fra.me.REG[0] = NIT_NULL;
1868 fra.me.REG[0] = p0;
1869 /* icode/icode_base.nit:377 */
1870 REGB0 = TAG_Bool(true);
1871 goto label1;
1872 label1: while(0);
1873 stack_frame_head = fra.me.prev;
1874 return REGB0;
1875 }
1876 val_t icode___icode_base___IFloatValue___value(val_t p0){
1877 struct {struct stack_frame_t me;} fra;
1878 val_t REGB0;
1879 val_t tmp;
1880 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1881 fra.me.file = LOCATE_icode___icode_base;
1882 fra.me.line = 383;
1883 fra.me.meth = LOCATE_icode___icode_base___IFloatValue___value;
1884 fra.me.has_broke = 0;
1885 fra.me.REG_size = 1;
1886 fra.me.nitni_local_ref_head = NULL;
1887 fra.me.REG[0] = NIT_NULL;
1888 fra.me.REG[0] = p0;
1889 /* icode/icode_base.nit:383 */
1890 REGB0 = TAG_Bool(ATTR_icode___icode_base___IFloatValue____value(fra.me.REG[0])!=NIT_NULL);
1891 if (UNTAG_Bool(REGB0)) {
1892 } else {
1893 nit_abort("Uninitialized attribute %s", "_value", LOCATE_icode___icode_base, 383);
1894 }
1895 fra.me.REG[0] = ATTR_icode___icode_base___IFloatValue____value(fra.me.REG[0]);
1896 stack_frame_head = fra.me.prev;
1897 return fra.me.REG[0];
1898 }
1899 void icode___icode_base___IFloatValue___init(val_t p0, val_t p1, int* init_table){
1900 int itpos27 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IFloatValue].i;
1901 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1902 val_t tmp;
1903 if (init_table[itpos27]) return;
1904 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1905 fra.me.file = LOCATE_icode___icode_base;
1906 fra.me.line = 386;
1907 fra.me.meth = LOCATE_icode___icode_base___IFloatValue___init;
1908 fra.me.has_broke = 0;
1909 fra.me.REG_size = 2;
1910 fra.me.nitni_local_ref_head = NULL;
1911 fra.me.REG[0] = NIT_NULL;
1912 fra.me.REG[1] = NIT_NULL;
1913 fra.me.REG[0] = p0;
1914 fra.me.REG[1] = p1;
1915 /* icode/icode_base.nit:386 */
1916 ATTR_icode___icode_base___IFloatValue____value(fra.me.REG[0]) = fra.me.REG[1];
1917 stack_frame_head = fra.me.prev;
1918 init_table[itpos27] = 1;
1919 return;
1920 }
1921 val_t icode___icode_base___IFloatValue___is_pure(val_t p0){
1922 struct {struct stack_frame_t me;} fra;
1923 val_t REGB0;
1924 val_t tmp;
1925 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1926 fra.me.file = LOCATE_icode___icode_base;
1927 fra.me.line = 388;
1928 fra.me.meth = LOCATE_icode___icode_base___IFloatValue___is_pure;
1929 fra.me.has_broke = 0;
1930 fra.me.REG_size = 1;
1931 fra.me.nitni_local_ref_head = NULL;
1932 fra.me.REG[0] = NIT_NULL;
1933 fra.me.REG[0] = p0;
1934 /* icode/icode_base.nit:388 */
1935 REGB0 = TAG_Bool(true);
1936 goto label1;
1937 label1: while(0);
1938 stack_frame_head = fra.me.prev;
1939 return REGB0;
1940 }
1941 val_t icode___icode_base___ICharValue___value(val_t p0){
1942 struct {struct stack_frame_t me;} fra;
1943 val_t REGB0;
1944 val_t tmp;
1945 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1946 fra.me.file = LOCATE_icode___icode_base;
1947 fra.me.line = 394;
1948 fra.me.meth = LOCATE_icode___icode_base___ICharValue___value;
1949 fra.me.has_broke = 0;
1950 fra.me.REG_size = 1;
1951 fra.me.nitni_local_ref_head = NULL;
1952 fra.me.REG[0] = NIT_NULL;
1953 fra.me.REG[0] = p0;
1954 /* icode/icode_base.nit:394 */
1955 REGB0 = TAG_Bool(ATTR_icode___icode_base___ICharValue____value(fra.me.REG[0])!=NIT_NULL);
1956 if (UNTAG_Bool(REGB0)) {
1957 } else {
1958 nit_abort("Uninitialized attribute %s", "_value", LOCATE_icode___icode_base, 394);
1959 }
1960 fra.me.REG[0] = ATTR_icode___icode_base___ICharValue____value(fra.me.REG[0]);
1961 stack_frame_head = fra.me.prev;
1962 return fra.me.REG[0];
1963 }
1964 void icode___icode_base___ICharValue___init(val_t p0, val_t p1, int* init_table){
1965 int itpos28 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ICharValue].i;
1966 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1967 val_t tmp;
1968 if (init_table[itpos28]) return;
1969 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1970 fra.me.file = LOCATE_icode___icode_base;
1971 fra.me.line = 397;
1972 fra.me.meth = LOCATE_icode___icode_base___ICharValue___init;
1973 fra.me.has_broke = 0;
1974 fra.me.REG_size = 2;
1975 fra.me.nitni_local_ref_head = NULL;
1976 fra.me.REG[0] = NIT_NULL;
1977 fra.me.REG[1] = NIT_NULL;
1978 fra.me.REG[0] = p0;
1979 fra.me.REG[1] = p1;
1980 /* icode/icode_base.nit:397 */
1981 ATTR_icode___icode_base___ICharValue____value(fra.me.REG[0]) = fra.me.REG[1];
1982 stack_frame_head = fra.me.prev;
1983 init_table[itpos28] = 1;
1984 return;
1985 }
1986 val_t icode___icode_base___ICharValue___is_pure(val_t p0){
1987 struct {struct stack_frame_t me;} fra;
1988 val_t REGB0;
1989 val_t tmp;
1990 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1991 fra.me.file = LOCATE_icode___icode_base;
1992 fra.me.line = 399;
1993 fra.me.meth = LOCATE_icode___icode_base___ICharValue___is_pure;
1994 fra.me.has_broke = 0;
1995 fra.me.REG_size = 1;
1996 fra.me.nitni_local_ref_head = NULL;
1997 fra.me.REG[0] = NIT_NULL;
1998 fra.me.REG[0] = p0;
1999 /* icode/icode_base.nit:399 */
2000 REGB0 = TAG_Bool(true);
2001 goto label1;
2002 label1: while(0);
2003 stack_frame_head = fra.me.prev;
2004 return REGB0;
2005 }
2006 void icode___icode_base___IMove___init(val_t p0, val_t p1, val_t p2, int* init_table){
2007 int itpos29 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IMove].i;
2008 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2009 val_t tmp;
2010 if (init_table[itpos29]) return;
2011 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2012 fra.me.file = LOCATE_icode___icode_base;
2013 fra.me.line = 407;
2014 fra.me.meth = LOCATE_icode___icode_base___IMove___init;
2015 fra.me.has_broke = 0;
2016 fra.me.REG_size = 4;
2017 fra.me.nitni_local_ref_head = NULL;
2018 fra.me.REG[0] = NIT_NULL;
2019 fra.me.REG[1] = NIT_NULL;
2020 fra.me.REG[2] = NIT_NULL;
2021 fra.me.REG[3] = NIT_NULL;
2022 fra.me.REG[0] = p0;
2023 fra.me.REG[1] = p1;
2024 fra.me.REG[2] = p2;
2025 /* icode/icode_base.nit:407 */
2026 fra.me.REG[3] = fra.me.REG[0];
2027 /* icode/icode_base.nit:409 */
2028 CALL_icode___icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
2029 /* icode/icode_base.nit:410 */
2030 ATTR_icode___icode_base___ICode____result(fra.me.REG[3]) = fra.me.REG[1];
2031 stack_frame_head = fra.me.prev;
2032 init_table[itpos29] = 1;
2033 return;
2034 }
2035 val_t icode___icode_base___IMove___is_pure(val_t p0){
2036 struct {struct stack_frame_t me;} fra;
2037 val_t REGB0;
2038 val_t tmp;
2039 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2040 fra.me.file = LOCATE_icode___icode_base;
2041 fra.me.line = 413;
2042 fra.me.meth = LOCATE_icode___icode_base___IMove___is_pure;
2043 fra.me.has_broke = 0;
2044 fra.me.REG_size = 1;
2045 fra.me.nitni_local_ref_head = NULL;
2046 fra.me.REG[0] = NIT_NULL;
2047 fra.me.REG[0] = p0;
2048 /* icode/icode_base.nit:413 */
2049 REGB0 = TAG_Bool(true);
2050 goto label1;
2051 label1: while(0);
2052 stack_frame_head = fra.me.prev;
2053 return REGB0;
2054 }
2055 val_t icode___icode_base___IAttrRead___property(val_t p0){
2056 struct {struct stack_frame_t me;} fra;
2057 val_t REGB0;
2058 val_t tmp;
2059 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2060 fra.me.file = LOCATE_icode___icode_base;
2061 fra.me.line = 420;
2062 fra.me.meth = LOCATE_icode___icode_base___IAttrRead___property;
2063 fra.me.has_broke = 0;
2064 fra.me.REG_size = 1;
2065 fra.me.nitni_local_ref_head = NULL;
2066 fra.me.REG[0] = NIT_NULL;
2067 fra.me.REG[0] = p0;
2068 /* icode/icode_base.nit:420 */
2069 REGB0 = TAG_Bool(ATTR_icode___icode_base___IAttrRead____property(fra.me.REG[0])!=NIT_NULL);
2070 if (UNTAG_Bool(REGB0)) {
2071 } else {
2072 nit_abort("Uninitialized attribute %s", "_property", LOCATE_icode___icode_base, 420);
2073 }
2074 fra.me.REG[0] = ATTR_icode___icode_base___IAttrRead____property(fra.me.REG[0]);
2075 stack_frame_head = fra.me.prev;
2076 return fra.me.REG[0];
2077 }
2078 void icode___icode_base___IAttrRead___init(val_t p0, val_t p1, val_t p2, int* init_table){
2079 int itpos30 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IAttrRead].i;
2080 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2081 val_t tmp;
2082 if (init_table[itpos30]) return;
2083 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2084 fra.me.file = LOCATE_icode___icode_base;
2085 fra.me.line = 423;
2086 fra.me.meth = LOCATE_icode___icode_base___IAttrRead___init;
2087 fra.me.has_broke = 0;
2088 fra.me.REG_size = 4;
2089 fra.me.nitni_local_ref_head = NULL;
2090 fra.me.REG[0] = NIT_NULL;
2091 fra.me.REG[1] = NIT_NULL;
2092 fra.me.REG[2] = NIT_NULL;
2093 fra.me.REG[3] = NIT_NULL;
2094 fra.me.REG[0] = p0;
2095 fra.me.REG[1] = p1;
2096 fra.me.REG[2] = p2;
2097 /* icode/icode_base.nit:423 */
2098 fra.me.REG[3] = fra.me.REG[0];
2099 /* icode/icode_base.nit:425 */
2100 CALL_icode___icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
2101 /* icode/icode_base.nit:426 */
2102 ATTR_icode___icode_base___IAttrRead____property(fra.me.REG[3]) = fra.me.REG[1];
2103 stack_frame_head = fra.me.prev;
2104 init_table[itpos30] = 1;
2105 return;
2106 }
2107 val_t icode___icode_base___IAttrRead___is_pure(val_t p0){
2108 struct {struct stack_frame_t me;} fra;
2109 val_t REGB0;
2110 val_t tmp;
2111 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2112 fra.me.file = LOCATE_icode___icode_base;
2113 fra.me.line = 429;
2114 fra.me.meth = LOCATE_icode___icode_base___IAttrRead___is_pure;
2115 fra.me.has_broke = 0;
2116 fra.me.REG_size = 1;
2117 fra.me.nitni_local_ref_head = NULL;
2118 fra.me.REG[0] = NIT_NULL;
2119 fra.me.REG[0] = p0;
2120 /* icode/icode_base.nit:429 */
2121 REGB0 = TAG_Bool(true);
2122 goto label1;
2123 label1: while(0);
2124 stack_frame_head = fra.me.prev;
2125 return REGB0;
2126 }
2127 val_t icode___icode_base___IAttrWrite___property(val_t p0){
2128 struct {struct stack_frame_t me;} fra;
2129 val_t REGB0;
2130 val_t tmp;
2131 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2132 fra.me.file = LOCATE_icode___icode_base;
2133 fra.me.line = 436;
2134 fra.me.meth = LOCATE_icode___icode_base___IAttrWrite___property;
2135 fra.me.has_broke = 0;
2136 fra.me.REG_size = 1;
2137 fra.me.nitni_local_ref_head = NULL;
2138 fra.me.REG[0] = NIT_NULL;
2139 fra.me.REG[0] = p0;
2140 /* icode/icode_base.nit:436 */
2141 REGB0 = TAG_Bool(ATTR_icode___icode_base___IAttrWrite____property(fra.me.REG[0])!=NIT_NULL);
2142 if (UNTAG_Bool(REGB0)) {
2143 } else {
2144 nit_abort("Uninitialized attribute %s", "_property", LOCATE_icode___icode_base, 436);
2145 }
2146 fra.me.REG[0] = ATTR_icode___icode_base___IAttrWrite____property(fra.me.REG[0]);
2147 stack_frame_head = fra.me.prev;
2148 return fra.me.REG[0];
2149 }
2150 void icode___icode_base___IAttrWrite___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
2151 int itpos31 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IAttrWrite].i;
2152 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
2153 val_t tmp;
2154 if (init_table[itpos31]) return;
2155 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2156 fra.me.file = LOCATE_icode___icode_base;
2157 fra.me.line = 439;
2158 fra.me.meth = LOCATE_icode___icode_base___IAttrWrite___init;
2159 fra.me.has_broke = 0;
2160 fra.me.REG_size = 5;
2161 fra.me.nitni_local_ref_head = NULL;
2162 fra.me.REG[0] = NIT_NULL;
2163 fra.me.REG[1] = NIT_NULL;
2164 fra.me.REG[2] = NIT_NULL;
2165 fra.me.REG[3] = NIT_NULL;
2166 fra.me.REG[4] = NIT_NULL;
2167 fra.me.REG[0] = p0;
2168 fra.me.REG[1] = p1;
2169 fra.me.REG[2] = p2;
2170 fra.me.REG[3] = p3;
2171 /* icode/icode_base.nit:439 */
2172 fra.me.REG[4] = fra.me.REG[0];
2173 /* icode/icode_base.nit:441 */
2174 CALL_icode___icode_base___ICode2___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[3], init_table);
2175 /* icode/icode_base.nit:442 */
2176 ATTR_icode___icode_base___IAttrWrite____property(fra.me.REG[4]) = fra.me.REG[1];
2177 stack_frame_head = fra.me.prev;
2178 init_table[itpos31] = 1;
2179 return;
2180 }
2181 val_t icode___icode_base___IAttrIsset___property(val_t p0){
2182 struct {struct stack_frame_t me;} fra;
2183 val_t REGB0;
2184 val_t tmp;
2185 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2186 fra.me.file = LOCATE_icode___icode_base;
2187 fra.me.line = 451;
2188 fra.me.meth = LOCATE_icode___icode_base___IAttrIsset___property;
2189 fra.me.has_broke = 0;
2190 fra.me.REG_size = 1;
2191 fra.me.nitni_local_ref_head = NULL;
2192 fra.me.REG[0] = NIT_NULL;
2193 fra.me.REG[0] = p0;
2194 /* icode/icode_base.nit:451 */
2195 REGB0 = TAG_Bool(ATTR_icode___icode_base___IAttrIsset____property(fra.me.REG[0])!=NIT_NULL);
2196 if (UNTAG_Bool(REGB0)) {
2197 } else {
2198 nit_abort("Uninitialized attribute %s", "_property", LOCATE_icode___icode_base, 451);
2199 }
2200 fra.me.REG[0] = ATTR_icode___icode_base___IAttrIsset____property(fra.me.REG[0]);
2201 stack_frame_head = fra.me.prev;
2202 return fra.me.REG[0];
2203 }
2204 void icode___icode_base___IAttrIsset___init(val_t p0, val_t p1, val_t p2, int* init_table){
2205 int itpos32 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IAttrIsset].i;
2206 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2207 val_t tmp;
2208 if (init_table[itpos32]) return;
2209 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2210 fra.me.file = LOCATE_icode___icode_base;
2211 fra.me.line = 454;
2212 fra.me.meth = LOCATE_icode___icode_base___IAttrIsset___init;
2213 fra.me.has_broke = 0;
2214 fra.me.REG_size = 4;
2215 fra.me.nitni_local_ref_head = NULL;
2216 fra.me.REG[0] = NIT_NULL;
2217 fra.me.REG[1] = NIT_NULL;
2218 fra.me.REG[2] = NIT_NULL;
2219 fra.me.REG[3] = NIT_NULL;
2220 fra.me.REG[0] = p0;
2221 fra.me.REG[1] = p1;
2222 fra.me.REG[2] = p2;
2223 /* icode/icode_base.nit:454 */
2224 fra.me.REG[3] = fra.me.REG[0];
2225 /* icode/icode_base.nit:456 */
2226 CALL_icode___icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
2227 /* icode/icode_base.nit:457 */
2228 ATTR_icode___icode_base___IAttrIsset____property(fra.me.REG[3]) = fra.me.REG[1];
2229 stack_frame_head = fra.me.prev;
2230 init_table[itpos32] = 1;
2231 return;
2232 }
2233 val_t icode___icode_base___IAttrIsset___is_pure(val_t p0){
2234 struct {struct stack_frame_t me;} fra;
2235 val_t REGB0;
2236 val_t tmp;
2237 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2238 fra.me.file = LOCATE_icode___icode_base;
2239 fra.me.line = 460;
2240 fra.me.meth = LOCATE_icode___icode_base___IAttrIsset___is_pure;
2241 fra.me.has_broke = 0;
2242 fra.me.REG_size = 1;
2243 fra.me.nitni_local_ref_head = NULL;
2244 fra.me.REG[0] = NIT_NULL;
2245 fra.me.REG[0] = p0;
2246 /* icode/icode_base.nit:460 */
2247 REGB0 = TAG_Bool(true);
2248 goto label1;
2249 label1: while(0);
2250 stack_frame_head = fra.me.prev;
2251 return REGB0;
2252 }
2253 val_t icode___icode_base___ITypeCheck___stype(val_t p0){
2254 struct {struct stack_frame_t me;} fra;
2255 val_t REGB0;
2256 val_t tmp;
2257 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2258 fra.me.file = LOCATE_icode___icode_base;
2259 fra.me.line = 468;
2260 fra.me.meth = LOCATE_icode___icode_base___ITypeCheck___stype;
2261 fra.me.has_broke = 0;
2262 fra.me.REG_size = 1;
2263 fra.me.nitni_local_ref_head = NULL;
2264 fra.me.REG[0] = NIT_NULL;
2265 fra.me.REG[0] = p0;
2266 /* icode/icode_base.nit:468 */
2267 REGB0 = TAG_Bool(ATTR_icode___icode_base___ITypeCheck____stype(fra.me.REG[0])!=NIT_NULL);
2268 if (UNTAG_Bool(REGB0)) {
2269 } else {
2270 nit_abort("Uninitialized attribute %s", "_stype", LOCATE_icode___icode_base, 468);
2271 }
2272 fra.me.REG[0] = ATTR_icode___icode_base___ITypeCheck____stype(fra.me.REG[0]);
2273 stack_frame_head = fra.me.prev;
2274 return fra.me.REG[0];
2275 }
2276 void icode___icode_base___ITypeCheck___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
2277 int itpos33 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ITypeCheck].i;
2278 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
2279 val_t tmp;
2280 if (init_table[itpos33]) return;
2281 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2282 fra.me.file = LOCATE_icode___icode_base;
2283 fra.me.line = 471;
2284 fra.me.meth = LOCATE_icode___icode_base___ITypeCheck___init;
2285 fra.me.has_broke = 0;
2286 fra.me.REG_size = 5;
2287 fra.me.nitni_local_ref_head = NULL;
2288 fra.me.REG[0] = NIT_NULL;
2289 fra.me.REG[1] = NIT_NULL;
2290 fra.me.REG[2] = NIT_NULL;
2291 fra.me.REG[3] = NIT_NULL;
2292 fra.me.REG[4] = NIT_NULL;
2293 fra.me.REG[0] = p0;
2294 fra.me.REG[1] = p1;
2295 fra.me.REG[2] = p2;
2296 fra.me.REG[3] = p3;
2297 /* icode/icode_base.nit:471 */
2298 fra.me.REG[4] = fra.me.REG[0];
2299 /* icode/icode_base.nit:473 */
2300 CALL_icode___icode_base___ICode2___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
2301 /* icode/icode_base.nit:474 */
2302 ATTR_icode___icode_base___ITypeCheck____stype(fra.me.REG[4]) = fra.me.REG[3];
2303 stack_frame_head = fra.me.prev;
2304 init_table[itpos33] = 1;
2305 return;
2306 }
2307 val_t icode___icode_base___ITypeCheck___is_pure(val_t p0){
2308 struct {struct stack_frame_t me;} fra;
2309 val_t REGB0;
2310 val_t tmp;
2311 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2312 fra.me.file = LOCATE_icode___icode_base;
2313 fra.me.line = 477;
2314 fra.me.meth = LOCATE_icode___icode_base___ITypeCheck___is_pure;
2315 fra.me.has_broke = 0;
2316 fra.me.REG_size = 1;
2317 fra.me.nitni_local_ref_head = NULL;
2318 fra.me.REG[0] = NIT_NULL;
2319 fra.me.REG[0] = p0;
2320 /* icode/icode_base.nit:477 */
2321 REGB0 = TAG_Bool(true);
2322 goto label1;
2323 label1: while(0);
2324 stack_frame_head = fra.me.prev;
2325 return REGB0;
2326 }
2327 void icode___icode_base___IIs___init(val_t p0, val_t p1, val_t p2, int* init_table){
2328 int itpos34 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IIs].i;
2329 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2330 val_t tmp;
2331 if (init_table[itpos34]) return;
2332 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2333 fra.me.file = LOCATE_icode___icode_base;
2334 fra.me.line = 484;
2335 fra.me.meth = LOCATE_icode___icode_base___IIs___init;
2336 fra.me.has_broke = 0;
2337 fra.me.REG_size = 3;
2338 fra.me.nitni_local_ref_head = NULL;
2339 fra.me.REG[0] = NIT_NULL;
2340 fra.me.REG[1] = NIT_NULL;
2341 fra.me.REG[2] = NIT_NULL;
2342 fra.me.REG[0] = p0;
2343 fra.me.REG[1] = p1;
2344 fra.me.REG[2] = p2;
2345 /* icode/icode_base.nit:486 */
2346 CALL_icode___icode_base___ICode2___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
2347 stack_frame_head = fra.me.prev;
2348 init_table[itpos34] = 1;
2349 return;
2350 }
2351 val_t icode___icode_base___IIs___is_pure(val_t p0){
2352 struct {struct stack_frame_t me;} fra;
2353 val_t REGB0;
2354 val_t tmp;
2355 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2356 fra.me.file = LOCATE_icode___icode_base;
2357 fra.me.line = 489;
2358 fra.me.meth = LOCATE_icode___icode_base___IIs___is_pure;
2359 fra.me.has_broke = 0;
2360 fra.me.REG_size = 1;
2361 fra.me.nitni_local_ref_head = NULL;
2362 fra.me.REG[0] = NIT_NULL;
2363 fra.me.REG[0] = p0;
2364 /* icode/icode_base.nit:489 */
2365 REGB0 = TAG_Bool(true);
2366 goto label1;
2367 label1: while(0);
2368 stack_frame_head = fra.me.prev;
2369 return REGB0;
2370 }
2371 void icode___icode_base___INot___init(val_t p0, val_t p1, int* init_table){
2372 int itpos35 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___INot].i;
2373 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2374 val_t tmp;
2375 if (init_table[itpos35]) return;
2376 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2377 fra.me.file = LOCATE_icode___icode_base;
2378 fra.me.line = 496;
2379 fra.me.meth = LOCATE_icode___icode_base___INot___init;
2380 fra.me.has_broke = 0;
2381 fra.me.REG_size = 2;
2382 fra.me.nitni_local_ref_head = NULL;
2383 fra.me.REG[0] = NIT_NULL;
2384 fra.me.REG[1] = NIT_NULL;
2385 fra.me.REG[0] = p0;
2386 fra.me.REG[1] = p1;
2387 /* icode/icode_base.nit:498 */
2388 CALL_icode___icode_base___ICode1___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], init_table);
2389 stack_frame_head = fra.me.prev;
2390 init_table[itpos35] = 1;
2391 return;
2392 }
2393 val_t icode___icode_base___INot___is_pure(val_t p0){
2394 struct {struct stack_frame_t me;} fra;
2395 val_t REGB0;
2396 val_t tmp;
2397 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2398 fra.me.file = LOCATE_icode___icode_base;
2399 fra.me.line = 501;
2400 fra.me.meth = LOCATE_icode___icode_base___INot___is_pure;
2401 fra.me.has_broke = 0;
2402 fra.me.REG_size = 1;
2403 fra.me.nitni_local_ref_head = NULL;
2404 fra.me.REG[0] = NIT_NULL;
2405 fra.me.REG[0] = p0;
2406 /* icode/icode_base.nit:501 */
2407 REGB0 = TAG_Bool(true);
2408 goto label1;
2409 label1: while(0);
2410 stack_frame_head = fra.me.prev;
2411 return REGB0;
2412 }
2413 val_t icode___icode_base___IOnce___body(val_t p0){
2414 struct {struct stack_frame_t me;} fra;
2415 val_t REGB0;
2416 val_t tmp;
2417 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2418 fra.me.file = LOCATE_icode___icode_base;
2419 fra.me.line = 508;
2420 fra.me.meth = LOCATE_icode___icode_base___IOnce___body;
2421 fra.me.has_broke = 0;
2422 fra.me.REG_size = 1;
2423 fra.me.nitni_local_ref_head = NULL;
2424 fra.me.REG[0] = NIT_NULL;
2425 fra.me.REG[0] = p0;
2426 /* icode/icode_base.nit:508 */
2427 REGB0 = TAG_Bool(ATTR_icode___icode_base___IOnce____body(fra.me.REG[0])!=NIT_NULL);
2428 if (UNTAG_Bool(REGB0)) {
2429 } else {
2430 nit_abort("Uninitialized attribute %s", "_body", LOCATE_icode___icode_base, 508);
2431 }
2432 fra.me.REG[0] = ATTR_icode___icode_base___IOnce____body(fra.me.REG[0]);
2433 stack_frame_head = fra.me.prev;
2434 return fra.me.REG[0];
2435 }
2436 void icode___icode_base___IOnce___init(val_t p0, int* init_table){
2437 int itpos36 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IOnce].i;
2438 struct {struct stack_frame_t me;} fra;
2439 val_t tmp;
2440 if (init_table[itpos36]) return;
2441 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2442 fra.me.file = LOCATE_icode___icode_base;
2443 fra.me.line = 509;
2444 fra.me.meth = LOCATE_icode___icode_base___IOnce___init;
2445 fra.me.has_broke = 0;
2446 fra.me.REG_size = 1;
2447 fra.me.nitni_local_ref_head = NULL;
2448 fra.me.REG[0] = NIT_NULL;
2449 fra.me.REG[0] = p0;
2450 stack_frame_head = fra.me.prev;
2451 init_table[itpos36] = 1;
2452 return;
2453 }
2454 val_t icode___icode_base___IHasClos___closure_decl(val_t p0){
2455 struct {struct stack_frame_t me;} fra;
2456 val_t REGB0;
2457 val_t tmp;
2458 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2459 fra.me.file = LOCATE_icode___icode_base;
2460 fra.me.line = 515;
2461 fra.me.meth = LOCATE_icode___icode_base___IHasClos___closure_decl;
2462 fra.me.has_broke = 0;
2463 fra.me.REG_size = 1;
2464 fra.me.nitni_local_ref_head = NULL;
2465 fra.me.REG[0] = NIT_NULL;
2466 fra.me.REG[0] = p0;
2467 /* icode/icode_base.nit:515 */
2468 REGB0 = TAG_Bool(ATTR_icode___icode_base___IHasClos____closure_decl(fra.me.REG[0])!=NIT_NULL);
2469 if (UNTAG_Bool(REGB0)) {
2470 } else {
2471 nit_abort("Uninitialized attribute %s", "_closure_decl", LOCATE_icode___icode_base, 515);
2472 }
2473 fra.me.REG[0] = ATTR_icode___icode_base___IHasClos____closure_decl(fra.me.REG[0]);
2474 stack_frame_head = fra.me.prev;
2475 return fra.me.REG[0];
2476 }
2477 void icode___icode_base___IHasClos___init(val_t p0, val_t p1, int* init_table){
2478 int itpos37 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IHasClos].i;
2479 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2480 val_t tmp;
2481 if (init_table[itpos37]) return;
2482 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2483 fra.me.file = LOCATE_icode___icode_base;
2484 fra.me.line = 518;
2485 fra.me.meth = LOCATE_icode___icode_base___IHasClos___init;
2486 fra.me.has_broke = 0;
2487 fra.me.REG_size = 2;
2488 fra.me.nitni_local_ref_head = NULL;
2489 fra.me.REG[0] = NIT_NULL;
2490 fra.me.REG[1] = NIT_NULL;
2491 fra.me.REG[0] = p0;
2492 fra.me.REG[1] = p1;
2493 /* icode/icode_base.nit:520 */
2494 ATTR_icode___icode_base___IHasClos____closure_decl(fra.me.REG[0]) = fra.me.REG[1];
2495 stack_frame_head = fra.me.prev;
2496 init_table[itpos37] = 1;
2497 return;
2498 }
2499 val_t icode___icode_base___IHasClos___is_pure(val_t p0){
2500 struct {struct stack_frame_t me;} fra;
2501 val_t REGB0;
2502 val_t tmp;
2503 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2504 fra.me.file = LOCATE_icode___icode_base;
2505 fra.me.line = 523;
2506 fra.me.meth = LOCATE_icode___icode_base___IHasClos___is_pure;
2507 fra.me.has_broke = 0;
2508 fra.me.REG_size = 1;
2509 fra.me.nitni_local_ref_head = NULL;
2510 fra.me.REG[0] = NIT_NULL;
2511 fra.me.REG[0] = p0;
2512 /* icode/icode_base.nit:523 */
2513 REGB0 = TAG_Bool(true);
2514 goto label1;
2515 label1: while(0);
2516 stack_frame_head = fra.me.prev;
2517 return REGB0;
2518 }
2519 val_t icode___icode_base___MMAttribute___iroutine(val_t p0){
2520 struct {struct stack_frame_t me;} fra;
2521 val_t tmp;
2522 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2523 fra.me.file = LOCATE_icode___icode_base;
2524 fra.me.line = 529;
2525 fra.me.meth = LOCATE_icode___icode_base___MMAttribute___iroutine;
2526 fra.me.has_broke = 0;
2527 fra.me.REG_size = 0;
2528 fra.me.nitni_local_ref_head = NULL;
2529 /* icode/icode_base.nit:529 */
2530 nit_abort("Deferred method called", NULL, LOCATE_icode___icode_base, 529);
2531 stack_frame_head = fra.me.prev;
2532 return NIT_NULL;
2533 }
2534 val_t icode___icode_base___MMMethod___iroutine(val_t p0){
2535 struct {struct stack_frame_t me;} fra;
2536 val_t tmp;
2537 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2538 fra.me.file = LOCATE_icode___icode_base;
2539 fra.me.line = 535;
2540 fra.me.meth = LOCATE_icode___icode_base___MMMethod___iroutine;
2541 fra.me.has_broke = 0;
2542 fra.me.REG_size = 0;
2543 fra.me.nitni_local_ref_head = NULL;
2544 /* icode/icode_base.nit:535 */
2545 nit_abort("Deferred method called", NULL, LOCATE_icode___icode_base, 535);
2546 stack_frame_head = fra.me.prev;
2547 return NIT_NULL;
2548 }