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