bench: add bench_typetest_languages
[nit.git] / c_src / syntax___syntax_base._sep.c
1 /* This C file is generated by NIT to compile module syntax___syntax_base. */
2 #include "syntax___syntax_base._sep.h"
3 void syntax___syntax_base___MMSrcModule___clear_ast(val_t p0){
4 struct {struct stack_frame_t me;} fra;
5 val_t tmp;
6 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7 fra.me.file = LOCATE_syntax___syntax_base;
8 fra.me.line = 31;
9 fra.me.meth = LOCATE_syntax___syntax_base___MMSrcModule___clear_ast;
10 fra.me.has_broke = 0;
11 fra.me.REG_size = 1;
12 fra.me.nitni_local_ref_head = NULL;
13 fra.me.REG[0] = NIT_NULL;
14 fra.me.REG[0] = p0;
15 /* syntax/syntax_base.nit:32 */
16 ATTR_syntax___syntax_base___MMSrcModule____nodes(fra.me.REG[0]) = NIT_NULL;
17 stack_frame_head = fra.me.prev;
18 return;
19 }
20 val_t syntax___syntax_base___MMSrcModule___node(val_t p0){
21 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
22 val_t REGB0;
23 val_t tmp;
24 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25 fra.me.file = LOCATE_syntax___syntax_base;
26 fra.me.line = 34;
27 fra.me.meth = LOCATE_syntax___syntax_base___MMSrcModule___node;
28 fra.me.has_broke = 0;
29 fra.me.REG_size = 2;
30 fra.me.nitni_local_ref_head = NULL;
31 fra.me.REG[0] = NIT_NULL;
32 fra.me.REG[1] = NIT_NULL;
33 fra.me.REG[0] = p0;
34 /* syntax/syntax_base.nit:34 */
35 fra.me.REG[1] = fra.me.REG[0];
36 /* syntax/syntax_base.nit:35 */
37 fra.me.REG[1] = CALL_syntax___syntax_base___MMModule___nodes(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[1]);
38 REGB0 = TAG_Bool((fra.me.REG[1]!=NIT_NULL) && VAL_ISA(fra.me.REG[1], COLOR_parser___parser_nodes___AModule, ID_parser___parser_nodes___AModule)) /*cast AModule*/;
39 if (UNTAG_Bool(REGB0)) {
40 } else {
41 nit_abort("Cast failed", NULL, LOCATE_syntax___syntax_base, 35);
42 }
43 goto label1;
44 label1: while(0);
45 stack_frame_head = fra.me.prev;
46 return fra.me.REG[1];
47 }
48 val_t syntax___syntax_base___MMSrcModule___src_local_classes(val_t p0){
49 struct {struct stack_frame_t me;} fra;
50 val_t REGB0;
51 val_t tmp;
52 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53 fra.me.file = LOCATE_syntax___syntax_base;
54 fra.me.line = 37;
55 fra.me.meth = LOCATE_syntax___syntax_base___MMSrcModule___src_local_classes;
56 fra.me.has_broke = 0;
57 fra.me.REG_size = 1;
58 fra.me.nitni_local_ref_head = NULL;
59 fra.me.REG[0] = NIT_NULL;
60 fra.me.REG[0] = p0;
61 /* syntax/syntax_base.nit:37 */
62 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___MMSrcModule____src_local_classes(fra.me.REG[0])!=NIT_NULL);
63 if (UNTAG_Bool(REGB0)) {
64 } else {
65 nit_abort("Uninitialized attribute %s", "_src_local_classes", LOCATE_syntax___syntax_base, 37);
66 }
67 fra.me.REG[0] = ATTR_syntax___syntax_base___MMSrcModule____src_local_classes(fra.me.REG[0]);
68 stack_frame_head = fra.me.prev;
69 return fra.me.REG[0];
70 }
71 void syntax___syntax_base___MMSrcModule___init(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, int* init_table){
72 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___syntax_base___MMSrcModule].i;
73 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
74 val_t tmp;
75 if (init_table[itpos0]) return;
76 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
77 fra.me.file = LOCATE_syntax___syntax_base;
78 fra.me.line = 40;
79 fra.me.meth = LOCATE_syntax___syntax_base___MMSrcModule___init;
80 fra.me.has_broke = 0;
81 fra.me.REG_size = 7;
82 fra.me.nitni_local_ref_head = NULL;
83 fra.me.REG[0] = NIT_NULL;
84 fra.me.REG[1] = NIT_NULL;
85 fra.me.REG[2] = NIT_NULL;
86 fra.me.REG[3] = NIT_NULL;
87 fra.me.REG[4] = NIT_NULL;
88 fra.me.REG[5] = NIT_NULL;
89 fra.me.REG[6] = NIT_NULL;
90 fra.me.REG[0] = p0;
91 fra.me.REG[1] = p1;
92 fra.me.REG[2] = p2;
93 fra.me.REG[3] = p3;
94 fra.me.REG[4] = p4;
95 fra.me.REG[5] = p5;
96 /* syntax/syntax_base.nit:40 */
97 fra.me.REG[6] = fra.me.REG[0];
98 /* syntax/syntax_base.nit:42 */
99 CALL_metamodel___abstractmetamodel___MMModule___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3], fra.me.REG[1], fra.me.REG[5], init_table);
100 /* syntax/syntax_base.nit:43 */
101 CALL_syntax___syntax_base___MMModule___nodes__eq(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[6], fra.me.REG[2]);
102 /* syntax/syntax_base.nit:44 */
103 fra.me.REG[2] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
104 ATTR_syntax___syntax_base___MMSrcModule____src_local_classes(fra.me.REG[6]) = fra.me.REG[2];
105 stack_frame_head = fra.me.prev;
106 init_table[itpos0] = 1;
107 return;
108 }
109 val_t syntax___syntax_base___MMSrcModule___nodes(val_t p0, val_t p1){
110 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
111 val_t REGB0;
112 val_t REGB1;
113 val_t tmp;
114 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115 fra.me.file = LOCATE_syntax___syntax_base;
116 fra.me.line = 47;
117 fra.me.meth = LOCATE_syntax___syntax_base___MMSrcModule___nodes;
118 fra.me.has_broke = 0;
119 fra.me.REG_size = 3;
120 fra.me.nitni_local_ref_head = NULL;
121 fra.me.REG[0] = NIT_NULL;
122 fra.me.REG[1] = NIT_NULL;
123 fra.me.REG[2] = NIT_NULL;
124 fra.me.REG[0] = p0;
125 fra.me.REG[1] = p1;
126 /* syntax/syntax_base.nit:49 */
127 fra.me.REG[2] = ATTR_syntax___syntax_base___MMSrcModule____nodes(fra.me.REG[0]);
128 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
129 if (UNTAG_Bool(REGB0)) {
130 } else {
131 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
132 if (UNTAG_Bool(REGB1)) {
133 REGB1 = TAG_Bool(false);
134 REGB0 = REGB1;
135 } else {
136 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
137 REGB0 = REGB1;
138 }
139 }
140 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
141 if (UNTAG_Bool(REGB0)) {
142 fra.me.REG[2] = ATTR_syntax___syntax_base___MMSrcModule____nodes(fra.me.REG[0]);
143 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
144 if (UNTAG_Bool(REGB0)) {
145 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 49);
146 }
147 REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
148 } else {
149 REGB1 = TAG_Bool(false);
150 REGB0 = REGB1;
151 }
152 if (UNTAG_Bool(REGB0)) {
153 fra.me.REG[0] = ATTR_syntax___syntax_base___MMSrcModule____nodes(fra.me.REG[0]);
154 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
155 if (UNTAG_Bool(REGB0)) {
156 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 49);
157 }
158 fra.me.REG[1] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
159 goto label1;
160 } else {
161 fra.me.REG[1] = NIT_NULL;
162 goto label1;
163 }
164 label1: while(0);
165 stack_frame_head = fra.me.prev;
166 return fra.me.REG[1];
167 }
168 void syntax___syntax_base___MMSrcModule___nodes__eq(val_t p0, val_t p1, val_t p2){
169 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
170 val_t REGB0;
171 val_t tmp;
172 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
173 fra.me.file = LOCATE_syntax___syntax_base;
174 fra.me.line = 51;
175 fra.me.meth = LOCATE_syntax___syntax_base___MMSrcModule___nodes__eq;
176 fra.me.has_broke = 0;
177 fra.me.REG_size = 4;
178 fra.me.nitni_local_ref_head = NULL;
179 fra.me.REG[0] = NIT_NULL;
180 fra.me.REG[1] = NIT_NULL;
181 fra.me.REG[2] = NIT_NULL;
182 fra.me.REG[3] = NIT_NULL;
183 fra.me.REG[0] = p0;
184 fra.me.REG[1] = p1;
185 fra.me.REG[2] = p2;
186 /* syntax/syntax_base.nit:53 */
187 fra.me.REG[3] = ATTR_syntax___syntax_base___MMSrcModule____nodes(fra.me.REG[0]);
188 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
189 if (UNTAG_Bool(REGB0)) {
190 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 53);
191 }
192 REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
193 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
194 if (UNTAG_Bool(REGB0)) {
195 } else {
196 nit_abort("Assert failed", NULL, LOCATE_syntax___syntax_base, 53);
197 }
198 /* syntax/syntax_base.nit:54 */
199 fra.me.REG[0] = ATTR_syntax___syntax_base___MMSrcModule____nodes(fra.me.REG[0]);
200 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
201 if (UNTAG_Bool(REGB0)) {
202 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 54);
203 }
204 CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]);
205 stack_frame_head = fra.me.prev;
206 return;
207 }
208 val_t syntax___syntax_base___MMModule___nodes(val_t p0, val_t p1){
209 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
210 val_t tmp;
211 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
212 fra.me.file = LOCATE_syntax___syntax_base;
213 fra.me.line = 59;
214 fra.me.meth = LOCATE_syntax___syntax_base___MMModule___nodes;
215 fra.me.has_broke = 0;
216 fra.me.REG_size = 2;
217 fra.me.nitni_local_ref_head = NULL;
218 fra.me.REG[0] = NIT_NULL;
219 fra.me.REG[1] = NIT_NULL;
220 fra.me.REG[0] = p0;
221 fra.me.REG[1] = p1;
222 /* syntax/syntax_base.nit:60 */
223 fra.me.REG[1] = NIT_NULL;
224 goto label1;
225 label1: while(0);
226 stack_frame_head = fra.me.prev;
227 return fra.me.REG[1];
228 }
229 void syntax___syntax_base___MMModule___nodes__eq(val_t p0, val_t p1, val_t p2){
230 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
231 val_t tmp;
232 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
233 fra.me.file = LOCATE_syntax___syntax_base;
234 fra.me.line = 61;
235 fra.me.meth = LOCATE_syntax___syntax_base___MMModule___nodes__eq;
236 fra.me.has_broke = 0;
237 fra.me.REG_size = 3;
238 fra.me.nitni_local_ref_head = NULL;
239 fra.me.REG[0] = NIT_NULL;
240 fra.me.REG[1] = NIT_NULL;
241 fra.me.REG[2] = NIT_NULL;
242 fra.me.REG[0] = p0;
243 fra.me.REG[1] = p1;
244 fra.me.REG[2] = p2;
245 /* syntax/syntax_base.nit:62 */
246 nit_abort("Aborted", NULL, LOCATE_syntax___syntax_base, 62);
247 stack_frame_head = fra.me.prev;
248 return;
249 }
250 val_t syntax___syntax_base___MMGlobalClass___check_visibility(val_t p0, val_t p1, val_t p2, val_t p3){
251 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
252 val_t REGB0;
253 val_t REGB1;
254 val_t REGB2;
255 val_t REGB3;
256 val_t tmp;
257 static val_t once_value_2; /* Once value */
258 static val_t once_value_3; /* Once value */
259 static val_t once_value_4; /* Once value */
260 static val_t once_value_5; /* Once value */
261 static val_t once_value_6; /* Once value */
262 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
263 fra.me.file = LOCATE_syntax___syntax_base;
264 fra.me.line = 66;
265 fra.me.meth = LOCATE_syntax___syntax_base___MMGlobalClass___check_visibility;
266 fra.me.has_broke = 0;
267 fra.me.REG_size = 6;
268 fra.me.nitni_local_ref_head = NULL;
269 fra.me.REG[0] = NIT_NULL;
270 fra.me.REG[1] = NIT_NULL;
271 fra.me.REG[2] = NIT_NULL;
272 fra.me.REG[3] = NIT_NULL;
273 fra.me.REG[4] = NIT_NULL;
274 fra.me.REG[5] = NIT_NULL;
275 fra.me.REG[0] = p0;
276 fra.me.REG[1] = p1;
277 fra.me.REG[2] = p2;
278 fra.me.REG[3] = p3;
279 /* syntax/syntax_base.nit:68 */
280 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra.me.REG[0])(fra.me.REG[0]);
281 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra.me.REG[4])(fra.me.REG[4]);
282 /* syntax/syntax_base.nit:69 */
283 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[4], COLOR_syntax___syntax_base___MMSrcModule, ID_syntax___syntax_base___MMSrcModule)) /*cast MMSrcModule*/;
284 if (UNTAG_Bool(REGB0)) {
285 } else {
286 nit_abort("Assert failed", NULL, LOCATE_syntax___syntax_base, 69);
287 }
288 /* syntax/syntax_base.nit:70 */
289 REGB0 = CALL_metamodel___abstractmetamodel___MMModule___visibility_for(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
290 /* syntax/syntax_base.nit:71 */
291 REGB1 = TAG_Int(3);
292 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
293 if (UNTAG_Bool(REGB2)) {
294 } else {
295 /* ../lib/standard/kernel.nit:227 */
296 REGB1 = TAG_Bool((REGB0)==(REGB1));
297 /* syntax/syntax_base.nit:71 */
298 REGB2 = REGB1;
299 }
300 if (UNTAG_Bool(REGB2)) {
301 /* syntax/syntax_base.nit:72 */
302 REGB2 = TAG_Bool(true);
303 goto label1;
304 } else {
305 /* syntax/syntax_base.nit:73 */
306 REGB1 = TAG_Int(0);
307 REGB3 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
308 if (UNTAG_Bool(REGB3)) {
309 } else {
310 /* ../lib/standard/kernel.nit:227 */
311 REGB1 = TAG_Bool((REGB0)==(REGB1));
312 /* syntax/syntax_base.nit:73 */
313 REGB3 = REGB1;
314 }
315 if (UNTAG_Bool(REGB3)) {
316 /* syntax/syntax_base.nit:74 */
317 REGB3 = TAG_Int(5);
318 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3);
319 if (!once_value_2) {
320 fra.me.REG[5] = BOX_NativeString("Visibility error: Class ");
321 REGB3 = TAG_Int(24);
322 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB3);
323 once_value_2 = fra.me.REG[5];
324 register_static_object(&once_value_2);
325 } else fra.me.REG[5] = once_value_2;
326 fra.me.REG[5] = fra.me.REG[5];
327 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
328 fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
329 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
330 if (!once_value_3) {
331 fra.me.REG[5] = BOX_NativeString(" comes from the hidden module ");
332 REGB3 = TAG_Int(30);
333 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB3);
334 once_value_3 = fra.me.REG[5];
335 register_static_object(&once_value_3);
336 } else fra.me.REG[5] = once_value_3;
337 fra.me.REG[5] = fra.me.REG[5];
338 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
339 fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
340 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
341 if (!once_value_4) {
342 fra.me.REG[4] = BOX_NativeString(".");
343 REGB3 = TAG_Int(1);
344 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB3);
345 once_value_4 = fra.me.REG[4];
346 register_static_object(&once_value_4);
347 } else fra.me.REG[4] = once_value_4;
348 fra.me.REG[4] = fra.me.REG[4];
349 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
350 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
351 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[3]);
352 /* syntax/syntax_base.nit:75 */
353 REGB3 = TAG_Bool(false);
354 REGB2 = REGB3;
355 goto label1;
356 } else {
357 /* syntax/syntax_base.nit:76 */
358 REGB3 = CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra.me.REG[0])(fra.me.REG[0]);
359 REGB1 = TAG_Int(3);
360 REGB0 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3), VTID_standard___kernel___Comparable___OTHER(REGB3))) /*cast OTHER*/;
361 if (UNTAG_Bool(REGB0)) {
362 } else {
363 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
364 }
365 /* ../lib/standard/kernel.nit:233 */
366 REGB1 = TAG_Bool(UNTAG_Int(REGB3)>=UNTAG_Int(REGB1));
367 /* syntax/syntax_base.nit:76 */
368 if (UNTAG_Bool(REGB1)) {
369 /* syntax/syntax_base.nit:77 */
370 REGB1 = TAG_Int(3);
371 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
372 if (!once_value_5) {
373 fra.me.REG[4] = BOX_NativeString("Visibility error: Class ");
374 REGB1 = TAG_Int(24);
375 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
376 once_value_5 = fra.me.REG[4];
377 register_static_object(&once_value_5);
378 } else fra.me.REG[4] = once_value_5;
379 fra.me.REG[4] = fra.me.REG[4];
380 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
381 fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
382 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
383 if (!once_value_6) {
384 fra.me.REG[0] = BOX_NativeString(" is private.");
385 REGB1 = TAG_Int(12);
386 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB1);
387 once_value_6 = fra.me.REG[0];
388 register_static_object(&once_value_6);
389 } else fra.me.REG[0] = once_value_6;
390 fra.me.REG[0] = fra.me.REG[0];
391 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
392 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
393 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[3]);
394 /* syntax/syntax_base.nit:78 */
395 REGB1 = TAG_Bool(false);
396 REGB2 = REGB1;
397 goto label1;
398 }
399 }
400 }
401 /* syntax/syntax_base.nit:80 */
402 REGB1 = TAG_Bool(true);
403 REGB2 = REGB1;
404 goto label1;
405 label1: while(0);
406 stack_frame_head = fra.me.prev;
407 return REGB2;
408 }
409 val_t syntax___syntax_base___MMSrcLocalClass___node(val_t p0){
410 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
411 val_t REGB0;
412 val_t tmp;
413 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
414 fra.me.file = LOCATE_syntax___syntax_base;
415 fra.me.line = 87;
416 fra.me.meth = LOCATE_syntax___syntax_base___MMSrcLocalClass___node;
417 fra.me.has_broke = 0;
418 fra.me.REG_size = 3;
419 fra.me.nitni_local_ref_head = NULL;
420 fra.me.REG[0] = NIT_NULL;
421 fra.me.REG[1] = NIT_NULL;
422 fra.me.REG[2] = NIT_NULL;
423 fra.me.REG[0] = p0;
424 /* syntax/syntax_base.nit:87 */
425 fra.me.REG[1] = fra.me.REG[0];
426 /* syntax/syntax_base.nit:88 */
427 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra.me.REG[1])(fra.me.REG[1]);
428 fra.me.REG[1] = CALL_syntax___syntax_base___MMModule___nodes(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
429 REGB0 = TAG_Bool((fra.me.REG[1]==NIT_NULL) || VAL_ISA(fra.me.REG[1], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
430 if (UNTAG_Bool(REGB0)) {
431 } else {
432 nit_abort("Cast failed", NULL, LOCATE_syntax___syntax_base, 88);
433 }
434 goto label1;
435 label1: while(0);
436 stack_frame_head = fra.me.prev;
437 return fra.me.REG[1];
438 }
439 val_t syntax___syntax_base___MMSrcLocalClass___formal_dict(val_t p0){
440 struct {struct stack_frame_t me;} fra;
441 val_t REGB0;
442 val_t tmp;
443 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
444 fra.me.file = LOCATE_syntax___syntax_base;
445 fra.me.line = 90;
446 fra.me.meth = LOCATE_syntax___syntax_base___MMSrcLocalClass___formal_dict;
447 fra.me.has_broke = 0;
448 fra.me.REG_size = 1;
449 fra.me.nitni_local_ref_head = NULL;
450 fra.me.REG[0] = NIT_NULL;
451 fra.me.REG[0] = p0;
452 /* syntax/syntax_base.nit:90 */
453 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___MMSrcLocalClass____formal_dict(fra.me.REG[0])!=NIT_NULL);
454 if (UNTAG_Bool(REGB0)) {
455 } else {
456 nit_abort("Uninitialized attribute %s", "_formal_dict", LOCATE_syntax___syntax_base, 90);
457 }
458 fra.me.REG[0] = ATTR_syntax___syntax_base___MMSrcLocalClass____formal_dict(fra.me.REG[0]);
459 stack_frame_head = fra.me.prev;
460 return fra.me.REG[0];
461 }
462 val_t syntax___syntax_base___MMSrcLocalClass___src_local_properties(val_t p0){
463 struct {struct stack_frame_t me;} fra;
464 val_t REGB0;
465 val_t tmp;
466 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
467 fra.me.file = LOCATE_syntax___syntax_base;
468 fra.me.line = 93;
469 fra.me.meth = LOCATE_syntax___syntax_base___MMSrcLocalClass___src_local_properties;
470 fra.me.has_broke = 0;
471 fra.me.REG_size = 1;
472 fra.me.nitni_local_ref_head = NULL;
473 fra.me.REG[0] = NIT_NULL;
474 fra.me.REG[0] = p0;
475 /* syntax/syntax_base.nit:93 */
476 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___MMSrcLocalClass____src_local_properties(fra.me.REG[0])!=NIT_NULL);
477 if (UNTAG_Bool(REGB0)) {
478 } else {
479 nit_abort("Uninitialized attribute %s", "_src_local_properties", LOCATE_syntax___syntax_base, 93);
480 }
481 fra.me.REG[0] = ATTR_syntax___syntax_base___MMSrcLocalClass____src_local_properties(fra.me.REG[0]);
482 stack_frame_head = fra.me.prev;
483 return fra.me.REG[0];
484 }
485 void syntax___syntax_base___MMSrcLocalClass___init(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, int* init_table){
486 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___syntax_base___MMSrcLocalClass].i;
487 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
488 val_t REGB0;
489 val_t tmp;
490 if (init_table[itpos1]) return;
491 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
492 fra.me.file = LOCATE_syntax___syntax_base;
493 fra.me.line = 96;
494 fra.me.meth = LOCATE_syntax___syntax_base___MMSrcLocalClass___init;
495 fra.me.has_broke = 0;
496 fra.me.REG_size = 5;
497 fra.me.nitni_local_ref_head = NULL;
498 fra.me.REG[0] = NIT_NULL;
499 fra.me.REG[1] = NIT_NULL;
500 fra.me.REG[2] = NIT_NULL;
501 fra.me.REG[3] = NIT_NULL;
502 fra.me.REG[4] = NIT_NULL;
503 fra.me.REG[0] = p0;
504 fra.me.REG[1] = p1;
505 fra.me.REG[2] = p2;
506 fra.me.REG[3] = p3;
507 REGB0 = p4;
508 /* syntax/syntax_base.nit:96 */
509 fra.me.REG[4] = fra.me.REG[0];
510 /* syntax/syntax_base.nit:98 */
511 CALL_metamodel___abstractmetamodel___MMLocalClass___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], REGB0, init_table);
512 /* syntax/syntax_base.nit:99 */
513 CALL_syntax___syntax_base___MMModule___nodes__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4], fra.me.REG[3]);
514 /* syntax/syntax_base.nit:100 */
515 fra.me.REG[3] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
516 ATTR_syntax___syntax_base___MMSrcLocalClass____src_local_properties(fra.me.REG[4]) = fra.me.REG[3];
517 stack_frame_head = fra.me.prev;
518 init_table[itpos1] = 1;
519 return;
520 }
521 val_t syntax___syntax_base___MMGlobalProperty___check_visibility(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4){
522 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
523 val_t REGB0;
524 val_t REGB1;
525 val_t REGB2;
526 val_t REGB3;
527 val_t REGB4;
528 val_t tmp;
529 static val_t once_value_2; /* Once value */
530 static val_t once_value_3; /* Once value */
531 static val_t once_value_4; /* Once value */
532 static val_t once_value_5; /* Once value */
533 static val_t once_value_6; /* Once value */
534 static val_t once_value_7; /* Once value */
535 static val_t once_value_8; /* Once value */
536 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
537 fra.me.file = LOCATE_syntax___syntax_base;
538 fra.me.line = 105;
539 fra.me.meth = LOCATE_syntax___syntax_base___MMGlobalProperty___check_visibility;
540 fra.me.has_broke = 0;
541 fra.me.REG_size = 6;
542 fra.me.nitni_local_ref_head = NULL;
543 fra.me.REG[0] = NIT_NULL;
544 fra.me.REG[1] = NIT_NULL;
545 fra.me.REG[2] = NIT_NULL;
546 fra.me.REG[3] = NIT_NULL;
547 fra.me.REG[4] = NIT_NULL;
548 fra.me.REG[5] = NIT_NULL;
549 fra.me.REG[0] = p0;
550 fra.me.REG[1] = p1;
551 fra.me.REG[2] = p2;
552 fra.me.REG[3] = p3;
553 REGB0 = p4;
554 /* syntax/syntax_base.nit:107 */
555 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
556 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra.me.REG[4])(fra.me.REG[4]);
557 /* syntax/syntax_base.nit:108 */
558 REGB1 = TAG_Bool(VAL_ISA(fra.me.REG[4], COLOR_syntax___syntax_base___MMSrcModule, ID_syntax___syntax_base___MMSrcModule)) /*cast MMSrcModule*/;
559 if (UNTAG_Bool(REGB1)) {
560 } else {
561 nit_abort("Assert failed", NULL, LOCATE_syntax___syntax_base, 108);
562 }
563 /* syntax/syntax_base.nit:109 */
564 REGB1 = CALL_metamodel___abstractmetamodel___MMModule___visibility_for(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
565 /* syntax/syntax_base.nit:110 */
566 REGB2 = TAG_Int(3);
567 REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2));
568 if (UNTAG_Bool(REGB3)) {
569 } else {
570 /* ../lib/standard/kernel.nit:227 */
571 REGB2 = TAG_Bool((REGB1)==(REGB2));
572 /* syntax/syntax_base.nit:110 */
573 REGB3 = REGB2;
574 }
575 if (UNTAG_Bool(REGB3)) {
576 /* syntax/syntax_base.nit:111 */
577 REGB3 = TAG_Bool(true);
578 goto label1;
579 } else {
580 /* syntax/syntax_base.nit:112 */
581 REGB2 = TAG_Int(0);
582 REGB4 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2));
583 if (UNTAG_Bool(REGB4)) {
584 } else {
585 /* ../lib/standard/kernel.nit:227 */
586 REGB2 = TAG_Bool((REGB1)==(REGB2));
587 /* syntax/syntax_base.nit:112 */
588 REGB4 = REGB2;
589 }
590 if (UNTAG_Bool(REGB4)) {
591 /* syntax/syntax_base.nit:114 */
592 REGB4 = TAG_Int(5);
593 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4);
594 if (!once_value_2) {
595 fra.me.REG[5] = BOX_NativeString("Visibility error: Property ");
596 REGB4 = TAG_Int(27);
597 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB4);
598 once_value_2 = fra.me.REG[5];
599 register_static_object(&once_value_2);
600 } else fra.me.REG[5] = once_value_2;
601 fra.me.REG[5] = fra.me.REG[5];
602 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
603 fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
604 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
605 if (!once_value_3) {
606 fra.me.REG[5] = BOX_NativeString(" comes from the hidden module ");
607 REGB4 = TAG_Int(30);
608 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB4);
609 once_value_3 = fra.me.REG[5];
610 register_static_object(&once_value_3);
611 } else fra.me.REG[5] = once_value_3;
612 fra.me.REG[5] = fra.me.REG[5];
613 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
614 fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
615 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
616 if (!once_value_4) {
617 fra.me.REG[4] = BOX_NativeString(".");
618 REGB4 = TAG_Int(1);
619 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB4);
620 once_value_4 = fra.me.REG[4];
621 register_static_object(&once_value_4);
622 } else fra.me.REG[4] = once_value_4;
623 fra.me.REG[4] = fra.me.REG[4];
624 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
625 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
626 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[3]);
627 /* syntax/syntax_base.nit:115 */
628 REGB4 = TAG_Bool(false);
629 REGB3 = REGB4;
630 goto label1;
631 } else {
632 /* syntax/syntax_base.nit:116 */
633 REGB4 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra.me.REG[0])(fra.me.REG[0]);
634 REGB2 = TAG_Int(3);
635 REGB1 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4), VTID_standard___kernel___Comparable___OTHER(REGB4))) /*cast OTHER*/;
636 if (UNTAG_Bool(REGB1)) {
637 } else {
638 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
639 }
640 /* ../lib/standard/kernel.nit:233 */
641 REGB2 = TAG_Bool(UNTAG_Int(REGB4)>=UNTAG_Int(REGB2));
642 /* syntax/syntax_base.nit:116 */
643 if (UNTAG_Bool(REGB2)) {
644 /* syntax/syntax_base.nit:117 */
645 REGB2 = TAG_Int(3);
646 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2);
647 if (!once_value_5) {
648 fra.me.REG[4] = BOX_NativeString("Visibility error: Property ");
649 REGB2 = TAG_Int(27);
650 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB2);
651 once_value_5 = fra.me.REG[4];
652 register_static_object(&once_value_5);
653 } else fra.me.REG[4] = once_value_5;
654 fra.me.REG[4] = fra.me.REG[4];
655 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
656 fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
657 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
658 if (!once_value_6) {
659 fra.me.REG[4] = BOX_NativeString(" is private.");
660 REGB2 = TAG_Int(12);
661 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB2);
662 once_value_6 = fra.me.REG[4];
663 register_static_object(&once_value_6);
664 } else fra.me.REG[4] = once_value_6;
665 fra.me.REG[4] = fra.me.REG[4];
666 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
667 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
668 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[3]);
669 /* syntax/syntax_base.nit:118 */
670 REGB2 = TAG_Bool(false);
671 REGB3 = REGB2;
672 goto label1;
673 } else {
674 /* syntax/syntax_base.nit:119 */
675 REGB2 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra.me.REG[0])(fra.me.REG[0]);
676 REGB4 = TAG_Int(2);
677 REGB1 = TAG_Bool(VAL_ISA(REGB4, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
678 if (UNTAG_Bool(REGB1)) {
679 } else {
680 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
681 }
682 /* ../lib/standard/kernel.nit:233 */
683 REGB4 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB4));
684 /* syntax/syntax_base.nit:119 */
685 if (UNTAG_Bool(REGB4)) {
686 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
687 } else {
688 REGB4 = TAG_Bool(false);
689 REGB0 = REGB4;
690 }
691 if (UNTAG_Bool(REGB0)) {
692 /* syntax/syntax_base.nit:120 */
693 REGB0 = TAG_Int(3);
694 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
695 if (!once_value_7) {
696 fra.me.REG[4] = BOX_NativeString("Visibility error: Property ");
697 REGB0 = TAG_Int(27);
698 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
699 once_value_7 = fra.me.REG[4];
700 register_static_object(&once_value_7);
701 } else fra.me.REG[4] = once_value_7;
702 fra.me.REG[4] = fra.me.REG[4];
703 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
704 fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
705 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
706 if (!once_value_8) {
707 fra.me.REG[0] = BOX_NativeString(" is protected and can only acceded by self.");
708 REGB0 = TAG_Int(43);
709 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
710 once_value_8 = fra.me.REG[0];
711 register_static_object(&once_value_8);
712 } else fra.me.REG[0] = once_value_8;
713 fra.me.REG[0] = fra.me.REG[0];
714 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
715 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
716 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[3]);
717 /* syntax/syntax_base.nit:121 */
718 REGB0 = TAG_Bool(false);
719 REGB3 = REGB0;
720 goto label1;
721 }
722 }
723 }
724 }
725 /* syntax/syntax_base.nit:123 */
726 REGB0 = TAG_Bool(true);
727 REGB3 = REGB0;
728 goto label1;
729 label1: while(0);
730 stack_frame_head = fra.me.prev;
731 return REGB3;
732 }
733 val_t syntax___syntax_base___MMLocalProperty___node(val_t p0){
734 struct {struct stack_frame_t me;} fra;
735 val_t tmp;
736 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
737 fra.me.file = LOCATE_syntax___syntax_base;
738 fra.me.line = 128;
739 fra.me.meth = LOCATE_syntax___syntax_base___MMLocalProperty___node;
740 fra.me.has_broke = 0;
741 fra.me.REG_size = 1;
742 fra.me.nitni_local_ref_head = NULL;
743 fra.me.REG[0] = NIT_NULL;
744 fra.me.REG[0] = p0;
745 /* syntax/syntax_base.nit:129 */
746 fra.me.REG[0] = NIT_NULL;
747 goto label1;
748 label1: while(0);
749 stack_frame_head = fra.me.prev;
750 return fra.me.REG[0];
751 }
752 val_t syntax___syntax_base___MMLocalProperty___is_init(val_t p0){
753 struct {struct stack_frame_t me;} fra;
754 val_t REGB0;
755 val_t tmp;
756 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
757 fra.me.file = LOCATE_syntax___syntax_base;
758 fra.me.line = 131;
759 fra.me.meth = LOCATE_syntax___syntax_base___MMLocalProperty___is_init;
760 fra.me.has_broke = 0;
761 fra.me.REG_size = 1;
762 fra.me.nitni_local_ref_head = NULL;
763 fra.me.REG[0] = NIT_NULL;
764 fra.me.REG[0] = p0;
765 /* syntax/syntax_base.nit:132 */
766 REGB0 = TAG_Bool(false);
767 goto label1;
768 label1: while(0);
769 stack_frame_head = fra.me.prev;
770 return REGB0;
771 }
772 val_t syntax___syntax_base___MMSrcAttribute___node(val_t p0){
773 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
774 val_t REGB0;
775 val_t tmp;
776 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
777 fra.me.file = LOCATE_syntax___syntax_base;
778 fra.me.line = 138;
779 fra.me.meth = LOCATE_syntax___syntax_base___MMSrcAttribute___node;
780 fra.me.has_broke = 0;
781 fra.me.REG_size = 3;
782 fra.me.nitni_local_ref_head = NULL;
783 fra.me.REG[0] = NIT_NULL;
784 fra.me.REG[1] = NIT_NULL;
785 fra.me.REG[2] = NIT_NULL;
786 fra.me.REG[0] = p0;
787 /* syntax/syntax_base.nit:138 */
788 fra.me.REG[1] = fra.me.REG[0];
789 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___mmmodule(fra.me.REG[1])(fra.me.REG[1]);
790 fra.me.REG[1] = CALL_syntax___syntax_base___MMModule___nodes(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
791 REGB0 = TAG_Bool((fra.me.REG[1]==NIT_NULL) || VAL_ISA(fra.me.REG[1], COLOR_parser___parser_nodes___AAttrPropdef, ID_parser___parser_nodes___AAttrPropdef)) /*cast nullable AAttrPropdef*/;
792 if (UNTAG_Bool(REGB0)) {
793 } else {
794 nit_abort("Cast failed", NULL, LOCATE_syntax___syntax_base, 138);
795 }
796 goto label1;
797 label1: while(0);
798 stack_frame_head = fra.me.prev;
799 return fra.me.REG[1];
800 }
801 void syntax___syntax_base___MMSrcAttribute___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
802 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___syntax_base___MMSrcAttribute].i;
803 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
804 val_t tmp;
805 if (init_table[itpos2]) return;
806 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
807 fra.me.file = LOCATE_syntax___syntax_base;
808 fra.me.line = 139;
809 fra.me.meth = LOCATE_syntax___syntax_base___MMSrcAttribute___init;
810 fra.me.has_broke = 0;
811 fra.me.REG_size = 5;
812 fra.me.nitni_local_ref_head = NULL;
813 fra.me.REG[0] = NIT_NULL;
814 fra.me.REG[1] = NIT_NULL;
815 fra.me.REG[2] = NIT_NULL;
816 fra.me.REG[3] = NIT_NULL;
817 fra.me.REG[4] = NIT_NULL;
818 fra.me.REG[0] = p0;
819 fra.me.REG[1] = p1;
820 fra.me.REG[2] = p2;
821 fra.me.REG[3] = p3;
822 /* syntax/syntax_base.nit:139 */
823 fra.me.REG[4] = fra.me.REG[0];
824 /* syntax/syntax_base.nit:141 */
825 CALL_metamodel___abstractmetamodel___MMLocalProperty___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
826 /* syntax/syntax_base.nit:142 */
827 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra.me.REG[2])(fra.me.REG[2]);
828 CALL_syntax___syntax_base___MMModule___nodes__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4], fra.me.REG[3]);
829 stack_frame_head = fra.me.prev;
830 init_table[itpos2] = 1;
831 return;
832 }
833 val_t syntax___syntax_base___MMSrcMethod___is_intern(val_t p0){
834 struct {struct stack_frame_t me;} fra;
835 val_t REGB0;
836 val_t tmp;
837 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
838 fra.me.file = LOCATE_syntax___syntax_base;
839 fra.me.line = 149;
840 fra.me.meth = LOCATE_syntax___syntax_base___MMSrcMethod___is_intern;
841 fra.me.has_broke = 0;
842 fra.me.REG_size = 1;
843 fra.me.nitni_local_ref_head = NULL;
844 fra.me.REG[0] = NIT_NULL;
845 fra.me.REG[0] = p0;
846 /* syntax/syntax_base.nit:149 */
847 REGB0 = TAG_Bool(false);
848 goto label1;
849 label1: while(0);
850 stack_frame_head = fra.me.prev;
851 return REGB0;
852 }
853 val_t syntax___syntax_base___MMSrcMethod___is_extern(val_t p0){
854 struct {struct stack_frame_t me;} fra;
855 val_t REGB0;
856 val_t tmp;
857 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
858 fra.me.file = LOCATE_syntax___syntax_base;
859 fra.me.line = 150;
860 fra.me.meth = LOCATE_syntax___syntax_base___MMSrcMethod___is_extern;
861 fra.me.has_broke = 0;
862 fra.me.REG_size = 1;
863 fra.me.nitni_local_ref_head = NULL;
864 fra.me.REG[0] = NIT_NULL;
865 fra.me.REG[0] = p0;
866 /* syntax/syntax_base.nit:150 */
867 REGB0 = TAG_Bool(false);
868 goto label1;
869 label1: while(0);
870 stack_frame_head = fra.me.prev;
871 return REGB0;
872 }
873 val_t syntax___syntax_base___MMSrcMethod___is_abstract(val_t p0){
874 struct {struct stack_frame_t me;} fra;
875 val_t REGB0;
876 val_t tmp;
877 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
878 fra.me.file = LOCATE_syntax___syntax_base;
879 fra.me.line = 151;
880 fra.me.meth = LOCATE_syntax___syntax_base___MMSrcMethod___is_abstract;
881 fra.me.has_broke = 0;
882 fra.me.REG_size = 1;
883 fra.me.nitni_local_ref_head = NULL;
884 fra.me.REG[0] = NIT_NULL;
885 fra.me.REG[0] = p0;
886 /* syntax/syntax_base.nit:151 */
887 REGB0 = TAG_Bool(false);
888 goto label1;
889 label1: while(0);
890 stack_frame_head = fra.me.prev;
891 return REGB0;
892 }
893 val_t syntax___syntax_base___MMSrcMethod___extern_name(val_t p0){
894 struct {struct stack_frame_t me;} fra;
895 val_t tmp;
896 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
897 fra.me.file = LOCATE_syntax___syntax_base;
898 fra.me.line = 152;
899 fra.me.meth = LOCATE_syntax___syntax_base___MMSrcMethod___extern_name;
900 fra.me.has_broke = 0;
901 fra.me.REG_size = 1;
902 fra.me.nitni_local_ref_head = NULL;
903 fra.me.REG[0] = NIT_NULL;
904 fra.me.REG[0] = p0;
905 /* syntax/syntax_base.nit:152 */
906 fra.me.REG[0] = NIT_NULL;
907 goto label1;
908 label1: while(0);
909 stack_frame_head = fra.me.prev;
910 return fra.me.REG[0];
911 }
912 val_t syntax___syntax_base___MMAttrImplementationMethod___node(val_t p0){
913 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
914 val_t REGB0;
915 val_t tmp;
916 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
917 fra.me.file = LOCATE_syntax___syntax_base;
918 fra.me.line = 158;
919 fra.me.meth = LOCATE_syntax___syntax_base___MMAttrImplementationMethod___node;
920 fra.me.has_broke = 0;
921 fra.me.REG_size = 3;
922 fra.me.nitni_local_ref_head = NULL;
923 fra.me.REG[0] = NIT_NULL;
924 fra.me.REG[1] = NIT_NULL;
925 fra.me.REG[2] = NIT_NULL;
926 fra.me.REG[0] = p0;
927 /* syntax/syntax_base.nit:158 */
928 fra.me.REG[1] = fra.me.REG[0];
929 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___mmmodule(fra.me.REG[1])(fra.me.REG[1]);
930 fra.me.REG[1] = CALL_syntax___syntax_base___MMModule___nodes(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
931 REGB0 = TAG_Bool((fra.me.REG[1]==NIT_NULL) || VAL_ISA(fra.me.REG[1], COLOR_parser___parser_nodes___AAttrPropdef, ID_parser___parser_nodes___AAttrPropdef)) /*cast nullable AAttrPropdef*/;
932 if (UNTAG_Bool(REGB0)) {
933 } else {
934 nit_abort("Cast failed", NULL, LOCATE_syntax___syntax_base, 158);
935 }
936 goto label1;
937 label1: while(0);
938 stack_frame_head = fra.me.prev;
939 return fra.me.REG[1];
940 }
941 void syntax___syntax_base___MMAttrImplementationMethod___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
942 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___syntax_base___MMAttrImplementationMethod].i;
943 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
944 val_t tmp;
945 if (init_table[itpos3]) return;
946 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
947 fra.me.file = LOCATE_syntax___syntax_base;
948 fra.me.line = 159;
949 fra.me.meth = LOCATE_syntax___syntax_base___MMAttrImplementationMethod___init;
950 fra.me.has_broke = 0;
951 fra.me.REG_size = 5;
952 fra.me.nitni_local_ref_head = NULL;
953 fra.me.REG[0] = NIT_NULL;
954 fra.me.REG[1] = NIT_NULL;
955 fra.me.REG[2] = NIT_NULL;
956 fra.me.REG[3] = NIT_NULL;
957 fra.me.REG[4] = NIT_NULL;
958 fra.me.REG[0] = p0;
959 fra.me.REG[1] = p1;
960 fra.me.REG[2] = p2;
961 fra.me.REG[3] = p3;
962 /* syntax/syntax_base.nit:159 */
963 fra.me.REG[4] = fra.me.REG[0];
964 /* syntax/syntax_base.nit:161 */
965 CALL_metamodel___abstractmetamodel___MMLocalProperty___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
966 /* syntax/syntax_base.nit:162 */
967 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra.me.REG[2])(fra.me.REG[2]);
968 CALL_syntax___syntax_base___MMModule___nodes__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4], fra.me.REG[3]);
969 stack_frame_head = fra.me.prev;
970 init_table[itpos3] = 1;
971 return;
972 }
973 void syntax___syntax_base___MMReadImplementationMethod___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
974 int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___syntax_base___MMReadImplementationMethod].i;
975 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
976 val_t tmp;
977 if (init_table[itpos4]) return;
978 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
979 fra.me.file = LOCATE_syntax___syntax_base;
980 fra.me.line = 169;
981 fra.me.meth = LOCATE_syntax___syntax_base___MMReadImplementationMethod___init;
982 fra.me.has_broke = 0;
983 fra.me.REG_size = 4;
984 fra.me.nitni_local_ref_head = NULL;
985 fra.me.REG[0] = NIT_NULL;
986 fra.me.REG[1] = NIT_NULL;
987 fra.me.REG[2] = NIT_NULL;
988 fra.me.REG[3] = NIT_NULL;
989 fra.me.REG[0] = p0;
990 fra.me.REG[1] = p1;
991 fra.me.REG[2] = p2;
992 fra.me.REG[3] = p3;
993 /* syntax/syntax_base.nit:171 */
994 CALL_syntax___syntax_base___MMAttrImplementationMethod___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], fra.me.REG[3], init_table);
995 stack_frame_head = fra.me.prev;
996 init_table[itpos4] = 1;
997 return;
998 }
999 void syntax___syntax_base___MMWriteImplementationMethod___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
1000 int itpos5 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___syntax_base___MMWriteImplementationMethod].i;
1001 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1002 val_t tmp;
1003 if (init_table[itpos5]) return;
1004 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1005 fra.me.file = LOCATE_syntax___syntax_base;
1006 fra.me.line = 178;
1007 fra.me.meth = LOCATE_syntax___syntax_base___MMWriteImplementationMethod___init;
1008 fra.me.has_broke = 0;
1009 fra.me.REG_size = 4;
1010 fra.me.nitni_local_ref_head = NULL;
1011 fra.me.REG[0] = NIT_NULL;
1012 fra.me.REG[1] = NIT_NULL;
1013 fra.me.REG[2] = NIT_NULL;
1014 fra.me.REG[3] = NIT_NULL;
1015 fra.me.REG[0] = p0;
1016 fra.me.REG[1] = p1;
1017 fra.me.REG[2] = p2;
1018 fra.me.REG[3] = p3;
1019 /* syntax/syntax_base.nit:180 */
1020 CALL_syntax___syntax_base___MMAttrImplementationMethod___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], fra.me.REG[3], init_table);
1021 stack_frame_head = fra.me.prev;
1022 init_table[itpos5] = 1;
1023 return;
1024 }
1025 val_t syntax___syntax_base___MMMethSrcMethod___is_init(val_t p0){
1026 struct {struct stack_frame_t me;} fra;
1027 val_t REGB0;
1028 val_t tmp;
1029 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1030 fra.me.file = LOCATE_syntax___syntax_base;
1031 fra.me.line = 187;
1032 fra.me.meth = LOCATE_syntax___syntax_base___MMMethSrcMethod___is_init;
1033 fra.me.has_broke = 0;
1034 fra.me.REG_size = 1;
1035 fra.me.nitni_local_ref_head = NULL;
1036 fra.me.REG[0] = NIT_NULL;
1037 fra.me.REG[0] = p0;
1038 /* syntax/syntax_base.nit:187 */
1039 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___MMMethSrcMethod____is_init(fra.me.REG[0])!=NIT_NULL);
1040 if (UNTAG_Bool(REGB0)) {
1041 } else {
1042 nit_abort("Uninitialized attribute %s", "_is_init", LOCATE_syntax___syntax_base, 187);
1043 }
1044 REGB0 = ATTR_syntax___syntax_base___MMMethSrcMethod____is_init(fra.me.REG[0]);
1045 stack_frame_head = fra.me.prev;
1046 return REGB0;
1047 }
1048 val_t syntax___syntax_base___MMMethSrcMethod___is_intern(val_t p0){
1049 struct {struct stack_frame_t me;} fra;
1050 val_t REGB0;
1051 val_t tmp;
1052 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1053 fra.me.file = LOCATE_syntax___syntax_base;
1054 fra.me.line = 188;
1055 fra.me.meth = LOCATE_syntax___syntax_base___MMMethSrcMethod___is_intern;
1056 fra.me.has_broke = 0;
1057 fra.me.REG_size = 1;
1058 fra.me.nitni_local_ref_head = NULL;
1059 fra.me.REG[0] = NIT_NULL;
1060 fra.me.REG[0] = p0;
1061 /* syntax/syntax_base.nit:188 */
1062 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___MMMethSrcMethod____is_intern(fra.me.REG[0])!=NIT_NULL);
1063 if (UNTAG_Bool(REGB0)) {
1064 } else {
1065 nit_abort("Uninitialized attribute %s", "_is_intern", LOCATE_syntax___syntax_base, 188);
1066 }
1067 REGB0 = ATTR_syntax___syntax_base___MMMethSrcMethod____is_intern(fra.me.REG[0]);
1068 stack_frame_head = fra.me.prev;
1069 return REGB0;
1070 }
1071 val_t syntax___syntax_base___MMMethSrcMethod___is_extern(val_t p0){
1072 struct {struct stack_frame_t me;} fra;
1073 val_t REGB0;
1074 val_t tmp;
1075 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1076 fra.me.file = LOCATE_syntax___syntax_base;
1077 fra.me.line = 189;
1078 fra.me.meth = LOCATE_syntax___syntax_base___MMMethSrcMethod___is_extern;
1079 fra.me.has_broke = 0;
1080 fra.me.REG_size = 1;
1081 fra.me.nitni_local_ref_head = NULL;
1082 fra.me.REG[0] = NIT_NULL;
1083 fra.me.REG[0] = p0;
1084 /* syntax/syntax_base.nit:189 */
1085 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___MMMethSrcMethod____is_extern(fra.me.REG[0])!=NIT_NULL);
1086 if (UNTAG_Bool(REGB0)) {
1087 } else {
1088 nit_abort("Uninitialized attribute %s", "_is_extern", LOCATE_syntax___syntax_base, 189);
1089 }
1090 REGB0 = ATTR_syntax___syntax_base___MMMethSrcMethod____is_extern(fra.me.REG[0]);
1091 stack_frame_head = fra.me.prev;
1092 return REGB0;
1093 }
1094 val_t syntax___syntax_base___MMMethSrcMethod___is_abstract(val_t p0){
1095 struct {struct stack_frame_t me;} fra;
1096 val_t REGB0;
1097 val_t tmp;
1098 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1099 fra.me.file = LOCATE_syntax___syntax_base;
1100 fra.me.line = 190;
1101 fra.me.meth = LOCATE_syntax___syntax_base___MMMethSrcMethod___is_abstract;
1102 fra.me.has_broke = 0;
1103 fra.me.REG_size = 1;
1104 fra.me.nitni_local_ref_head = NULL;
1105 fra.me.REG[0] = NIT_NULL;
1106 fra.me.REG[0] = p0;
1107 /* syntax/syntax_base.nit:190 */
1108 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___MMMethSrcMethod____is_abstract(fra.me.REG[0])!=NIT_NULL);
1109 if (UNTAG_Bool(REGB0)) {
1110 } else {
1111 nit_abort("Uninitialized attribute %s", "_is_abstract", LOCATE_syntax___syntax_base, 190);
1112 }
1113 REGB0 = ATTR_syntax___syntax_base___MMMethSrcMethod____is_abstract(fra.me.REG[0]);
1114 stack_frame_head = fra.me.prev;
1115 return REGB0;
1116 }
1117 val_t syntax___syntax_base___MMMethSrcMethod___extern_name(val_t p0){
1118 struct {struct stack_frame_t me;} fra;
1119 val_t tmp;
1120 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1121 fra.me.file = LOCATE_syntax___syntax_base;
1122 fra.me.line = 191;
1123 fra.me.meth = LOCATE_syntax___syntax_base___MMMethSrcMethod___extern_name;
1124 fra.me.has_broke = 0;
1125 fra.me.REG_size = 1;
1126 fra.me.nitni_local_ref_head = NULL;
1127 fra.me.REG[0] = NIT_NULL;
1128 fra.me.REG[0] = p0;
1129 /* syntax/syntax_base.nit:191 */
1130 fra.me.REG[0] = ATTR_syntax___syntax_base___MMMethSrcMethod____extern_name(fra.me.REG[0]);
1131 stack_frame_head = fra.me.prev;
1132 return fra.me.REG[0];
1133 }
1134 void syntax___syntax_base___MMMethSrcMethod___extern_name__eq(val_t p0, val_t p1){
1135 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1136 val_t tmp;
1137 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1138 fra.me.file = LOCATE_syntax___syntax_base;
1139 fra.me.line = 191;
1140 fra.me.meth = LOCATE_syntax___syntax_base___MMMethSrcMethod___extern_name__eq;
1141 fra.me.has_broke = 0;
1142 fra.me.REG_size = 2;
1143 fra.me.nitni_local_ref_head = NULL;
1144 fra.me.REG[0] = NIT_NULL;
1145 fra.me.REG[1] = NIT_NULL;
1146 fra.me.REG[0] = p0;
1147 fra.me.REG[1] = p1;
1148 /* syntax/syntax_base.nit:191 */
1149 ATTR_syntax___syntax_base___MMMethSrcMethod____extern_name(fra.me.REG[0]) = fra.me.REG[1];
1150 stack_frame_head = fra.me.prev;
1151 return;
1152 }
1153 val_t syntax___syntax_base___MMMethSrcMethod___explicit_casts(val_t p0){
1154 struct {struct stack_frame_t me;} fra;
1155 val_t REGB0;
1156 val_t tmp;
1157 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1158 fra.me.file = LOCATE_syntax___syntax_base;
1159 fra.me.line = 192;
1160 fra.me.meth = LOCATE_syntax___syntax_base___MMMethSrcMethod___explicit_casts;
1161 fra.me.has_broke = 0;
1162 fra.me.REG_size = 1;
1163 fra.me.nitni_local_ref_head = NULL;
1164 fra.me.REG[0] = NIT_NULL;
1165 fra.me.REG[0] = p0;
1166 /* syntax/syntax_base.nit:192 */
1167 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___MMMethSrcMethod____explicit_casts(fra.me.REG[0])!=NIT_NULL);
1168 if (UNTAG_Bool(REGB0)) {
1169 } else {
1170 nit_abort("Uninitialized attribute %s", "_explicit_casts", LOCATE_syntax___syntax_base, 192);
1171 }
1172 fra.me.REG[0] = ATTR_syntax___syntax_base___MMMethSrcMethod____explicit_casts(fra.me.REG[0]);
1173 stack_frame_head = fra.me.prev;
1174 return fra.me.REG[0];
1175 }
1176 val_t syntax___syntax_base___MMMethSrcMethod___explicit_imports(val_t p0){
1177 struct {struct stack_frame_t me;} fra;
1178 val_t REGB0;
1179 val_t tmp;
1180 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1181 fra.me.file = LOCATE_syntax___syntax_base;
1182 fra.me.line = 193;
1183 fra.me.meth = LOCATE_syntax___syntax_base___MMMethSrcMethod___explicit_imports;
1184 fra.me.has_broke = 0;
1185 fra.me.REG_size = 1;
1186 fra.me.nitni_local_ref_head = NULL;
1187 fra.me.REG[0] = NIT_NULL;
1188 fra.me.REG[0] = p0;
1189 /* syntax/syntax_base.nit:193 */
1190 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___MMMethSrcMethod____explicit_imports(fra.me.REG[0])!=NIT_NULL);
1191 if (UNTAG_Bool(REGB0)) {
1192 } else {
1193 nit_abort("Uninitialized attribute %s", "_explicit_imports", LOCATE_syntax___syntax_base, 193);
1194 }
1195 fra.me.REG[0] = ATTR_syntax___syntax_base___MMMethSrcMethod____explicit_imports(fra.me.REG[0]);
1196 stack_frame_head = fra.me.prev;
1197 return fra.me.REG[0];
1198 }
1199 val_t syntax___syntax_base___MMMethSrcMethod___node(val_t p0){
1200 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1201 val_t REGB0;
1202 val_t tmp;
1203 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1204 fra.me.file = LOCATE_syntax___syntax_base;
1205 fra.me.line = 194;
1206 fra.me.meth = LOCATE_syntax___syntax_base___MMMethSrcMethod___node;
1207 fra.me.has_broke = 0;
1208 fra.me.REG_size = 3;
1209 fra.me.nitni_local_ref_head = NULL;
1210 fra.me.REG[0] = NIT_NULL;
1211 fra.me.REG[1] = NIT_NULL;
1212 fra.me.REG[2] = NIT_NULL;
1213 fra.me.REG[0] = p0;
1214 /* syntax/syntax_base.nit:194 */
1215 fra.me.REG[1] = fra.me.REG[0];
1216 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___mmmodule(fra.me.REG[1])(fra.me.REG[1]);
1217 fra.me.REG[1] = CALL_syntax___syntax_base___MMModule___nodes(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1218 REGB0 = TAG_Bool((fra.me.REG[1]==NIT_NULL) || VAL_ISA(fra.me.REG[1], COLOR_parser___parser_nodes___AMethPropdef, ID_parser___parser_nodes___AMethPropdef)) /*cast nullable AMethPropdef*/;
1219 if (UNTAG_Bool(REGB0)) {
1220 } else {
1221 nit_abort("Cast failed", NULL, LOCATE_syntax___syntax_base, 194);
1222 }
1223 goto label1;
1224 label1: while(0);
1225 stack_frame_head = fra.me.prev;
1226 return fra.me.REG[1];
1227 }
1228 void syntax___syntax_base___MMMethSrcMethod___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
1229 int itpos6 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___syntax_base___MMMethSrcMethod].i;
1230 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
1231 val_t REGB0;
1232 val_t tmp;
1233 if (init_table[itpos6]) return;
1234 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1235 fra.me.file = LOCATE_syntax___syntax_base;
1236 fra.me.line = 195;
1237 fra.me.meth = LOCATE_syntax___syntax_base___MMMethSrcMethod___init;
1238 fra.me.has_broke = 0;
1239 fra.me.REG_size = 5;
1240 fra.me.nitni_local_ref_head = NULL;
1241 fra.me.REG[0] = NIT_NULL;
1242 fra.me.REG[1] = NIT_NULL;
1243 fra.me.REG[2] = NIT_NULL;
1244 fra.me.REG[3] = NIT_NULL;
1245 fra.me.REG[4] = NIT_NULL;
1246 fra.me.REG[0] = p0;
1247 fra.me.REG[1] = p1;
1248 fra.me.REG[2] = p2;
1249 fra.me.REG[3] = p3;
1250 /* syntax/syntax_base.nit:195 */
1251 fra.me.REG[4] = fra.me.REG[0];
1252 /* syntax/syntax_base.nit:197 */
1253 CALL_metamodel___abstractmetamodel___MMLocalProperty___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
1254 /* syntax/syntax_base.nit:198 */
1255 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra.me.REG[2])(fra.me.REG[2]);
1256 CALL_syntax___syntax_base___MMModule___nodes__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4], fra.me.REG[3]);
1257 /* syntax/syntax_base.nit:199 */
1258 fra.me.REG[3] = CALL_syntax___syntax_base___MMLocalProperty___node(fra.me.REG[4])(fra.me.REG[4]);
1259 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AInitPropdef, ID_parser___parser_nodes___AInitPropdef)) /*cast AInitPropdef*/;
1260 ATTR_syntax___syntax_base___MMMethSrcMethod____is_init(fra.me.REG[4]) = REGB0;
1261 /* syntax/syntax_base.nit:200 */
1262 fra.me.REG[3] = CALL_syntax___syntax_base___MMLocalProperty___node(fra.me.REG[4])(fra.me.REG[4]);
1263 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AInternMethPropdef, ID_parser___parser_nodes___AInternMethPropdef)) /*cast AInternMethPropdef*/;
1264 ATTR_syntax___syntax_base___MMMethSrcMethod____is_intern(fra.me.REG[4]) = REGB0;
1265 /* syntax/syntax_base.nit:201 */
1266 fra.me.REG[3] = CALL_syntax___syntax_base___MMLocalProperty___node(fra.me.REG[4])(fra.me.REG[4]);
1267 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternPropdef, ID_parser___parser_nodes___AExternPropdef)) /*cast AExternPropdef*/;
1268 ATTR_syntax___syntax_base___MMMethSrcMethod____is_extern(fra.me.REG[4]) = REGB0;
1269 /* syntax/syntax_base.nit:202 */
1270 fra.me.REG[3] = CALL_syntax___syntax_base___MMLocalProperty___node(fra.me.REG[4])(fra.me.REG[4]);
1271 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ADeferredMethPropdef, ID_parser___parser_nodes___ADeferredMethPropdef)) /*cast ADeferredMethPropdef*/;
1272 ATTR_syntax___syntax_base___MMMethSrcMethod____is_abstract(fra.me.REG[4]) = REGB0;
1273 /* syntax/syntax_base.nit:203 */
1274 ATTR_syntax___syntax_base___MMMethSrcMethod____extern_name(fra.me.REG[4]) = NIT_NULL;
1275 /* syntax/syntax_base.nit:205 */
1276 REGB0 = CALL_metamodel___abstractmetamodel___MMMethod___is_extern(fra.me.REG[4])(fra.me.REG[4]);
1277 if (UNTAG_Bool(REGB0)) {
1278 /* syntax/syntax_base.nit:206 */
1279 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___mmmodule(fra.me.REG[4])(fra.me.REG[4]);
1280 REGB0 = TAG_Bool(true);
1281 CALL_metamodel___abstractmetamodel___MMModule___is_extern_hybrid__eq(fra.me.REG[4])(fra.me.REG[4], REGB0);
1282 }
1283 stack_frame_head = fra.me.prev;
1284 init_table[itpos6] = 1;
1285 return;
1286 }
1287 void syntax___syntax_base___MMSrcTypeProperty___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
1288 int itpos7 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___syntax_base___MMSrcTypeProperty].i;
1289 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1290 val_t tmp;
1291 if (init_table[itpos7]) return;
1292 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1293 fra.me.file = LOCATE_syntax___syntax_base;
1294 fra.me.line = 215;
1295 fra.me.meth = LOCATE_syntax___syntax_base___MMSrcTypeProperty___init;
1296 fra.me.has_broke = 0;
1297 fra.me.REG_size = 4;
1298 fra.me.nitni_local_ref_head = NULL;
1299 fra.me.REG[0] = NIT_NULL;
1300 fra.me.REG[1] = NIT_NULL;
1301 fra.me.REG[2] = NIT_NULL;
1302 fra.me.REG[3] = NIT_NULL;
1303 fra.me.REG[0] = p0;
1304 fra.me.REG[1] = p1;
1305 fra.me.REG[2] = p2;
1306 fra.me.REG[3] = p3;
1307 /* syntax/syntax_base.nit:217 */
1308 CALL_metamodel___abstractmetamodel___MMLocalProperty___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
1309 stack_frame_head = fra.me.prev;
1310 init_table[itpos7] = 1;
1311 return;
1312 }
1313 val_t syntax___syntax_base___MMImplicitInit___super_init(val_t p0){
1314 struct {struct stack_frame_t me;} fra;
1315 val_t tmp;
1316 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1317 fra.me.file = LOCATE_syntax___syntax_base;
1318 fra.me.line = 224;
1319 fra.me.meth = LOCATE_syntax___syntax_base___MMImplicitInit___super_init;
1320 fra.me.has_broke = 0;
1321 fra.me.REG_size = 0;
1322 fra.me.nitni_local_ref_head = NULL;
1323 /* syntax/syntax_base.nit:224 */
1324 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 224);
1325 stack_frame_head = fra.me.prev;
1326 return NIT_NULL;
1327 }
1328 val_t syntax___syntax_base___MMImplicitInit___is_init(val_t p0){
1329 struct {struct stack_frame_t me;} fra;
1330 val_t REGB0;
1331 val_t tmp;
1332 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1333 fra.me.file = LOCATE_syntax___syntax_base;
1334 fra.me.line = 225;
1335 fra.me.meth = LOCATE_syntax___syntax_base___MMImplicitInit___is_init;
1336 fra.me.has_broke = 0;
1337 fra.me.REG_size = 1;
1338 fra.me.nitni_local_ref_head = NULL;
1339 fra.me.REG[0] = NIT_NULL;
1340 fra.me.REG[0] = p0;
1341 /* syntax/syntax_base.nit:225 */
1342 REGB0 = TAG_Bool(true);
1343 goto label1;
1344 label1: while(0);
1345 stack_frame_head = fra.me.prev;
1346 return REGB0;
1347 }
1348 val_t syntax___syntax_base___MMImplicitInit___unassigned_attributes(val_t p0){
1349 struct {struct stack_frame_t me;} fra;
1350 val_t REGB0;
1351 val_t tmp;
1352 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1353 fra.me.file = LOCATE_syntax___syntax_base;
1354 fra.me.line = 226;
1355 fra.me.meth = LOCATE_syntax___syntax_base___MMImplicitInit___unassigned_attributes;
1356 fra.me.has_broke = 0;
1357 fra.me.REG_size = 1;
1358 fra.me.nitni_local_ref_head = NULL;
1359 fra.me.REG[0] = NIT_NULL;
1360 fra.me.REG[0] = p0;
1361 /* syntax/syntax_base.nit:226 */
1362 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___MMImplicitInit____unassigned_attributes(fra.me.REG[0])!=NIT_NULL);
1363 if (UNTAG_Bool(REGB0)) {
1364 } else {
1365 nit_abort("Uninitialized attribute %s", "_unassigned_attributes", LOCATE_syntax___syntax_base, 226);
1366 }
1367 fra.me.REG[0] = ATTR_syntax___syntax_base___MMImplicitInit____unassigned_attributes(fra.me.REG[0]);
1368 stack_frame_head = fra.me.prev;
1369 return fra.me.REG[0];
1370 }
1371 val_t syntax___syntax_base___MMImplicitInit___super_inits(val_t p0){
1372 struct {struct stack_frame_t me;} fra;
1373 val_t REGB0;
1374 val_t tmp;
1375 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1376 fra.me.file = LOCATE_syntax___syntax_base;
1377 fra.me.line = 227;
1378 fra.me.meth = LOCATE_syntax___syntax_base___MMImplicitInit___super_inits;
1379 fra.me.has_broke = 0;
1380 fra.me.REG_size = 1;
1381 fra.me.nitni_local_ref_head = NULL;
1382 fra.me.REG[0] = NIT_NULL;
1383 fra.me.REG[0] = p0;
1384 /* syntax/syntax_base.nit:227 */
1385 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___MMImplicitInit____super_inits(fra.me.REG[0])!=NIT_NULL);
1386 if (UNTAG_Bool(REGB0)) {
1387 } else {
1388 nit_abort("Uninitialized attribute %s", "_super_inits", LOCATE_syntax___syntax_base, 227);
1389 }
1390 fra.me.REG[0] = ATTR_syntax___syntax_base___MMImplicitInit____super_inits(fra.me.REG[0]);
1391 stack_frame_head = fra.me.prev;
1392 return fra.me.REG[0];
1393 }
1394 void syntax___syntax_base___MMImplicitInit___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
1395 int itpos8 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___syntax_base___MMImplicitInit].i;
1396 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
1397 val_t REGB0;
1398 val_t tmp;
1399 static val_t once_value_1; /* Once value */
1400 static val_t once_value_2; /* Once value */
1401 if (init_table[itpos8]) return;
1402 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1403 fra.me.file = LOCATE_syntax___syntax_base;
1404 fra.me.line = 228;
1405 fra.me.meth = LOCATE_syntax___syntax_base___MMImplicitInit___init;
1406 fra.me.has_broke = 0;
1407 fra.me.REG_size = 6;
1408 fra.me.nitni_local_ref_head = NULL;
1409 fra.me.REG[0] = NIT_NULL;
1410 fra.me.REG[1] = NIT_NULL;
1411 fra.me.REG[2] = NIT_NULL;
1412 fra.me.REG[3] = NIT_NULL;
1413 fra.me.REG[4] = NIT_NULL;
1414 fra.me.REG[5] = NIT_NULL;
1415 fra.me.REG[0] = p0;
1416 fra.me.REG[1] = p1;
1417 fra.me.REG[2] = p2;
1418 fra.me.REG[3] = p3;
1419 /* syntax/syntax_base.nit:228 */
1420 fra.me.REG[4] = fra.me.REG[0];
1421 /* syntax/syntax_base.nit:230 */
1422 if (!once_value_1) {
1423 if (!once_value_2) {
1424 fra.me.REG[5] = BOX_NativeString("init");
1425 REGB0 = TAG_Int(4);
1426 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB0);
1427 once_value_2 = fra.me.REG[5];
1428 register_static_object(&once_value_2);
1429 } else fra.me.REG[5] = once_value_2;
1430 fra.me.REG[5] = fra.me.REG[5];
1431 fra.me.REG[5] = CALL_standard___symbol___String___to_symbol(fra.me.REG[5])(fra.me.REG[5]);
1432 once_value_1 = fra.me.REG[5];
1433 register_static_object(&once_value_1);
1434 } else fra.me.REG[5] = once_value_1;
1435 fra.me.REG[5] = fra.me.REG[5];
1436 CALL_syntax___syntax_base___MMMethSrcMethod___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[1], NIT_NULL, init_table);
1437 /* syntax/syntax_base.nit:231 */
1438 ATTR_syntax___syntax_base___MMImplicitInit____unassigned_attributes(fra.me.REG[4]) = fra.me.REG[2];
1439 /* syntax/syntax_base.nit:232 */
1440 ATTR_syntax___syntax_base___MMImplicitInit____super_inits(fra.me.REG[4]) = fra.me.REG[3];
1441 stack_frame_head = fra.me.prev;
1442 init_table[itpos8] = 1;
1443 return;
1444 }
1445 val_t syntax___syntax_base___Variable___name(val_t p0){
1446 struct {struct stack_frame_t me;} fra;
1447 val_t REGB0;
1448 val_t tmp;
1449 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1450 fra.me.file = LOCATE_syntax___syntax_base;
1451 fra.me.line = 238;
1452 fra.me.meth = LOCATE_syntax___syntax_base___Variable___name;
1453 fra.me.has_broke = 0;
1454 fra.me.REG_size = 1;
1455 fra.me.nitni_local_ref_head = NULL;
1456 fra.me.REG[0] = NIT_NULL;
1457 fra.me.REG[0] = p0;
1458 /* syntax/syntax_base.nit:238 */
1459 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___Variable____name(fra.me.REG[0])!=NIT_NULL);
1460 if (UNTAG_Bool(REGB0)) {
1461 } else {
1462 nit_abort("Uninitialized attribute %s", "_name", LOCATE_syntax___syntax_base, 238);
1463 }
1464 fra.me.REG[0] = ATTR_syntax___syntax_base___Variable____name(fra.me.REG[0]);
1465 stack_frame_head = fra.me.prev;
1466 return fra.me.REG[0];
1467 }
1468 val_t syntax___syntax_base___Variable___decl(val_t p0){
1469 struct {struct stack_frame_t me;} fra;
1470 val_t tmp;
1471 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1472 fra.me.file = LOCATE_syntax___syntax_base;
1473 fra.me.line = 241;
1474 fra.me.meth = LOCATE_syntax___syntax_base___Variable___decl;
1475 fra.me.has_broke = 0;
1476 fra.me.REG_size = 1;
1477 fra.me.nitni_local_ref_head = NULL;
1478 fra.me.REG[0] = NIT_NULL;
1479 fra.me.REG[0] = p0;
1480 /* syntax/syntax_base.nit:241 */
1481 fra.me.REG[0] = ATTR_syntax___syntax_base___Variable____decl(fra.me.REG[0]);
1482 stack_frame_head = fra.me.prev;
1483 return fra.me.REG[0];
1484 }
1485 val_t syntax___syntax_base___Variable___stype(val_t p0){
1486 struct {struct stack_frame_t me;} fra;
1487 val_t tmp;
1488 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1489 fra.me.file = LOCATE_syntax___syntax_base;
1490 fra.me.line = 244;
1491 fra.me.meth = LOCATE_syntax___syntax_base___Variable___stype;
1492 fra.me.has_broke = 0;
1493 fra.me.REG_size = 1;
1494 fra.me.nitni_local_ref_head = NULL;
1495 fra.me.REG[0] = NIT_NULL;
1496 fra.me.REG[0] = p0;
1497 /* syntax/syntax_base.nit:244 */
1498 fra.me.REG[0] = ATTR_syntax___syntax_base___Variable____stype(fra.me.REG[0]);
1499 stack_frame_head = fra.me.prev;
1500 return fra.me.REG[0];
1501 }
1502 void syntax___syntax_base___Variable___stype__eq(val_t p0, val_t p1){
1503 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1504 val_t tmp;
1505 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1506 fra.me.file = LOCATE_syntax___syntax_base;
1507 fra.me.line = 244;
1508 fra.me.meth = LOCATE_syntax___syntax_base___Variable___stype__eq;
1509 fra.me.has_broke = 0;
1510 fra.me.REG_size = 2;
1511 fra.me.nitni_local_ref_head = NULL;
1512 fra.me.REG[0] = NIT_NULL;
1513 fra.me.REG[1] = NIT_NULL;
1514 fra.me.REG[0] = p0;
1515 fra.me.REG[1] = p1;
1516 /* syntax/syntax_base.nit:244 */
1517 ATTR_syntax___syntax_base___Variable____stype(fra.me.REG[0]) = fra.me.REG[1];
1518 stack_frame_head = fra.me.prev;
1519 return;
1520 }
1521 val_t syntax___syntax_base___Variable___to_s(val_t p0){
1522 struct {struct stack_frame_t me;} fra;
1523 val_t REGB0;
1524 val_t tmp;
1525 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1526 fra.me.file = LOCATE_syntax___syntax_base;
1527 fra.me.line = 247;
1528 fra.me.meth = LOCATE_syntax___syntax_base___Variable___to_s;
1529 fra.me.has_broke = 0;
1530 fra.me.REG_size = 1;
1531 fra.me.nitni_local_ref_head = NULL;
1532 fra.me.REG[0] = NIT_NULL;
1533 fra.me.REG[0] = p0;
1534 /* syntax/syntax_base.nit:247 */
1535 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___Variable____name(fra.me.REG[0])!=NIT_NULL);
1536 if (UNTAG_Bool(REGB0)) {
1537 } else {
1538 nit_abort("Uninitialized attribute %s", "_name", LOCATE_syntax___syntax_base, 247);
1539 }
1540 fra.me.REG[0] = ATTR_syntax___syntax_base___Variable____name(fra.me.REG[0]);
1541 fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
1542 goto label1;
1543 label1: while(0);
1544 stack_frame_head = fra.me.prev;
1545 return fra.me.REG[0];
1546 }
1547 val_t syntax___syntax_base___Variable___kind(val_t p0){
1548 struct {struct stack_frame_t me;} fra;
1549 val_t tmp;
1550 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1551 fra.me.file = LOCATE_syntax___syntax_base;
1552 fra.me.line = 249;
1553 fra.me.meth = LOCATE_syntax___syntax_base___Variable___kind;
1554 fra.me.has_broke = 0;
1555 fra.me.REG_size = 0;
1556 fra.me.nitni_local_ref_head = NULL;
1557 /* syntax/syntax_base.nit:249 */
1558 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 249);
1559 stack_frame_head = fra.me.prev;
1560 return NIT_NULL;
1561 }
1562 void syntax___syntax_base___Variable___init(val_t p0, val_t p1, val_t p2, int* init_table){
1563 int itpos9 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___syntax_base___Variable].i;
1564 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1565 val_t tmp;
1566 if (init_table[itpos9]) return;
1567 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1568 fra.me.file = LOCATE_syntax___syntax_base;
1569 fra.me.line = 251;
1570 fra.me.meth = LOCATE_syntax___syntax_base___Variable___init;
1571 fra.me.has_broke = 0;
1572 fra.me.REG_size = 3;
1573 fra.me.nitni_local_ref_head = NULL;
1574 fra.me.REG[0] = NIT_NULL;
1575 fra.me.REG[1] = NIT_NULL;
1576 fra.me.REG[2] = NIT_NULL;
1577 fra.me.REG[0] = p0;
1578 fra.me.REG[1] = p1;
1579 fra.me.REG[2] = p2;
1580 /* syntax/syntax_base.nit:253 */
1581 ATTR_syntax___syntax_base___Variable____name(fra.me.REG[0]) = fra.me.REG[1];
1582 /* syntax/syntax_base.nit:254 */
1583 ATTR_syntax___syntax_base___Variable____decl(fra.me.REG[0]) = fra.me.REG[2];
1584 stack_frame_head = fra.me.prev;
1585 init_table[itpos9] = 1;
1586 return;
1587 }
1588 val_t syntax___syntax_base___VarVariable___kind(val_t p0){
1589 struct {struct stack_frame_t me;} fra;
1590 val_t REGB0;
1591 val_t tmp;
1592 static val_t once_value_1; /* Once value */
1593 static val_t once_value_2; /* Once value */
1594 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1595 fra.me.file = LOCATE_syntax___syntax_base;
1596 fra.me.line = 261;
1597 fra.me.meth = LOCATE_syntax___syntax_base___VarVariable___kind;
1598 fra.me.has_broke = 0;
1599 fra.me.REG_size = 1;
1600 fra.me.nitni_local_ref_head = NULL;
1601 fra.me.REG[0] = NIT_NULL;
1602 fra.me.REG[0] = p0;
1603 /* syntax/syntax_base.nit:261 */
1604 if (!once_value_1) {
1605 if (!once_value_2) {
1606 fra.me.REG[0] = BOX_NativeString("variable");
1607 REGB0 = TAG_Int(8);
1608 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
1609 once_value_2 = fra.me.REG[0];
1610 register_static_object(&once_value_2);
1611 } else fra.me.REG[0] = once_value_2;
1612 fra.me.REG[0] = fra.me.REG[0];
1613 once_value_1 = fra.me.REG[0];
1614 register_static_object(&once_value_1);
1615 } else fra.me.REG[0] = once_value_1;
1616 fra.me.REG[0] = fra.me.REG[0];
1617 goto label3;
1618 label3: while(0);
1619 stack_frame_head = fra.me.prev;
1620 return fra.me.REG[0];
1621 }
1622 void syntax___syntax_base___VarVariable___init(val_t p0, val_t p1, val_t p2, int* init_table){
1623 int itpos10 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___syntax_base___VarVariable].i;
1624 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1625 val_t tmp;
1626 if (init_table[itpos10]) return;
1627 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1628 fra.me.file = LOCATE_syntax___syntax_base;
1629 fra.me.line = 262;
1630 fra.me.meth = LOCATE_syntax___syntax_base___VarVariable___init;
1631 fra.me.has_broke = 0;
1632 fra.me.REG_size = 3;
1633 fra.me.nitni_local_ref_head = NULL;
1634 fra.me.REG[0] = NIT_NULL;
1635 fra.me.REG[1] = NIT_NULL;
1636 fra.me.REG[2] = NIT_NULL;
1637 fra.me.REG[0] = p0;
1638 fra.me.REG[1] = p1;
1639 fra.me.REG[2] = p2;
1640 /* syntax/syntax_base.nit:262 */
1641 CALL_syntax___syntax_base___Variable___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
1642 stack_frame_head = fra.me.prev;
1643 init_table[itpos10] = 1;
1644 return;
1645 }
1646 val_t syntax___syntax_base___ParamVariable___kind(val_t p0){
1647 struct {struct stack_frame_t me;} fra;
1648 val_t REGB0;
1649 val_t tmp;
1650 static val_t once_value_1; /* Once value */
1651 static val_t once_value_2; /* Once value */
1652 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1653 fra.me.file = LOCATE_syntax___syntax_base;
1654 fra.me.line = 268;
1655 fra.me.meth = LOCATE_syntax___syntax_base___ParamVariable___kind;
1656 fra.me.has_broke = 0;
1657 fra.me.REG_size = 1;
1658 fra.me.nitni_local_ref_head = NULL;
1659 fra.me.REG[0] = NIT_NULL;
1660 fra.me.REG[0] = p0;
1661 /* syntax/syntax_base.nit:268 */
1662 if (!once_value_1) {
1663 if (!once_value_2) {
1664 fra.me.REG[0] = BOX_NativeString("parameter");
1665 REGB0 = TAG_Int(9);
1666 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
1667 once_value_2 = fra.me.REG[0];
1668 register_static_object(&once_value_2);
1669 } else fra.me.REG[0] = once_value_2;
1670 fra.me.REG[0] = fra.me.REG[0];
1671 once_value_1 = fra.me.REG[0];
1672 register_static_object(&once_value_1);
1673 } else fra.me.REG[0] = once_value_1;
1674 fra.me.REG[0] = fra.me.REG[0];
1675 goto label3;
1676 label3: while(0);
1677 stack_frame_head = fra.me.prev;
1678 return fra.me.REG[0];
1679 }
1680 void syntax___syntax_base___ParamVariable___init(val_t p0, val_t p1, val_t p2, int* init_table){
1681 int itpos11 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___syntax_base___ParamVariable].i;
1682 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1683 val_t tmp;
1684 if (init_table[itpos11]) return;
1685 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1686 fra.me.file = LOCATE_syntax___syntax_base;
1687 fra.me.line = 269;
1688 fra.me.meth = LOCATE_syntax___syntax_base___ParamVariable___init;
1689 fra.me.has_broke = 0;
1690 fra.me.REG_size = 3;
1691 fra.me.nitni_local_ref_head = NULL;
1692 fra.me.REG[0] = NIT_NULL;
1693 fra.me.REG[1] = NIT_NULL;
1694 fra.me.REG[2] = NIT_NULL;
1695 fra.me.REG[0] = p0;
1696 fra.me.REG[1] = p1;
1697 fra.me.REG[2] = p2;
1698 /* syntax/syntax_base.nit:269 */
1699 CALL_syntax___syntax_base___Variable___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
1700 stack_frame_head = fra.me.prev;
1701 init_table[itpos11] = 1;
1702 return;
1703 }
1704 val_t syntax___syntax_base___AutoVariable___kind(val_t p0){
1705 struct {struct stack_frame_t me;} fra;
1706 val_t REGB0;
1707 val_t tmp;
1708 static val_t once_value_1; /* Once value */
1709 static val_t once_value_2; /* Once value */
1710 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1711 fra.me.file = LOCATE_syntax___syntax_base;
1712 fra.me.line = 275;
1713 fra.me.meth = LOCATE_syntax___syntax_base___AutoVariable___kind;
1714 fra.me.has_broke = 0;
1715 fra.me.REG_size = 1;
1716 fra.me.nitni_local_ref_head = NULL;
1717 fra.me.REG[0] = NIT_NULL;
1718 fra.me.REG[0] = p0;
1719 /* syntax/syntax_base.nit:275 */
1720 if (!once_value_1) {
1721 if (!once_value_2) {
1722 fra.me.REG[0] = BOX_NativeString("automatic variable");
1723 REGB0 = TAG_Int(18);
1724 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
1725 once_value_2 = fra.me.REG[0];
1726 register_static_object(&once_value_2);
1727 } else fra.me.REG[0] = once_value_2;
1728 fra.me.REG[0] = fra.me.REG[0];
1729 once_value_1 = fra.me.REG[0];
1730 register_static_object(&once_value_1);
1731 } else fra.me.REG[0] = once_value_1;
1732 fra.me.REG[0] = fra.me.REG[0];
1733 goto label3;
1734 label3: while(0);
1735 stack_frame_head = fra.me.prev;
1736 return fra.me.REG[0];
1737 }
1738 void syntax___syntax_base___AutoVariable___init(val_t p0, val_t p1, val_t p2, int* init_table){
1739 int itpos12 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___syntax_base___AutoVariable].i;
1740 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1741 val_t tmp;
1742 if (init_table[itpos12]) return;
1743 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1744 fra.me.file = LOCATE_syntax___syntax_base;
1745 fra.me.line = 276;
1746 fra.me.meth = LOCATE_syntax___syntax_base___AutoVariable___init;
1747 fra.me.has_broke = 0;
1748 fra.me.REG_size = 3;
1749 fra.me.nitni_local_ref_head = NULL;
1750 fra.me.REG[0] = NIT_NULL;
1751 fra.me.REG[1] = NIT_NULL;
1752 fra.me.REG[2] = NIT_NULL;
1753 fra.me.REG[0] = p0;
1754 fra.me.REG[1] = p1;
1755 fra.me.REG[2] = p2;
1756 /* syntax/syntax_base.nit:276 */
1757 CALL_syntax___syntax_base___Variable___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
1758 stack_frame_head = fra.me.prev;
1759 init_table[itpos12] = 1;
1760 return;
1761 }
1762 val_t syntax___syntax_base___ClosureVariable___kind(val_t p0){
1763 struct {struct stack_frame_t me;} fra;
1764 val_t REGB0;
1765 val_t tmp;
1766 static val_t once_value_1; /* Once value */
1767 static val_t once_value_2; /* Once value */
1768 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1769 fra.me.file = LOCATE_syntax___syntax_base;
1770 fra.me.line = 283;
1771 fra.me.meth = LOCATE_syntax___syntax_base___ClosureVariable___kind;
1772 fra.me.has_broke = 0;
1773 fra.me.REG_size = 1;
1774 fra.me.nitni_local_ref_head = NULL;
1775 fra.me.REG[0] = NIT_NULL;
1776 fra.me.REG[0] = p0;
1777 /* syntax/syntax_base.nit:283 */
1778 if (!once_value_1) {
1779 if (!once_value_2) {
1780 fra.me.REG[0] = BOX_NativeString("closure");
1781 REGB0 = TAG_Int(7);
1782 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
1783 once_value_2 = fra.me.REG[0];
1784 register_static_object(&once_value_2);
1785 } else fra.me.REG[0] = once_value_2;
1786 fra.me.REG[0] = fra.me.REG[0];
1787 once_value_1 = fra.me.REG[0];
1788 register_static_object(&once_value_1);
1789 } else fra.me.REG[0] = once_value_1;
1790 fra.me.REG[0] = fra.me.REG[0];
1791 goto label3;
1792 label3: while(0);
1793 stack_frame_head = fra.me.prev;
1794 return fra.me.REG[0];
1795 }
1796 val_t syntax___syntax_base___ClosureVariable___closure(val_t p0){
1797 struct {struct stack_frame_t me;} fra;
1798 val_t REGB0;
1799 val_t tmp;
1800 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1801 fra.me.file = LOCATE_syntax___syntax_base;
1802 fra.me.line = 285;
1803 fra.me.meth = LOCATE_syntax___syntax_base___ClosureVariable___closure;
1804 fra.me.has_broke = 0;
1805 fra.me.REG_size = 1;
1806 fra.me.nitni_local_ref_head = NULL;
1807 fra.me.REG[0] = NIT_NULL;
1808 fra.me.REG[0] = p0;
1809 /* syntax/syntax_base.nit:285 */
1810 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___ClosureVariable____closure(fra.me.REG[0])!=NIT_NULL);
1811 if (UNTAG_Bool(REGB0)) {
1812 } else {
1813 nit_abort("Uninitialized attribute %s", "_closure", LOCATE_syntax___syntax_base, 285);
1814 }
1815 fra.me.REG[0] = ATTR_syntax___syntax_base___ClosureVariable____closure(fra.me.REG[0]);
1816 stack_frame_head = fra.me.prev;
1817 return fra.me.REG[0];
1818 }
1819 void syntax___syntax_base___ClosureVariable___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
1820 int itpos13 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___syntax_base___ClosureVariable].i;
1821 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
1822 val_t tmp;
1823 if (init_table[itpos13]) return;
1824 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1825 fra.me.file = LOCATE_syntax___syntax_base;
1826 fra.me.line = 288;
1827 fra.me.meth = LOCATE_syntax___syntax_base___ClosureVariable___init;
1828 fra.me.has_broke = 0;
1829 fra.me.REG_size = 5;
1830 fra.me.nitni_local_ref_head = NULL;
1831 fra.me.REG[0] = NIT_NULL;
1832 fra.me.REG[1] = NIT_NULL;
1833 fra.me.REG[2] = NIT_NULL;
1834 fra.me.REG[3] = NIT_NULL;
1835 fra.me.REG[4] = NIT_NULL;
1836 fra.me.REG[0] = p0;
1837 fra.me.REG[1] = p1;
1838 fra.me.REG[2] = p2;
1839 fra.me.REG[3] = p3;
1840 /* syntax/syntax_base.nit:288 */
1841 fra.me.REG[4] = fra.me.REG[0];
1842 /* syntax/syntax_base.nit:290 */
1843 CALL_syntax___syntax_base___Variable___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
1844 /* syntax/syntax_base.nit:291 */
1845 ATTR_syntax___syntax_base___ClosureVariable____closure(fra.me.REG[4]) = fra.me.REG[3];
1846 stack_frame_head = fra.me.prev;
1847 init_table[itpos13] = 1;
1848 return;
1849 }
1850 val_t syntax___syntax_base___AbsSyntaxVisitor___get_type_by_name(val_t p0, val_t p1){
1851 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
1852 val_t REGB0;
1853 val_t tmp;
1854 static val_t once_value_1; /* Once value */
1855 static val_t once_value_2; /* Once value */
1856 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1857 fra.me.file = LOCATE_syntax___syntax_base;
1858 fra.me.line = 300;
1859 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___get_type_by_name;
1860 fra.me.has_broke = 0;
1861 fra.me.REG_size = 6;
1862 fra.me.nitni_local_ref_head = NULL;
1863 fra.me.REG[0] = NIT_NULL;
1864 fra.me.REG[1] = NIT_NULL;
1865 fra.me.REG[2] = NIT_NULL;
1866 fra.me.REG[3] = NIT_NULL;
1867 fra.me.REG[4] = NIT_NULL;
1868 fra.me.REG[5] = NIT_NULL;
1869 fra.me.REG[0] = p0;
1870 fra.me.REG[1] = p1;
1871 /* syntax/syntax_base.nit:302 */
1872 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0])!=NIT_NULL);
1873 if (UNTAG_Bool(REGB0)) {
1874 } else {
1875 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base, 302);
1876 }
1877 fra.me.REG[2] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0]);
1878 REGB0 = CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1879 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1880 if (UNTAG_Bool(REGB0)) {
1881 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0])!=NIT_NULL);
1882 if (UNTAG_Bool(REGB0)) {
1883 } else {
1884 nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax___syntax_base, 302);
1885 }
1886 fra.me.REG[2] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0]);
1887 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0])!=NIT_NULL);
1888 if (UNTAG_Bool(REGB0)) {
1889 } else {
1890 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base, 302);
1891 }
1892 fra.me.REG[3] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0]);
1893 fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMModule___location(fra.me.REG[3])(fra.me.REG[3]);
1894 REGB0 = TAG_Int(3);
1895 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
1896 if (!once_value_1) {
1897 fra.me.REG[5] = BOX_NativeString("Missing necessary class: \"");
1898 REGB0 = TAG_Int(26);
1899 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB0);
1900 once_value_1 = fra.me.REG[5];
1901 register_static_object(&once_value_1);
1902 } else fra.me.REG[5] = once_value_1;
1903 fra.me.REG[5] = fra.me.REG[5];
1904 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
1905 fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
1906 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
1907 if (!once_value_2) {
1908 fra.me.REG[5] = BOX_NativeString("\"");
1909 REGB0 = TAG_Int(1);
1910 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB0);
1911 once_value_2 = fra.me.REG[5];
1912 register_static_object(&once_value_2);
1913 } else fra.me.REG[5] = once_value_2;
1914 fra.me.REG[5] = fra.me.REG[5];
1915 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
1916 fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
1917 CALL_toolcontext___ToolContext___fatal_error(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3], fra.me.REG[4]);
1918 }
1919 /* syntax/syntax_base.nit:303 */
1920 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0])!=NIT_NULL);
1921 if (UNTAG_Bool(REGB0)) {
1922 } else {
1923 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base, 303);
1924 }
1925 fra.me.REG[0] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0]);
1926 fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMModule___class_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1927 /* syntax/syntax_base.nit:304 */
1928 fra.me.REG[1] = CALL_metamodel___static_type___MMLocalClass___get_type(fra.me.REG[1])(fra.me.REG[1]);
1929 goto label3;
1930 label3: while(0);
1931 stack_frame_head = fra.me.prev;
1932 return fra.me.REG[1];
1933 }
1934 val_t syntax___syntax_base___AbsSyntaxVisitor___get_instantiated_type_by_name(val_t p0, val_t p1, val_t p2){
1935 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
1936 val_t REGB0;
1937 val_t tmp;
1938 static val_t once_value_1; /* Once value */
1939 static val_t once_value_2; /* Once value */
1940 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1941 fra.me.file = LOCATE_syntax___syntax_base;
1942 fra.me.line = 307;
1943 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___get_instantiated_type_by_name;
1944 fra.me.has_broke = 0;
1945 fra.me.REG_size = 7;
1946 fra.me.nitni_local_ref_head = NULL;
1947 fra.me.REG[0] = NIT_NULL;
1948 fra.me.REG[1] = NIT_NULL;
1949 fra.me.REG[2] = NIT_NULL;
1950 fra.me.REG[3] = NIT_NULL;
1951 fra.me.REG[4] = NIT_NULL;
1952 fra.me.REG[5] = NIT_NULL;
1953 fra.me.REG[6] = NIT_NULL;
1954 fra.me.REG[0] = p0;
1955 fra.me.REG[1] = p1;
1956 fra.me.REG[2] = p2;
1957 /* syntax/syntax_base.nit:309 */
1958 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0])!=NIT_NULL);
1959 if (UNTAG_Bool(REGB0)) {
1960 } else {
1961 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base, 309);
1962 }
1963 fra.me.REG[3] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0]);
1964 REGB0 = CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
1965 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1966 if (UNTAG_Bool(REGB0)) {
1967 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0])!=NIT_NULL);
1968 if (UNTAG_Bool(REGB0)) {
1969 } else {
1970 nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax___syntax_base, 309);
1971 }
1972 fra.me.REG[3] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0]);
1973 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0])!=NIT_NULL);
1974 if (UNTAG_Bool(REGB0)) {
1975 } else {
1976 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base, 309);
1977 }
1978 fra.me.REG[4] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0]);
1979 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMModule___location(fra.me.REG[4])(fra.me.REG[4]);
1980 REGB0 = TAG_Int(3);
1981 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
1982 if (!once_value_1) {
1983 fra.me.REG[6] = BOX_NativeString("Missing necessary class: \"");
1984 REGB0 = TAG_Int(26);
1985 fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB0);
1986 once_value_1 = fra.me.REG[6];
1987 register_static_object(&once_value_1);
1988 } else fra.me.REG[6] = once_value_1;
1989 fra.me.REG[6] = fra.me.REG[6];
1990 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
1991 fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
1992 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
1993 if (!once_value_2) {
1994 fra.me.REG[6] = BOX_NativeString("\"");
1995 REGB0 = TAG_Int(1);
1996 fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB0);
1997 once_value_2 = fra.me.REG[6];
1998 register_static_object(&once_value_2);
1999 } else fra.me.REG[6] = once_value_2;
2000 fra.me.REG[6] = fra.me.REG[6];
2001 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
2002 fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
2003 CALL_toolcontext___ToolContext___fatal_error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]);
2004 }
2005 /* syntax/syntax_base.nit:310 */
2006 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0])!=NIT_NULL);
2007 if (UNTAG_Bool(REGB0)) {
2008 } else {
2009 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base, 310);
2010 }
2011 fra.me.REG[0] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0]);
2012 fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMModule___class_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2013 /* syntax/syntax_base.nit:311 */
2014 fra.me.REG[2] = CALL_metamodel___genericity___MMLocalClass___get_instantiate_type(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2015 goto label3;
2016 label3: while(0);
2017 stack_frame_head = fra.me.prev;
2018 return fra.me.REG[2];
2019 }
2020 val_t syntax___syntax_base___AbsSyntaxVisitor___type_object(val_t p0){
2021 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2022 val_t REGB0;
2023 val_t tmp;
2024 static val_t once_value_1; /* Once value */
2025 static val_t once_value_2; /* Once value */
2026 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2027 fra.me.file = LOCATE_syntax___syntax_base;
2028 fra.me.line = 314;
2029 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_object;
2030 fra.me.has_broke = 0;
2031 fra.me.REG_size = 2;
2032 fra.me.nitni_local_ref_head = NULL;
2033 fra.me.REG[0] = NIT_NULL;
2034 fra.me.REG[1] = NIT_NULL;
2035 fra.me.REG[0] = p0;
2036 /* syntax/syntax_base.nit:317 */
2037 if (!once_value_1) {
2038 if (!once_value_2) {
2039 fra.me.REG[1] = BOX_NativeString("Object");
2040 REGB0 = TAG_Int(6);
2041 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
2042 once_value_2 = fra.me.REG[1];
2043 register_static_object(&once_value_2);
2044 } else fra.me.REG[1] = once_value_2;
2045 fra.me.REG[1] = fra.me.REG[1];
2046 fra.me.REG[1] = CALL_standard___symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]);
2047 once_value_1 = fra.me.REG[1];
2048 register_static_object(&once_value_1);
2049 } else fra.me.REG[1] = once_value_1;
2050 fra.me.REG[1] = fra.me.REG[1];
2051 fra.me.REG[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___get_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2052 goto label3;
2053 label3: while(0);
2054 stack_frame_head = fra.me.prev;
2055 return fra.me.REG[1];
2056 }
2057 val_t syntax___syntax_base___AbsSyntaxVisitor___type_bool(val_t p0){
2058 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2059 val_t REGB0;
2060 val_t tmp;
2061 static val_t once_value_1; /* Once value */
2062 static val_t once_value_2; /* Once value */
2063 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2064 fra.me.file = LOCATE_syntax___syntax_base;
2065 fra.me.line = 320;
2066 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_bool;
2067 fra.me.has_broke = 0;
2068 fra.me.REG_size = 2;
2069 fra.me.nitni_local_ref_head = NULL;
2070 fra.me.REG[0] = NIT_NULL;
2071 fra.me.REG[1] = NIT_NULL;
2072 fra.me.REG[0] = p0;
2073 /* syntax/syntax_base.nit:323 */
2074 if (!once_value_1) {
2075 if (!once_value_2) {
2076 fra.me.REG[1] = BOX_NativeString("Bool");
2077 REGB0 = TAG_Int(4);
2078 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
2079 once_value_2 = fra.me.REG[1];
2080 register_static_object(&once_value_2);
2081 } else fra.me.REG[1] = once_value_2;
2082 fra.me.REG[1] = fra.me.REG[1];
2083 fra.me.REG[1] = CALL_standard___symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]);
2084 once_value_1 = fra.me.REG[1];
2085 register_static_object(&once_value_1);
2086 } else fra.me.REG[1] = once_value_1;
2087 fra.me.REG[1] = fra.me.REG[1];
2088 fra.me.REG[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___get_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2089 goto label3;
2090 label3: while(0);
2091 stack_frame_head = fra.me.prev;
2092 return fra.me.REG[1];
2093 }
2094 val_t syntax___syntax_base___AbsSyntaxVisitor___type_int(val_t p0){
2095 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2096 val_t REGB0;
2097 val_t tmp;
2098 static val_t once_value_1; /* Once value */
2099 static val_t once_value_2; /* Once value */
2100 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2101 fra.me.file = LOCATE_syntax___syntax_base;
2102 fra.me.line = 326;
2103 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_int;
2104 fra.me.has_broke = 0;
2105 fra.me.REG_size = 2;
2106 fra.me.nitni_local_ref_head = NULL;
2107 fra.me.REG[0] = NIT_NULL;
2108 fra.me.REG[1] = NIT_NULL;
2109 fra.me.REG[0] = p0;
2110 /* syntax/syntax_base.nit:329 */
2111 if (!once_value_1) {
2112 if (!once_value_2) {
2113 fra.me.REG[1] = BOX_NativeString("Int");
2114 REGB0 = TAG_Int(3);
2115 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
2116 once_value_2 = fra.me.REG[1];
2117 register_static_object(&once_value_2);
2118 } else fra.me.REG[1] = once_value_2;
2119 fra.me.REG[1] = fra.me.REG[1];
2120 fra.me.REG[1] = CALL_standard___symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]);
2121 once_value_1 = fra.me.REG[1];
2122 register_static_object(&once_value_1);
2123 } else fra.me.REG[1] = once_value_1;
2124 fra.me.REG[1] = fra.me.REG[1];
2125 fra.me.REG[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___get_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2126 goto label3;
2127 label3: while(0);
2128 stack_frame_head = fra.me.prev;
2129 return fra.me.REG[1];
2130 }
2131 val_t syntax___syntax_base___AbsSyntaxVisitor___type_float(val_t p0){
2132 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2133 val_t REGB0;
2134 val_t tmp;
2135 static val_t once_value_1; /* Once value */
2136 static val_t once_value_2; /* Once value */
2137 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2138 fra.me.file = LOCATE_syntax___syntax_base;
2139 fra.me.line = 332;
2140 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_float;
2141 fra.me.has_broke = 0;
2142 fra.me.REG_size = 2;
2143 fra.me.nitni_local_ref_head = NULL;
2144 fra.me.REG[0] = NIT_NULL;
2145 fra.me.REG[1] = NIT_NULL;
2146 fra.me.REG[0] = p0;
2147 /* syntax/syntax_base.nit:335 */
2148 if (!once_value_1) {
2149 if (!once_value_2) {
2150 fra.me.REG[1] = BOX_NativeString("Float");
2151 REGB0 = TAG_Int(5);
2152 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
2153 once_value_2 = fra.me.REG[1];
2154 register_static_object(&once_value_2);
2155 } else fra.me.REG[1] = once_value_2;
2156 fra.me.REG[1] = fra.me.REG[1];
2157 fra.me.REG[1] = CALL_standard___symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]);
2158 once_value_1 = fra.me.REG[1];
2159 register_static_object(&once_value_1);
2160 } else fra.me.REG[1] = once_value_1;
2161 fra.me.REG[1] = fra.me.REG[1];
2162 fra.me.REG[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___get_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2163 goto label3;
2164 label3: while(0);
2165 stack_frame_head = fra.me.prev;
2166 return fra.me.REG[1];
2167 }
2168 val_t syntax___syntax_base___AbsSyntaxVisitor___type_char(val_t p0){
2169 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2170 val_t REGB0;
2171 val_t tmp;
2172 static val_t once_value_1; /* Once value */
2173 static val_t once_value_2; /* Once value */
2174 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2175 fra.me.file = LOCATE_syntax___syntax_base;
2176 fra.me.line = 338;
2177 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_char;
2178 fra.me.has_broke = 0;
2179 fra.me.REG_size = 2;
2180 fra.me.nitni_local_ref_head = NULL;
2181 fra.me.REG[0] = NIT_NULL;
2182 fra.me.REG[1] = NIT_NULL;
2183 fra.me.REG[0] = p0;
2184 /* syntax/syntax_base.nit:341 */
2185 if (!once_value_1) {
2186 if (!once_value_2) {
2187 fra.me.REG[1] = BOX_NativeString("Char");
2188 REGB0 = TAG_Int(4);
2189 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
2190 once_value_2 = fra.me.REG[1];
2191 register_static_object(&once_value_2);
2192 } else fra.me.REG[1] = once_value_2;
2193 fra.me.REG[1] = fra.me.REG[1];
2194 fra.me.REG[1] = CALL_standard___symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]);
2195 once_value_1 = fra.me.REG[1];
2196 register_static_object(&once_value_1);
2197 } else fra.me.REG[1] = once_value_1;
2198 fra.me.REG[1] = fra.me.REG[1];
2199 fra.me.REG[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___get_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2200 goto label3;
2201 label3: while(0);
2202 stack_frame_head = fra.me.prev;
2203 return fra.me.REG[1];
2204 }
2205 val_t syntax___syntax_base___AbsSyntaxVisitor___type_string(val_t p0){
2206 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2207 val_t REGB0;
2208 val_t tmp;
2209 static val_t once_value_1; /* Once value */
2210 static val_t once_value_2; /* Once value */
2211 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2212 fra.me.file = LOCATE_syntax___syntax_base;
2213 fra.me.line = 344;
2214 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_string;
2215 fra.me.has_broke = 0;
2216 fra.me.REG_size = 2;
2217 fra.me.nitni_local_ref_head = NULL;
2218 fra.me.REG[0] = NIT_NULL;
2219 fra.me.REG[1] = NIT_NULL;
2220 fra.me.REG[0] = p0;
2221 /* syntax/syntax_base.nit:347 */
2222 if (!once_value_1) {
2223 if (!once_value_2) {
2224 fra.me.REG[1] = BOX_NativeString("String");
2225 REGB0 = TAG_Int(6);
2226 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
2227 once_value_2 = fra.me.REG[1];
2228 register_static_object(&once_value_2);
2229 } else fra.me.REG[1] = once_value_2;
2230 fra.me.REG[1] = fra.me.REG[1];
2231 fra.me.REG[1] = CALL_standard___symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]);
2232 once_value_1 = fra.me.REG[1];
2233 register_static_object(&once_value_1);
2234 } else fra.me.REG[1] = once_value_1;
2235 fra.me.REG[1] = fra.me.REG[1];
2236 fra.me.REG[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___get_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2237 goto label3;
2238 label3: while(0);
2239 stack_frame_head = fra.me.prev;
2240 return fra.me.REG[1];
2241 }
2242 val_t syntax___syntax_base___AbsSyntaxVisitor___type_nativestring(val_t p0){
2243 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2244 val_t REGB0;
2245 val_t tmp;
2246 static val_t once_value_1; /* Once value */
2247 static val_t once_value_2; /* Once value */
2248 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2249 fra.me.file = LOCATE_syntax___syntax_base;
2250 fra.me.line = 350;
2251 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_nativestring;
2252 fra.me.has_broke = 0;
2253 fra.me.REG_size = 2;
2254 fra.me.nitni_local_ref_head = NULL;
2255 fra.me.REG[0] = NIT_NULL;
2256 fra.me.REG[1] = NIT_NULL;
2257 fra.me.REG[0] = p0;
2258 /* syntax/syntax_base.nit:353 */
2259 if (!once_value_1) {
2260 if (!once_value_2) {
2261 fra.me.REG[1] = BOX_NativeString("NativeString");
2262 REGB0 = TAG_Int(12);
2263 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
2264 once_value_2 = fra.me.REG[1];
2265 register_static_object(&once_value_2);
2266 } else fra.me.REG[1] = once_value_2;
2267 fra.me.REG[1] = fra.me.REG[1];
2268 fra.me.REG[1] = CALL_standard___symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]);
2269 once_value_1 = fra.me.REG[1];
2270 register_static_object(&once_value_1);
2271 } else fra.me.REG[1] = once_value_1;
2272 fra.me.REG[1] = fra.me.REG[1];
2273 fra.me.REG[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___get_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2274 goto label3;
2275 label3: while(0);
2276 stack_frame_head = fra.me.prev;
2277 return fra.me.REG[1];
2278 }
2279 val_t syntax___syntax_base___AbsSyntaxVisitor___type_array(val_t p0, val_t p1){
2280 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2281 val_t REGB0;
2282 val_t tmp;
2283 static val_t once_value_1; /* Once value */
2284 static val_t once_value_2; /* Once value */
2285 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2286 fra.me.file = LOCATE_syntax___syntax_base;
2287 fra.me.line = 356;
2288 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_array;
2289 fra.me.has_broke = 0;
2290 fra.me.REG_size = 4;
2291 fra.me.nitni_local_ref_head = NULL;
2292 fra.me.REG[0] = NIT_NULL;
2293 fra.me.REG[1] = NIT_NULL;
2294 fra.me.REG[2] = NIT_NULL;
2295 fra.me.REG[3] = NIT_NULL;
2296 fra.me.REG[0] = p0;
2297 fra.me.REG[1] = p1;
2298 /* syntax/syntax_base.nit:359 */
2299 if (!once_value_1) {
2300 if (!once_value_2) {
2301 fra.me.REG[2] = BOX_NativeString("Array");
2302 REGB0 = TAG_Int(5);
2303 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
2304 once_value_2 = fra.me.REG[2];
2305 register_static_object(&once_value_2);
2306 } else fra.me.REG[2] = once_value_2;
2307 fra.me.REG[2] = fra.me.REG[2];
2308 fra.me.REG[2] = CALL_standard___symbol___String___to_symbol(fra.me.REG[2])(fra.me.REG[2]);
2309 once_value_1 = fra.me.REG[2];
2310 register_static_object(&once_value_1);
2311 } else fra.me.REG[2] = once_value_1;
2312 fra.me.REG[2] = fra.me.REG[2];
2313 REGB0 = TAG_Int(1);
2314 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
2315 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
2316 fra.me.REG[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___get_instantiated_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[3]);
2317 goto label3;
2318 label3: while(0);
2319 stack_frame_head = fra.me.prev;
2320 return fra.me.REG[3];
2321 }
2322 val_t syntax___syntax_base___AbsSyntaxVisitor___type_discrete(val_t p0){
2323 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2324 val_t REGB0;
2325 val_t tmp;
2326 static val_t once_value_1; /* Once value */
2327 static val_t once_value_2; /* Once value */
2328 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2329 fra.me.file = LOCATE_syntax___syntax_base;
2330 fra.me.line = 362;
2331 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_discrete;
2332 fra.me.has_broke = 0;
2333 fra.me.REG_size = 2;
2334 fra.me.nitni_local_ref_head = NULL;
2335 fra.me.REG[0] = NIT_NULL;
2336 fra.me.REG[1] = NIT_NULL;
2337 fra.me.REG[0] = p0;
2338 /* syntax/syntax_base.nit:365 */
2339 if (!once_value_1) {
2340 if (!once_value_2) {
2341 fra.me.REG[1] = BOX_NativeString("Discrete");
2342 REGB0 = TAG_Int(8);
2343 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
2344 once_value_2 = fra.me.REG[1];
2345 register_static_object(&once_value_2);
2346 } else fra.me.REG[1] = once_value_2;
2347 fra.me.REG[1] = fra.me.REG[1];
2348 fra.me.REG[1] = CALL_standard___symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]);
2349 once_value_1 = fra.me.REG[1];
2350 register_static_object(&once_value_1);
2351 } else fra.me.REG[1] = once_value_1;
2352 fra.me.REG[1] = fra.me.REG[1];
2353 fra.me.REG[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___get_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2354 goto label3;
2355 label3: while(0);
2356 stack_frame_head = fra.me.prev;
2357 return fra.me.REG[1];
2358 }
2359 val_t syntax___syntax_base___AbsSyntaxVisitor___type_range(val_t p0, val_t p1){
2360 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2361 val_t REGB0;
2362 val_t tmp;
2363 static val_t once_value_1; /* Once value */
2364 static val_t once_value_2; /* Once value */
2365 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2366 fra.me.file = LOCATE_syntax___syntax_base;
2367 fra.me.line = 368;
2368 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_range;
2369 fra.me.has_broke = 0;
2370 fra.me.REG_size = 4;
2371 fra.me.nitni_local_ref_head = NULL;
2372 fra.me.REG[0] = NIT_NULL;
2373 fra.me.REG[1] = NIT_NULL;
2374 fra.me.REG[2] = NIT_NULL;
2375 fra.me.REG[3] = NIT_NULL;
2376 fra.me.REG[0] = p0;
2377 fra.me.REG[1] = p1;
2378 /* syntax/syntax_base.nit:371 */
2379 if (!once_value_1) {
2380 if (!once_value_2) {
2381 fra.me.REG[2] = BOX_NativeString("Range");
2382 REGB0 = TAG_Int(5);
2383 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
2384 once_value_2 = fra.me.REG[2];
2385 register_static_object(&once_value_2);
2386 } else fra.me.REG[2] = once_value_2;
2387 fra.me.REG[2] = fra.me.REG[2];
2388 fra.me.REG[2] = CALL_standard___symbol___String___to_symbol(fra.me.REG[2])(fra.me.REG[2]);
2389 once_value_1 = fra.me.REG[2];
2390 register_static_object(&once_value_1);
2391 } else fra.me.REG[2] = once_value_1;
2392 fra.me.REG[2] = fra.me.REG[2];
2393 REGB0 = TAG_Int(1);
2394 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
2395 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
2396 fra.me.REG[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___get_instantiated_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[3]);
2397 goto label3;
2398 label3: while(0);
2399 stack_frame_head = fra.me.prev;
2400 return fra.me.REG[3];
2401 }
2402 val_t syntax___syntax_base___AbsSyntaxVisitor___type_none(val_t p0){
2403 struct {struct stack_frame_t me;} fra;
2404 val_t REGB0;
2405 val_t tmp;
2406 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2407 fra.me.file = LOCATE_syntax___syntax_base;
2408 fra.me.line = 374;
2409 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_none;
2410 fra.me.has_broke = 0;
2411 fra.me.REG_size = 1;
2412 fra.me.nitni_local_ref_head = NULL;
2413 fra.me.REG[0] = NIT_NULL;
2414 fra.me.REG[0] = p0;
2415 /* syntax/syntax_base.nit:377 */
2416 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0])!=NIT_NULL);
2417 if (UNTAG_Bool(REGB0)) {
2418 } else {
2419 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base, 377);
2420 }
2421 fra.me.REG[0] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0]);
2422 fra.me.REG[0] = CALL_metamodel___static_type___MMModule___type_none(fra.me.REG[0])(fra.me.REG[0]);
2423 goto label1;
2424 label1: while(0);
2425 stack_frame_head = fra.me.prev;
2426 return fra.me.REG[0];
2427 }
2428 val_t syntax___syntax_base___AbsSyntaxVisitor___get_method(val_t p0, val_t p1, val_t p2){
2429 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
2430 val_t REGB0;
2431 val_t tmp;
2432 static val_t once_value_1; /* Once value */
2433 static val_t once_value_2; /* Once value */
2434 static val_t once_value_3; /* Once value */
2435 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2436 fra.me.file = LOCATE_syntax___syntax_base;
2437 fra.me.line = 380;
2438 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___get_method;
2439 fra.me.has_broke = 0;
2440 fra.me.REG_size = 6;
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[3] = NIT_NULL;
2446 fra.me.REG[4] = NIT_NULL;
2447 fra.me.REG[5] = NIT_NULL;
2448 fra.me.REG[0] = p0;
2449 fra.me.REG[1] = p1;
2450 fra.me.REG[2] = p2;
2451 /* syntax/syntax_base.nit:382 */
2452 fra.me.REG[3] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[1])(fra.me.REG[1]);
2453 REGB0 = CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
2454 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
2455 if (UNTAG_Bool(REGB0)) {
2456 /* syntax/syntax_base.nit:383 */
2457 fra.me.REG[3] = CALL_parser___parser_prod___Visitor___current_node(fra.me.REG[0])(fra.me.REG[0]);
2458 REGB0 = TAG_Int(5);
2459 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
2460 if (!once_value_1) {
2461 fra.me.REG[5] = BOX_NativeString("Fatal Error: ");
2462 REGB0 = TAG_Int(13);
2463 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB0);
2464 once_value_1 = fra.me.REG[5];
2465 register_static_object(&once_value_1);
2466 } else fra.me.REG[5] = once_value_1;
2467 fra.me.REG[5] = fra.me.REG[5];
2468 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
2469 fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2470 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
2471 if (!once_value_2) {
2472 fra.me.REG[5] = BOX_NativeString(" must have a property named ");
2473 REGB0 = TAG_Int(28);
2474 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB0);
2475 once_value_2 = fra.me.REG[5];
2476 register_static_object(&once_value_2);
2477 } else fra.me.REG[5] = once_value_2;
2478 fra.me.REG[5] = fra.me.REG[5];
2479 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
2480 fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
2481 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
2482 if (!once_value_3) {
2483 fra.me.REG[5] = BOX_NativeString(".");
2484 REGB0 = TAG_Int(1);
2485 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB0);
2486 once_value_3 = fra.me.REG[5];
2487 register_static_object(&once_value_3);
2488 } else fra.me.REG[5] = once_value_3;
2489 fra.me.REG[5] = fra.me.REG[5];
2490 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
2491 fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
2492 CALL_syntax___syntax_base___AbsSyntaxVisitor___fatal_error(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3], fra.me.REG[4]);
2493 }
2494 /* syntax/syntax_base.nit:385 */
2495 fra.me.REG[1] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[1])(fra.me.REG[1]);
2496 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___select_method(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2497 goto label4;
2498 label4: while(0);
2499 stack_frame_head = fra.me.prev;
2500 return fra.me.REG[2];
2501 }
2502 val_t syntax___syntax_base___AbsSyntaxVisitor___mmmodule(val_t p0){
2503 struct {struct stack_frame_t me;} fra;
2504 val_t REGB0;
2505 val_t tmp;
2506 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2507 fra.me.file = LOCATE_syntax___syntax_base;
2508 fra.me.line = 388;
2509 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___mmmodule;
2510 fra.me.has_broke = 0;
2511 fra.me.REG_size = 1;
2512 fra.me.nitni_local_ref_head = NULL;
2513 fra.me.REG[0] = NIT_NULL;
2514 fra.me.REG[0] = p0;
2515 /* syntax/syntax_base.nit:388 */
2516 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0])!=NIT_NULL);
2517 if (UNTAG_Bool(REGB0)) {
2518 } else {
2519 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base, 388);
2520 }
2521 fra.me.REG[0] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0]);
2522 stack_frame_head = fra.me.prev;
2523 return fra.me.REG[0];
2524 }
2525 val_t syntax___syntax_base___AbsSyntaxVisitor___local_class(val_t p0){
2526 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2527 val_t REGB0;
2528 val_t tmp;
2529 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2530 fra.me.file = LOCATE_syntax___syntax_base;
2531 fra.me.line = 391;
2532 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___local_class;
2533 fra.me.has_broke = 0;
2534 fra.me.REG_size = 2;
2535 fra.me.nitni_local_ref_head = NULL;
2536 fra.me.REG[0] = NIT_NULL;
2537 fra.me.REG[1] = NIT_NULL;
2538 fra.me.REG[0] = p0;
2539 /* syntax/syntax_base.nit:391 */
2540 fra.me.REG[1] = fra.me.REG[0];
2541 /* syntax/syntax_base.nit:392 */
2542 fra.me.REG[1] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____local_class(fra.me.REG[1]);
2543 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
2544 if (UNTAG_Bool(REGB0)) {
2545 } else {
2546 nit_abort("Cast failed", NULL, LOCATE_syntax___syntax_base, 392);
2547 }
2548 goto label1;
2549 label1: while(0);
2550 stack_frame_head = fra.me.prev;
2551 return fra.me.REG[1];
2552 }
2553 void syntax___syntax_base___AbsSyntaxVisitor___local_class__eq(val_t p0, val_t p1){
2554 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2555 val_t tmp;
2556 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2557 fra.me.file = LOCATE_syntax___syntax_base;
2558 fra.me.line = 393;
2559 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___local_class__eq;
2560 fra.me.has_broke = 0;
2561 fra.me.REG_size = 2;
2562 fra.me.nitni_local_ref_head = NULL;
2563 fra.me.REG[0] = NIT_NULL;
2564 fra.me.REG[1] = NIT_NULL;
2565 fra.me.REG[0] = p0;
2566 fra.me.REG[1] = p1;
2567 /* syntax/syntax_base.nit:393 */
2568 ATTR_syntax___syntax_base___AbsSyntaxVisitor____local_class(fra.me.REG[0]) = fra.me.REG[1];
2569 stack_frame_head = fra.me.prev;
2570 return;
2571 }
2572 val_t syntax___syntax_base___AbsSyntaxVisitor___local_property(val_t p0){
2573 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2574 val_t REGB0;
2575 val_t tmp;
2576 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2577 fra.me.file = LOCATE_syntax___syntax_base;
2578 fra.me.line = 395;
2579 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___local_property;
2580 fra.me.has_broke = 0;
2581 fra.me.REG_size = 2;
2582 fra.me.nitni_local_ref_head = NULL;
2583 fra.me.REG[0] = NIT_NULL;
2584 fra.me.REG[1] = NIT_NULL;
2585 fra.me.REG[0] = p0;
2586 /* syntax/syntax_base.nit:395 */
2587 fra.me.REG[1] = fra.me.REG[0];
2588 /* syntax/syntax_base.nit:396 */
2589 fra.me.REG[1] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____local_property(fra.me.REG[1]);
2590 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
2591 if (UNTAG_Bool(REGB0)) {
2592 } else {
2593 nit_abort("Cast failed", NULL, LOCATE_syntax___syntax_base, 396);
2594 }
2595 goto label1;
2596 label1: while(0);
2597 stack_frame_head = fra.me.prev;
2598 return fra.me.REG[1];
2599 }
2600 void syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(val_t p0, val_t p1){
2601 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2602 val_t tmp;
2603 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2604 fra.me.file = LOCATE_syntax___syntax_base;
2605 fra.me.line = 397;
2606 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq;
2607 fra.me.has_broke = 0;
2608 fra.me.REG_size = 2;
2609 fra.me.nitni_local_ref_head = NULL;
2610 fra.me.REG[0] = NIT_NULL;
2611 fra.me.REG[1] = NIT_NULL;
2612 fra.me.REG[0] = p0;
2613 fra.me.REG[1] = p1;
2614 /* syntax/syntax_base.nit:397 */
2615 ATTR_syntax___syntax_base___AbsSyntaxVisitor____local_property(fra.me.REG[0]) = fra.me.REG[1];
2616 stack_frame_head = fra.me.prev;
2617 return;
2618 }
2619 val_t syntax___syntax_base___AbsSyntaxVisitor___tc(val_t p0){
2620 struct {struct stack_frame_t me;} fra;
2621 val_t REGB0;
2622 val_t tmp;
2623 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2624 fra.me.file = LOCATE_syntax___syntax_base;
2625 fra.me.line = 399;
2626 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___tc;
2627 fra.me.has_broke = 0;
2628 fra.me.REG_size = 1;
2629 fra.me.nitni_local_ref_head = NULL;
2630 fra.me.REG[0] = NIT_NULL;
2631 fra.me.REG[0] = p0;
2632 /* syntax/syntax_base.nit:399 */
2633 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0])!=NIT_NULL);
2634 if (UNTAG_Bool(REGB0)) {
2635 } else {
2636 nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax___syntax_base, 399);
2637 }
2638 fra.me.REG[0] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0]);
2639 stack_frame_head = fra.me.prev;
2640 return fra.me.REG[0];
2641 }
2642 void syntax___syntax_base___AbsSyntaxVisitor___error(val_t p0, val_t p1, val_t p2){
2643 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2644 val_t REGB0;
2645 val_t REGB1;
2646 val_t tmp;
2647 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2648 fra.me.file = LOCATE_syntax___syntax_base;
2649 fra.me.line = 402;
2650 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___error;
2651 fra.me.has_broke = 0;
2652 fra.me.REG_size = 4;
2653 fra.me.nitni_local_ref_head = NULL;
2654 fra.me.REG[0] = NIT_NULL;
2655 fra.me.REG[1] = NIT_NULL;
2656 fra.me.REG[2] = NIT_NULL;
2657 fra.me.REG[3] = NIT_NULL;
2658 fra.me.REG[0] = p0;
2659 fra.me.REG[1] = p1;
2660 fra.me.REG[2] = p2;
2661 /* syntax/syntax_base.nit:405 */
2662 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0])!=NIT_NULL);
2663 if (UNTAG_Bool(REGB0)) {
2664 } else {
2665 nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax___syntax_base, 405);
2666 }
2667 fra.me.REG[0] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0]);
2668 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2669 if (UNTAG_Bool(REGB0)) {
2670 } else {
2671 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2672 if (UNTAG_Bool(REGB1)) {
2673 REGB1 = TAG_Bool(false);
2674 REGB0 = REGB1;
2675 } else {
2676 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
2677 REGB0 = REGB1;
2678 }
2679 }
2680 if (UNTAG_Bool(REGB0)) {
2681 fra.me.REG[3] = NIT_NULL;
2682 } else {
2683 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2684 if (UNTAG_Bool(REGB0)) {
2685 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 405);
2686 }
2687 fra.me.REG[1] = CALL_parser___parser_nodes___ANode___hot_location(fra.me.REG[1])(fra.me.REG[1]);
2688 fra.me.REG[3] = fra.me.REG[1];
2689 }
2690 CALL_toolcontext___ToolContext___error(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3], fra.me.REG[2]);
2691 stack_frame_head = fra.me.prev;
2692 return;
2693 }
2694 void syntax___syntax_base___AbsSyntaxVisitor___fatal_error(val_t p0, val_t p1, val_t p2){
2695 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2696 val_t REGB0;
2697 val_t REGB1;
2698 val_t tmp;
2699 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2700 fra.me.file = LOCATE_syntax___syntax_base;
2701 fra.me.line = 408;
2702 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___fatal_error;
2703 fra.me.has_broke = 0;
2704 fra.me.REG_size = 4;
2705 fra.me.nitni_local_ref_head = NULL;
2706 fra.me.REG[0] = NIT_NULL;
2707 fra.me.REG[1] = NIT_NULL;
2708 fra.me.REG[2] = NIT_NULL;
2709 fra.me.REG[3] = NIT_NULL;
2710 fra.me.REG[0] = p0;
2711 fra.me.REG[1] = p1;
2712 fra.me.REG[2] = p2;
2713 /* syntax/syntax_base.nit:411 */
2714 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0])!=NIT_NULL);
2715 if (UNTAG_Bool(REGB0)) {
2716 } else {
2717 nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax___syntax_base, 411);
2718 }
2719 fra.me.REG[0] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0]);
2720 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2721 if (UNTAG_Bool(REGB0)) {
2722 } else {
2723 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2724 if (UNTAG_Bool(REGB1)) {
2725 REGB1 = TAG_Bool(false);
2726 REGB0 = REGB1;
2727 } else {
2728 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
2729 REGB0 = REGB1;
2730 }
2731 }
2732 if (UNTAG_Bool(REGB0)) {
2733 fra.me.REG[3] = NIT_NULL;
2734 } else {
2735 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2736 if (UNTAG_Bool(REGB0)) {
2737 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 411);
2738 }
2739 fra.me.REG[1] = CALL_parser___parser_nodes___ANode___hot_location(fra.me.REG[1])(fra.me.REG[1]);
2740 fra.me.REG[3] = fra.me.REG[1];
2741 }
2742 CALL_toolcontext___ToolContext___fatal_error(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3], fra.me.REG[2]);
2743 stack_frame_head = fra.me.prev;
2744 return;
2745 }
2746 void syntax___syntax_base___AbsSyntaxVisitor___warning(val_t p0, val_t p1, val_t p2){
2747 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2748 val_t REGB0;
2749 val_t REGB1;
2750 val_t tmp;
2751 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2752 fra.me.file = LOCATE_syntax___syntax_base;
2753 fra.me.line = 414;
2754 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___warning;
2755 fra.me.has_broke = 0;
2756 fra.me.REG_size = 4;
2757 fra.me.nitni_local_ref_head = NULL;
2758 fra.me.REG[0] = NIT_NULL;
2759 fra.me.REG[1] = NIT_NULL;
2760 fra.me.REG[2] = NIT_NULL;
2761 fra.me.REG[3] = NIT_NULL;
2762 fra.me.REG[0] = p0;
2763 fra.me.REG[1] = p1;
2764 fra.me.REG[2] = p2;
2765 /* syntax/syntax_base.nit:417 */
2766 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0])!=NIT_NULL);
2767 if (UNTAG_Bool(REGB0)) {
2768 } else {
2769 nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax___syntax_base, 417);
2770 }
2771 fra.me.REG[0] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0]);
2772 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2773 if (UNTAG_Bool(REGB0)) {
2774 } else {
2775 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2776 if (UNTAG_Bool(REGB1)) {
2777 REGB1 = TAG_Bool(false);
2778 REGB0 = REGB1;
2779 } else {
2780 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
2781 REGB0 = REGB1;
2782 }
2783 }
2784 if (UNTAG_Bool(REGB0)) {
2785 fra.me.REG[3] = NIT_NULL;
2786 } else {
2787 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2788 if (UNTAG_Bool(REGB0)) {
2789 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 417);
2790 }
2791 fra.me.REG[1] = CALL_parser___parser_nodes___ANode___hot_location(fra.me.REG[1])(fra.me.REG[1]);
2792 fra.me.REG[3] = fra.me.REG[1];
2793 }
2794 CALL_toolcontext___ToolContext___warning(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3], fra.me.REG[2]);
2795 stack_frame_head = fra.me.prev;
2796 return;
2797 }
2798 val_t syntax___syntax_base___AbsSyntaxVisitor___check_conform(val_t p0, val_t p1, val_t p2, val_t p3){
2799 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
2800 val_t REGB0;
2801 val_t REGB1;
2802 val_t REGB2;
2803 val_t tmp;
2804 static val_t once_value_2; /* Once value */
2805 static val_t once_value_3; /* Once value */
2806 static val_t once_value_4; /* Once value */
2807 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2808 fra.me.file = LOCATE_syntax___syntax_base;
2809 fra.me.line = 420;
2810 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___check_conform;
2811 fra.me.has_broke = 0;
2812 fra.me.REG_size = 6;
2813 fra.me.nitni_local_ref_head = NULL;
2814 fra.me.REG[0] = NIT_NULL;
2815 fra.me.REG[1] = NIT_NULL;
2816 fra.me.REG[2] = NIT_NULL;
2817 fra.me.REG[3] = NIT_NULL;
2818 fra.me.REG[4] = NIT_NULL;
2819 fra.me.REG[5] = NIT_NULL;
2820 fra.me.REG[0] = p0;
2821 fra.me.REG[1] = p1;
2822 fra.me.REG[2] = p2;
2823 fra.me.REG[3] = p3;
2824 /* syntax/syntax_base.nit:423 */
2825 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
2826 if (UNTAG_Bool(REGB0)) {
2827 } else {
2828 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
2829 if (UNTAG_Bool(REGB1)) {
2830 REGB1 = TAG_Bool(false);
2831 REGB0 = REGB1;
2832 } else {
2833 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
2834 REGB0 = REGB1;
2835 }
2836 }
2837 if (UNTAG_Bool(REGB0)) {
2838 REGB0 = TAG_Bool(true);
2839 } else {
2840 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2841 if (UNTAG_Bool(REGB1)) {
2842 } else {
2843 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2844 if (UNTAG_Bool(REGB2)) {
2845 REGB2 = TAG_Bool(false);
2846 REGB1 = REGB2;
2847 } else {
2848 REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
2849 REGB1 = REGB2;
2850 }
2851 }
2852 REGB0 = REGB1;
2853 }
2854 if (UNTAG_Bool(REGB0)) {
2855 /* syntax/syntax_base.nit:424 */
2856 REGB0 = TAG_Bool(false);
2857 goto label1;
2858 }
2859 /* syntax/syntax_base.nit:426 */
2860 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2861 if (UNTAG_Bool(REGB1)) {
2862 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 426);
2863 }
2864 REGB1 = CALL_metamodel___static_type___MMType_____l(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2865 if (UNTAG_Bool(REGB1)) {
2866 /* syntax/syntax_base.nit:427 */
2867 REGB1 = TAG_Bool(true);
2868 REGB0 = REGB1;
2869 goto label1;
2870 }
2871 /* syntax/syntax_base.nit:429 */
2872 REGB1 = TAG_Int(5);
2873 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
2874 if (!once_value_2) {
2875 fra.me.REG[5] = BOX_NativeString("Type error: expected ");
2876 REGB1 = TAG_Int(21);
2877 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB1);
2878 once_value_2 = fra.me.REG[5];
2879 register_static_object(&once_value_2);
2880 } else fra.me.REG[5] = once_value_2;
2881 fra.me.REG[5] = fra.me.REG[5];
2882 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
2883 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
2884 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
2885 if (!once_value_3) {
2886 fra.me.REG[3] = BOX_NativeString(", got ");
2887 REGB1 = TAG_Int(6);
2888 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB1);
2889 once_value_3 = fra.me.REG[3];
2890 register_static_object(&once_value_3);
2891 } else fra.me.REG[3] = once_value_3;
2892 fra.me.REG[3] = fra.me.REG[3];
2893 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
2894 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
2895 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
2896 if (!once_value_4) {
2897 fra.me.REG[2] = BOX_NativeString("");
2898 REGB1 = TAG_Int(0);
2899 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
2900 once_value_4 = fra.me.REG[2];
2901 register_static_object(&once_value_4);
2902 } else fra.me.REG[2] = once_value_4;
2903 fra.me.REG[2] = fra.me.REG[2];
2904 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
2905 fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
2906 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[4]);
2907 /* syntax/syntax_base.nit:430 */
2908 REGB1 = TAG_Bool(false);
2909 REGB0 = REGB1;
2910 goto label1;
2911 label1: while(0);
2912 stack_frame_head = fra.me.prev;
2913 return REGB0;
2914 }
2915 val_t syntax___syntax_base___AbsSyntaxVisitor___check_expr(val_t p0, val_t p1){
2916 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2917 val_t REGB0;
2918 val_t REGB1;
2919 val_t REGB2;
2920 val_t tmp;
2921 static val_t once_value_1; /* Once value */
2922 static val_t once_value_2; /* Once value */
2923 static val_t once_value_4; /* Once value */
2924 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2925 fra.me.file = LOCATE_syntax___syntax_base;
2926 fra.me.line = 433;
2927 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___check_expr;
2928 fra.me.has_broke = 0;
2929 fra.me.REG_size = 4;
2930 fra.me.nitni_local_ref_head = NULL;
2931 fra.me.REG[0] = NIT_NULL;
2932 fra.me.REG[1] = NIT_NULL;
2933 fra.me.REG[2] = NIT_NULL;
2934 fra.me.REG[3] = NIT_NULL;
2935 fra.me.REG[0] = p0;
2936 fra.me.REG[1] = p1;
2937 /* syntax/syntax_base.nit:438 */
2938 REGB0 = CALL_syntax___syntax_base___AExpr___is_typed(fra.me.REG[1])(fra.me.REG[1]);
2939 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
2940 if (UNTAG_Bool(REGB0)) {
2941 /* syntax/syntax_base.nit:439 */
2942 fra.me.REG[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___tc(fra.me.REG[0])(fra.me.REG[0]);
2943 REGB0 = CALL_toolcontext___ToolContext___error_count(fra.me.REG[2])(fra.me.REG[2]);
2944 REGB1 = TAG_Int(0);
2945 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
2946 if (UNTAG_Bool(REGB2)) {
2947 } else {
2948 /* ../lib/standard/kernel.nit:227 */
2949 REGB1 = TAG_Bool((REGB0)==(REGB1));
2950 /* syntax/syntax_base.nit:439 */
2951 REGB2 = REGB1;
2952 }
2953 if (UNTAG_Bool(REGB2)) {
2954 /* syntax/syntax_base.nit:440 */
2955 REGB2 = TAG_Int(3);
2956 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2);
2957 if (!once_value_1) {
2958 fra.me.REG[3] = BOX_NativeString("");
2959 REGB2 = TAG_Int(0);
2960 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB2);
2961 once_value_1 = fra.me.REG[3];
2962 register_static_object(&once_value_1);
2963 } else fra.me.REG[3] = once_value_1;
2964 fra.me.REG[3] = fra.me.REG[3];
2965 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2966 fra.me.REG[3] = CALL_parser___parser_nodes___ANode___location(fra.me.REG[1])(fra.me.REG[1]);
2967 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
2968 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2969 if (!once_value_2) {
2970 fra.me.REG[3] = BOX_NativeString(" not typed but not error");
2971 REGB2 = TAG_Int(24);
2972 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB2);
2973 once_value_2 = fra.me.REG[3];
2974 register_static_object(&once_value_2);
2975 } else fra.me.REG[3] = once_value_2;
2976 fra.me.REG[3] = fra.me.REG[3];
2977 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2978 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
2979 CALL_standard___file___Object___print(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
2980 /* syntax/syntax_base.nit:441 */
2981 nit_abort("Aborted", NULL, LOCATE_syntax___syntax_base, 441);
2982 }
2983 /* syntax/syntax_base.nit:445 */
2984 REGB2 = TAG_Bool(false);
2985 goto label3;
2986 } else {
2987 /* syntax/syntax_base.nit:446 */
2988 REGB1 = CALL_syntax___syntax_base___AExpr___is_statement(fra.me.REG[1])(fra.me.REG[1]);
2989 if (UNTAG_Bool(REGB1)) {
2990 /* syntax/syntax_base.nit:447 */
2991 if (!once_value_4) {
2992 fra.me.REG[2] = BOX_NativeString("Type error: expected expression.");
2993 REGB1 = TAG_Int(32);
2994 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
2995 once_value_4 = fra.me.REG[2];
2996 register_static_object(&once_value_4);
2997 } else fra.me.REG[2] = once_value_4;
2998 fra.me.REG[2] = fra.me.REG[2];
2999 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]);
3000 /* syntax/syntax_base.nit:448 */
3001 REGB1 = TAG_Bool(false);
3002 REGB2 = REGB1;
3003 goto label3;
3004 }
3005 }
3006 /* syntax/syntax_base.nit:450 */
3007 REGB1 = TAG_Bool(true);
3008 REGB2 = REGB1;
3009 goto label3;
3010 label3: while(0);
3011 stack_frame_head = fra.me.prev;
3012 return REGB2;
3013 }
3014 val_t syntax___syntax_base___AbsSyntaxVisitor___check_conform_expr(val_t p0, val_t p1, val_t p2){
3015 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
3016 val_t REGB0;
3017 val_t REGB1;
3018 val_t tmp;
3019 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3020 fra.me.file = LOCATE_syntax___syntax_base;
3021 fra.me.line = 453;
3022 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___check_conform_expr;
3023 fra.me.has_broke = 0;
3024 fra.me.REG_size = 4;
3025 fra.me.nitni_local_ref_head = NULL;
3026 fra.me.REG[0] = NIT_NULL;
3027 fra.me.REG[1] = NIT_NULL;
3028 fra.me.REG[2] = NIT_NULL;
3029 fra.me.REG[3] = NIT_NULL;
3030 fra.me.REG[0] = p0;
3031 fra.me.REG[1] = p1;
3032 fra.me.REG[2] = p2;
3033 /* syntax/syntax_base.nit:456 */
3034 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3035 if (UNTAG_Bool(REGB0)) {
3036 } else {
3037 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3038 if (UNTAG_Bool(REGB1)) {
3039 REGB1 = TAG_Bool(false);
3040 REGB0 = REGB1;
3041 } else {
3042 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
3043 REGB0 = REGB1;
3044 }
3045 }
3046 if (UNTAG_Bool(REGB0)) {
3047 REGB0 = TAG_Bool(false);
3048 goto label1;
3049 }
3050 /* syntax/syntax_base.nit:457 */
3051 REGB1 = CALL_syntax___syntax_base___AbsSyntaxVisitor___check_expr(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
3052 if (UNTAG_Bool(REGB1)) {
3053 fra.me.REG[3] = CALL_syntax___syntax_base___AExpr___stype(fra.me.REG[1])(fra.me.REG[1]);
3054 REGB1 = CALL_syntax___syntax_base___AbsSyntaxVisitor___check_conform(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[3], fra.me.REG[2]);
3055 REGB0 = REGB1;
3056 goto label1;
3057 } else {
3058 REGB1 = TAG_Bool(false);
3059 REGB0 = REGB1;
3060 goto label1;
3061 }
3062 label1: while(0);
3063 stack_frame_head = fra.me.prev;
3064 return REGB0;
3065 }
3066 val_t syntax___syntax_base___AbsSyntaxVisitor___check_conform_multiexpr(val_t p0, val_t p1, val_t p2){
3067 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
3068 val_t REGB0;
3069 val_t REGB1;
3070 val_t tmp;
3071 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3072 fra.me.file = LOCATE_syntax___syntax_base;
3073 fra.me.line = 460;
3074 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___check_conform_multiexpr;
3075 fra.me.has_broke = 0;
3076 fra.me.REG_size = 5;
3077 fra.me.nitni_local_ref_head = NULL;
3078 fra.me.REG[0] = NIT_NULL;
3079 fra.me.REG[1] = NIT_NULL;
3080 fra.me.REG[2] = NIT_NULL;
3081 fra.me.REG[3] = NIT_NULL;
3082 fra.me.REG[4] = NIT_NULL;
3083 fra.me.REG[0] = p0;
3084 fra.me.REG[1] = p1;
3085 fra.me.REG[2] = p2;
3086 /* syntax/syntax_base.nit:472 */
3087 fra.me.REG[3] = NIT_NULL;
3088 CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[2])(fra.me.REG[2], (&(fra.me)), ((fun_t)OC_syntax___syntax_base___AbsSyntaxVisitor___check_conform_multiexpr_1));
3089 switch ((&(fra.me))->has_broke) {
3090 case 0: break;
3091 case 1: (&(fra.me))->has_broke = 0; goto label3;
3092 }
3093 /* syntax/syntax_base.nit:486 */
3094 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
3095 if (UNTAG_Bool(REGB0)) {
3096 } else {
3097 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
3098 if (UNTAG_Bool(REGB1)) {
3099 REGB1 = TAG_Bool(false);
3100 REGB0 = REGB1;
3101 } else {
3102 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
3103 REGB0 = REGB1;
3104 }
3105 }
3106 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
3107 if (UNTAG_Bool(REGB0)) {
3108 } else {
3109 nit_abort("Assert failed", NULL, LOCATE_syntax___syntax_base, 486);
3110 }
3111 CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[2])(fra.me.REG[2], (&(fra.me)), ((fun_t)OC_syntax___syntax_base___AbsSyntaxVisitor___check_conform_multiexpr_4));
3112 switch ((&(fra.me))->has_broke) {
3113 case 0: break;
3114 case 1: (&(fra.me))->has_broke = 0; goto label3;
3115 }
3116 /* syntax/syntax_base.nit:497 */
3117 fra.me.REG[4] = fra.me.REG[1];
3118 goto label3;
3119 label3: while(0);
3120 stack_frame_head = fra.me.prev;
3121 return fra.me.REG[4];
3122 }
3123 void OC_syntax___syntax_base___AbsSyntaxVisitor___check_conform_multiexpr_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
3124 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3125 val_t REGB0;
3126 val_t REGB1;
3127 val_t REGB2;
3128 fun_t CREG[1];
3129 val_t tmp;
3130 /* syntax/syntax_base.nit:473 */
3131 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3132 fra.me.file = LOCATE_syntax___syntax_base;
3133 fra.me.line = 0;
3134 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___check_conform_multiexpr;
3135 fra.me.has_broke = 0;
3136 fra.me.REG_size = 3;
3137 fra.me.nitni_local_ref_head = NULL;
3138 fra.me.REG[0] = NIT_NULL;
3139 fra.me.REG[1] = NIT_NULL;
3140 fra.me.REG[2] = NIT_NULL;
3141 fra.me.closure_ctx = closctx_param;
3142 fra.me.closure_funs = CREG;
3143 fra.me.REG[0] = p0;
3144 CREG[0] = clos_fun0;
3145 /* syntax/syntax_base.nit:474 */
3146 REGB0 = CALL_syntax___syntax_base___AbsSyntaxVisitor___check_expr(closctx->REG[0])(closctx->REG[0], fra.me.REG[0]);
3147 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
3148 if (UNTAG_Bool(REGB0)) {
3149 closctx->REG[4] = NIT_NULL;
3150 closctx->has_broke = 1;
3151 goto label2;
3152 }
3153 /* syntax/syntax_base.nit:475 */
3154 fra.me.REG[1] = CALL_syntax___syntax_base___AExpr___stype(fra.me.REG[0])(fra.me.REG[0]);
3155 /* syntax/syntax_base.nit:476 */
3156 REGB0 = TAG_Bool(closctx->REG[1]==NIT_NULL);
3157 if (UNTAG_Bool(REGB0)) {
3158 } else {
3159 REGB1 = TAG_Bool(closctx->REG[1]==NIT_NULL);
3160 if (UNTAG_Bool(REGB1)) {
3161 REGB1 = TAG_Bool(false);
3162 REGB0 = REGB1;
3163 } else {
3164 REGB1 = CALL_standard___kernel___Object_____eqeq(closctx->REG[1])(closctx->REG[1], NIT_NULL);
3165 REGB0 = REGB1;
3166 }
3167 }
3168 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
3169 if (UNTAG_Bool(REGB0)) {
3170 REGB0 = TAG_Bool(closctx->REG[1]==NIT_NULL);
3171 if (UNTAG_Bool(REGB0)) {
3172 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 476);
3173 }
3174 REGB0 = CALL_metamodel___static_type___MMType___is_nullable(closctx->REG[1])(closctx->REG[1]);
3175 REGB1 = CALL_metamodel___static_type___MMType___is_nullable(fra.me.REG[1])(fra.me.REG[1]);
3176 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
3177 if (UNTAG_Bool(REGB2)) {
3178 } else {
3179 /* ../lib/standard/kernel.nit:195 */
3180 REGB1 = TAG_Bool((REGB0)==(REGB1));
3181 /* syntax/syntax_base.nit:476 */
3182 REGB2 = REGB1;
3183 }
3184 REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
3185 } else {
3186 REGB1 = TAG_Bool(false);
3187 REGB2 = REGB1;
3188 }
3189 if (UNTAG_Bool(REGB2)) {
3190 /* syntax/syntax_base.nit:478 */
3191 REGB2 = TAG_Bool(closctx->REG[1]==NIT_NULL);
3192 if (UNTAG_Bool(REGB2)) {
3193 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 478);
3194 }
3195 fra.me.REG[2] = CALL_metamodel___static_type___MMType___as_nullable(closctx->REG[1])(closctx->REG[1]);
3196 closctx->REG[1] = fra.me.REG[2];
3197 /* syntax/syntax_base.nit:479 */
3198 fra.me.REG[2] = CALL_metamodel___static_type___MMType___as_nullable(fra.me.REG[1])(fra.me.REG[1]);
3199 fra.me.REG[1] = fra.me.REG[2];
3200 }
3201 /* syntax/syntax_base.nit:481 */
3202 REGB2 = TAG_Bool(closctx->REG[1]==NIT_NULL);
3203 if (UNTAG_Bool(REGB2)) {
3204 } else {
3205 REGB1 = TAG_Bool(closctx->REG[1]==NIT_NULL);
3206 if (UNTAG_Bool(REGB1)) {
3207 REGB1 = TAG_Bool(false);
3208 REGB2 = REGB1;
3209 } else {
3210 REGB1 = CALL_standard___kernel___Object_____eqeq(closctx->REG[1])(closctx->REG[1], NIT_NULL);
3211 REGB2 = REGB1;
3212 }
3213 }
3214 if (UNTAG_Bool(REGB2)) {
3215 REGB2 = TAG_Bool(true);
3216 } else {
3217 REGB1 = TAG_Bool(closctx->REG[1]==NIT_NULL);
3218 if (UNTAG_Bool(REGB1)) {
3219 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 481);
3220 }
3221 REGB1 = CALL_metamodel___static_type___MMType_____l(closctx->REG[1])(closctx->REG[1], fra.me.REG[1]);
3222 REGB2 = REGB1;
3223 }
3224 if (UNTAG_Bool(REGB2)) {
3225 /* syntax/syntax_base.nit:482 */
3226 closctx->REG[1] = fra.me.REG[1];
3227 /* syntax/syntax_base.nit:483 */
3228 closctx->REG[3] = fra.me.REG[0];
3229 }
3230 label2: while(0);
3231 stack_frame_head = fra.me.prev;
3232 return;
3233 }
3234 void OC_syntax___syntax_base___AbsSyntaxVisitor___check_conform_multiexpr_4(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
3235 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
3236 val_t REGB0;
3237 val_t REGB1;
3238 fun_t CREG[1];
3239 val_t tmp;
3240 static val_t once_value_5; /* Once value */
3241 static val_t once_value_6; /* Once value */
3242 static val_t once_value_7; /* Once value */
3243 static val_t once_value_8; /* Once value */
3244 static val_t once_value_9; /* Once value */
3245 static val_t once_value_10; /* Once value */
3246 static val_t once_value_11; /* Once value */
3247 /* syntax/syntax_base.nit:487 */
3248 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3249 fra.me.file = LOCATE_syntax___syntax_base;
3250 fra.me.line = 0;
3251 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___check_conform_multiexpr;
3252 fra.me.has_broke = 0;
3253 fra.me.REG_size = 4;
3254 fra.me.nitni_local_ref_head = NULL;
3255 fra.me.REG[0] = NIT_NULL;
3256 fra.me.REG[1] = NIT_NULL;
3257 fra.me.REG[2] = NIT_NULL;
3258 fra.me.REG[3] = NIT_NULL;
3259 fra.me.closure_ctx = closctx_param;
3260 fra.me.closure_funs = CREG;
3261 fra.me.REG[0] = p0;
3262 CREG[0] = clos_fun0;
3263 /* syntax/syntax_base.nit:488 */
3264 fra.me.REG[1] = CALL_syntax___syntax_base___AExpr___stype(fra.me.REG[0])(fra.me.REG[0]);
3265 REGB0 = CALL_metamodel___static_type___MMType_____l(fra.me.REG[1])(fra.me.REG[1], closctx->REG[1]);
3266 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
3267 if (UNTAG_Bool(REGB0)) {
3268 /* syntax/syntax_base.nit:489 */
3269 REGB0 = TAG_Bool(closctx->REG[3]==NIT_NULL);
3270 if (UNTAG_Bool(REGB0)) {
3271 } else {
3272 REGB1 = TAG_Bool(closctx->REG[3]==NIT_NULL);
3273 if (UNTAG_Bool(REGB1)) {
3274 REGB1 = TAG_Bool(false);
3275 REGB0 = REGB1;
3276 } else {
3277 REGB1 = CALL_standard___kernel___Object_____eqeq(closctx->REG[3])(closctx->REG[3], NIT_NULL);
3278 REGB0 = REGB1;
3279 }
3280 }
3281 if (UNTAG_Bool(REGB0)) {
3282 /* syntax/syntax_base.nit:490 */
3283 REGB0 = TAG_Int(5);
3284 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
3285 if (!once_value_5) {
3286 fra.me.REG[2] = BOX_NativeString("Type error: no most general type. Got ");
3287 REGB0 = TAG_Int(38);
3288 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
3289 once_value_5 = fra.me.REG[2];
3290 register_static_object(&once_value_5);
3291 } else fra.me.REG[2] = once_value_5;
3292 fra.me.REG[2] = fra.me.REG[2];
3293 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3294 fra.me.REG[2] = CALL_syntax___syntax_base___AExpr___stype(fra.me.REG[0])(fra.me.REG[0]);
3295 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
3296 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3297 if (!once_value_6) {
3298 fra.me.REG[2] = BOX_NativeString(" and ");
3299 REGB0 = TAG_Int(5);
3300 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
3301 once_value_6 = fra.me.REG[2];
3302 register_static_object(&once_value_6);
3303 } else fra.me.REG[2] = once_value_6;
3304 fra.me.REG[2] = fra.me.REG[2];
3305 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3306 fra.me.REG[2] = CALL_standard___string___Object___to_s(closctx->REG[1])(closctx->REG[1]);
3307 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3308 if (!once_value_7) {
3309 fra.me.REG[2] = BOX_NativeString(".");
3310 REGB0 = TAG_Int(1);
3311 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
3312 once_value_7 = fra.me.REG[2];
3313 register_static_object(&once_value_7);
3314 } else fra.me.REG[2] = once_value_7;
3315 fra.me.REG[2] = fra.me.REG[2];
3316 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3317 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
3318 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(closctx->REG[0])(closctx->REG[0], fra.me.REG[0], fra.me.REG[1]);
3319 } else {
3320 /* syntax/syntax_base.nit:492 */
3321 REGB0 = TAG_Int(7);
3322 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
3323 if (!once_value_8) {
3324 fra.me.REG[2] = BOX_NativeString("Type error: no most general type. Got ");
3325 REGB0 = TAG_Int(38);
3326 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
3327 once_value_8 = fra.me.REG[2];
3328 register_static_object(&once_value_8);
3329 } else fra.me.REG[2] = once_value_8;
3330 fra.me.REG[2] = fra.me.REG[2];
3331 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3332 fra.me.REG[2] = CALL_syntax___syntax_base___AExpr___stype(fra.me.REG[0])(fra.me.REG[0]);
3333 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
3334 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3335 if (!once_value_9) {
3336 fra.me.REG[2] = BOX_NativeString(" and ");
3337 REGB0 = TAG_Int(5);
3338 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
3339 once_value_9 = fra.me.REG[2];
3340 register_static_object(&once_value_9);
3341 } else fra.me.REG[2] = once_value_9;
3342 fra.me.REG[2] = fra.me.REG[2];
3343 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3344 fra.me.REG[2] = CALL_standard___string___Object___to_s(closctx->REG[1])(closctx->REG[1]);
3345 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3346 if (!once_value_10) {
3347 fra.me.REG[2] = BOX_NativeString(" at ");
3348 REGB0 = TAG_Int(4);
3349 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
3350 once_value_10 = fra.me.REG[2];
3351 register_static_object(&once_value_10);
3352 } else fra.me.REG[2] = once_value_10;
3353 fra.me.REG[2] = fra.me.REG[2];
3354 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3355 REGB0 = TAG_Bool(closctx->REG[3]==NIT_NULL);
3356 if (UNTAG_Bool(REGB0)) {
3357 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 492);
3358 }
3359 fra.me.REG[2] = CALL_parser___parser_nodes___ANode___location(closctx->REG[3])(closctx->REG[3]);
3360 fra.me.REG[3] = CALL_parser___parser_nodes___ANode___location(fra.me.REG[0])(fra.me.REG[0]);
3361 fra.me.REG[3] = CALL_location___Location___relative_to(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
3362 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
3363 if (!once_value_11) {
3364 fra.me.REG[3] = BOX_NativeString(".");
3365 REGB0 = TAG_Int(1);
3366 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
3367 once_value_11 = fra.me.REG[3];
3368 register_static_object(&once_value_11);
3369 } else fra.me.REG[3] = once_value_11;
3370 fra.me.REG[3] = fra.me.REG[3];
3371 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
3372 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
3373 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(closctx->REG[0])(closctx->REG[0], fra.me.REG[0], fra.me.REG[1]);
3374 }
3375 /* syntax/syntax_base.nit:494 */
3376 closctx->REG[4] = NIT_NULL;
3377 closctx->has_broke = 1;
3378 goto label12;
3379 }
3380 label12: while(0);
3381 stack_frame_head = fra.me.prev;
3382 return;
3383 }
3384 void syntax___syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table){
3385 int itpos14 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___syntax_base___AbsSyntaxVisitor].i;
3386 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
3387 val_t tmp;
3388 if (init_table[itpos14]) return;
3389 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3390 fra.me.file = LOCATE_syntax___syntax_base;
3391 fra.me.line = 500;
3392 fra.me.meth = LOCATE_syntax___syntax_base___AbsSyntaxVisitor___init;
3393 fra.me.has_broke = 0;
3394 fra.me.REG_size = 4;
3395 fra.me.nitni_local_ref_head = NULL;
3396 fra.me.REG[0] = NIT_NULL;
3397 fra.me.REG[1] = NIT_NULL;
3398 fra.me.REG[2] = NIT_NULL;
3399 fra.me.REG[3] = NIT_NULL;
3400 fra.me.REG[0] = p0;
3401 fra.me.REG[1] = p1;
3402 fra.me.REG[2] = p2;
3403 /* syntax/syntax_base.nit:500 */
3404 fra.me.REG[3] = fra.me.REG[0];
3405 CALL_parser___parser_prod___Visitor___init(fra.me.REG[0])(fra.me.REG[0], init_table);
3406 /* syntax/syntax_base.nit:502 */
3407 ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[3]) = fra.me.REG[1];
3408 /* syntax/syntax_base.nit:503 */
3409 ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[3]) = fra.me.REG[2];
3410 stack_frame_head = fra.me.prev;
3411 init_table[itpos14] = 1;
3412 return;
3413 }
3414 void syntax___syntax_base___ANode___accept_abs_syntax_visitor(val_t p0, val_t p1){
3415 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
3416 val_t tmp;
3417 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3418 fra.me.file = LOCATE_syntax___syntax_base;
3419 fra.me.line = 510;
3420 fra.me.meth = LOCATE_syntax___syntax_base___ANode___accept_abs_syntax_visitor;
3421 fra.me.has_broke = 0;
3422 fra.me.REG_size = 2;
3423 fra.me.nitni_local_ref_head = NULL;
3424 fra.me.REG[0] = NIT_NULL;
3425 fra.me.REG[1] = NIT_NULL;
3426 fra.me.REG[0] = p0;
3427 fra.me.REG[1] = p1;
3428 /* syntax/syntax_base.nit:510 */
3429 CALL_parser___parser_prod___ANode___visit_all(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
3430 stack_frame_head = fra.me.prev;
3431 return;
3432 }
3433 val_t syntax___syntax_base___Token___to_symbol(val_t p0){
3434 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3435 val_t REGB0;
3436 val_t REGB1;
3437 val_t tmp;
3438 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3439 fra.me.file = LOCATE_syntax___syntax_base;
3440 fra.me.line = 516;
3441 fra.me.meth = LOCATE_syntax___syntax_base___Token___to_symbol;
3442 fra.me.has_broke = 0;
3443 fra.me.REG_size = 3;
3444 fra.me.nitni_local_ref_head = NULL;
3445 fra.me.REG[0] = NIT_NULL;
3446 fra.me.REG[1] = NIT_NULL;
3447 fra.me.REG[2] = NIT_NULL;
3448 fra.me.REG[0] = p0;
3449 /* syntax/syntax_base.nit:520 */
3450 fra.me.REG[1] = ATTR_syntax___syntax_base___Token____symbol_cache(fra.me.REG[0]);
3451 /* syntax/syntax_base.nit:521 */
3452 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
3453 if (UNTAG_Bool(REGB0)) {
3454 } else {
3455 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
3456 if (UNTAG_Bool(REGB1)) {
3457 REGB1 = TAG_Bool(false);
3458 REGB0 = REGB1;
3459 } else {
3460 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
3461 REGB0 = REGB1;
3462 }
3463 }
3464 if (UNTAG_Bool(REGB0)) {
3465 /* syntax/syntax_base.nit:522 */
3466 fra.me.REG[2] = CALL_parser___parser_nodes___Token___text(fra.me.REG[0])(fra.me.REG[0]);
3467 fra.me.REG[2] = CALL_standard___symbol___String___to_symbol(fra.me.REG[2])(fra.me.REG[2]);
3468 fra.me.REG[1] = fra.me.REG[2];
3469 /* syntax/syntax_base.nit:523 */
3470 ATTR_syntax___syntax_base___Token____symbol_cache(fra.me.REG[0]) = fra.me.REG[1];
3471 }
3472 /* syntax/syntax_base.nit:525 */
3473 goto label1;
3474 label1: while(0);
3475 stack_frame_head = fra.me.prev;
3476 return fra.me.REG[1];
3477 }
3478 val_t syntax___syntax_base___AClassdef___local_class(val_t p0){
3479 struct {struct stack_frame_t me;} fra;
3480 val_t tmp;
3481 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3482 fra.me.file = LOCATE_syntax___syntax_base;
3483 fra.me.line = 530;
3484 fra.me.meth = LOCATE_syntax___syntax_base___AClassdef___local_class;
3485 fra.me.has_broke = 0;
3486 fra.me.REG_size = 0;
3487 fra.me.nitni_local_ref_head = NULL;
3488 /* syntax/syntax_base.nit:530 */
3489 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 530);
3490 stack_frame_head = fra.me.prev;
3491 return NIT_NULL;
3492 }
3493 val_t syntax___syntax_base___AClassdef___next_node(val_t p0){
3494 struct {struct stack_frame_t me;} fra;
3495 val_t tmp;
3496 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3497 fra.me.file = LOCATE_syntax___syntax_base;
3498 fra.me.line = 533;
3499 fra.me.meth = LOCATE_syntax___syntax_base___AClassdef___next_node;
3500 fra.me.has_broke = 0;
3501 fra.me.REG_size = 1;
3502 fra.me.nitni_local_ref_head = NULL;
3503 fra.me.REG[0] = NIT_NULL;
3504 fra.me.REG[0] = p0;
3505 /* syntax/syntax_base.nit:533 */
3506 fra.me.REG[0] = ATTR_syntax___syntax_base___AClassdef____next_node(fra.me.REG[0]);
3507 stack_frame_head = fra.me.prev;
3508 return fra.me.REG[0];
3509 }
3510 void syntax___syntax_base___AClassdef___next_node__eq(val_t p0, val_t p1){
3511 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
3512 val_t tmp;
3513 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3514 fra.me.file = LOCATE_syntax___syntax_base;
3515 fra.me.line = 533;
3516 fra.me.meth = LOCATE_syntax___syntax_base___AClassdef___next_node__eq;
3517 fra.me.has_broke = 0;
3518 fra.me.REG_size = 2;
3519 fra.me.nitni_local_ref_head = NULL;
3520 fra.me.REG[0] = NIT_NULL;
3521 fra.me.REG[1] = NIT_NULL;
3522 fra.me.REG[0] = p0;
3523 fra.me.REG[1] = p1;
3524 /* syntax/syntax_base.nit:533 */
3525 ATTR_syntax___syntax_base___AClassdef____next_node(fra.me.REG[0]) = fra.me.REG[1];
3526 stack_frame_head = fra.me.prev;
3527 return;
3528 }
3529 val_t syntax___syntax_base___APropdef___self_var(val_t p0){
3530 struct {struct stack_frame_t me;} fra;
3531 val_t tmp;
3532 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3533 fra.me.file = LOCATE_syntax___syntax_base;
3534 fra.me.line = 538;
3535 fra.me.meth = LOCATE_syntax___syntax_base___APropdef___self_var;
3536 fra.me.has_broke = 0;
3537 fra.me.REG_size = 0;
3538 fra.me.nitni_local_ref_head = NULL;
3539 /* syntax/syntax_base.nit:538 */
3540 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 538);
3541 stack_frame_head = fra.me.prev;
3542 return NIT_NULL;
3543 }
3544 val_t syntax___syntax_base___AAttrPropdef___prop(val_t p0){
3545 struct {struct stack_frame_t me;} fra;
3546 val_t tmp;
3547 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3548 fra.me.file = LOCATE_syntax___syntax_base;
3549 fra.me.line = 543;
3550 fra.me.meth = LOCATE_syntax___syntax_base___AAttrPropdef___prop;
3551 fra.me.has_broke = 0;
3552 fra.me.REG_size = 0;
3553 fra.me.nitni_local_ref_head = NULL;
3554 /* syntax/syntax_base.nit:543 */
3555 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 543);
3556 stack_frame_head = fra.me.prev;
3557 return NIT_NULL;
3558 }
3559 val_t syntax___syntax_base___AAttrPropdef___readmethod(val_t p0){
3560 struct {struct stack_frame_t me;} fra;
3561 val_t tmp;
3562 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3563 fra.me.file = LOCATE_syntax___syntax_base;
3564 fra.me.line = 546;
3565 fra.me.meth = LOCATE_syntax___syntax_base___AAttrPropdef___readmethod;
3566 fra.me.has_broke = 0;
3567 fra.me.REG_size = 0;
3568 fra.me.nitni_local_ref_head = NULL;
3569 /* syntax/syntax_base.nit:546 */
3570 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 546);
3571 stack_frame_head = fra.me.prev;
3572 return NIT_NULL;
3573 }
3574 val_t syntax___syntax_base___AAttrPropdef___writemethod(val_t p0){
3575 struct {struct stack_frame_t me;} fra;
3576 val_t tmp;
3577 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3578 fra.me.file = LOCATE_syntax___syntax_base;
3579 fra.me.line = 549;
3580 fra.me.meth = LOCATE_syntax___syntax_base___AAttrPropdef___writemethod;
3581 fra.me.has_broke = 0;
3582 fra.me.REG_size = 0;
3583 fra.me.nitni_local_ref_head = NULL;
3584 /* syntax/syntax_base.nit:549 */
3585 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 549);
3586 stack_frame_head = fra.me.prev;
3587 return NIT_NULL;
3588 }
3589 val_t syntax___syntax_base___AConcreteInitPropdef___super_init_calls(val_t p0){
3590 struct {struct stack_frame_t me;} fra;
3591 val_t REGB0;
3592 val_t tmp;
3593 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3594 fra.me.file = LOCATE_syntax___syntax_base;
3595 fra.me.line = 554;
3596 fra.me.meth = LOCATE_syntax___syntax_base___AConcreteInitPropdef___super_init_calls;
3597 fra.me.has_broke = 0;
3598 fra.me.REG_size = 1;
3599 fra.me.nitni_local_ref_head = NULL;
3600 fra.me.REG[0] = NIT_NULL;
3601 fra.me.REG[0] = p0;
3602 /* syntax/syntax_base.nit:554 */
3603 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___AConcreteInitPropdef____super_init_calls(fra.me.REG[0])!=NIT_NULL);
3604 if (UNTAG_Bool(REGB0)) {
3605 } else {
3606 nit_abort("Uninitialized attribute %s", "_super_init_calls", LOCATE_syntax___syntax_base, 554);
3607 }
3608 fra.me.REG[0] = ATTR_syntax___syntax_base___AConcreteInitPropdef____super_init_calls(fra.me.REG[0]);
3609 stack_frame_head = fra.me.prev;
3610 return fra.me.REG[0];
3611 }
3612 val_t syntax___syntax_base___AConcreteInitPropdef___explicit_super_init_calls(val_t p0){
3613 struct {struct stack_frame_t me;} fra;
3614 val_t REGB0;
3615 val_t tmp;
3616 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3617 fra.me.file = LOCATE_syntax___syntax_base;
3618 fra.me.line = 555;
3619 fra.me.meth = LOCATE_syntax___syntax_base___AConcreteInitPropdef___explicit_super_init_calls;
3620 fra.me.has_broke = 0;
3621 fra.me.REG_size = 1;
3622 fra.me.nitni_local_ref_head = NULL;
3623 fra.me.REG[0] = NIT_NULL;
3624 fra.me.REG[0] = p0;
3625 /* syntax/syntax_base.nit:555 */
3626 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___AConcreteInitPropdef____explicit_super_init_calls(fra.me.REG[0])!=NIT_NULL);
3627 if (UNTAG_Bool(REGB0)) {
3628 } else {
3629 nit_abort("Uninitialized attribute %s", "_explicit_super_init_calls", LOCATE_syntax___syntax_base, 555);
3630 }
3631 fra.me.REG[0] = ATTR_syntax___syntax_base___AConcreteInitPropdef____explicit_super_init_calls(fra.me.REG[0]);
3632 stack_frame_head = fra.me.prev;
3633 return fra.me.REG[0];
3634 }
3635 val_t syntax___syntax_base___AMethPropdef___method(val_t p0){
3636 struct {struct stack_frame_t me;} fra;
3637 val_t tmp;
3638 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3639 fra.me.file = LOCATE_syntax___syntax_base;
3640 fra.me.line = 559;
3641 fra.me.meth = LOCATE_syntax___syntax_base___AMethPropdef___method;
3642 fra.me.has_broke = 0;
3643 fra.me.REG_size = 0;
3644 fra.me.nitni_local_ref_head = NULL;
3645 /* syntax/syntax_base.nit:559 */
3646 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 559);
3647 stack_frame_head = fra.me.prev;
3648 return NIT_NULL;
3649 }
3650 val_t syntax___syntax_base___ATypePropdef___prop(val_t p0){
3651 struct {struct stack_frame_t me;} fra;
3652 val_t tmp;
3653 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3654 fra.me.file = LOCATE_syntax___syntax_base;
3655 fra.me.line = 564;
3656 fra.me.meth = LOCATE_syntax___syntax_base___ATypePropdef___prop;
3657 fra.me.has_broke = 0;
3658 fra.me.REG_size = 0;
3659 fra.me.nitni_local_ref_head = NULL;
3660 /* syntax/syntax_base.nit:564 */
3661 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 564);
3662 stack_frame_head = fra.me.prev;
3663 return NIT_NULL;
3664 }
3665 val_t syntax___syntax_base___AParam___position(val_t p0){
3666 struct {struct stack_frame_t me;} fra;
3667 val_t tmp;
3668 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3669 fra.me.file = LOCATE_syntax___syntax_base;
3670 fra.me.line = 569;
3671 fra.me.meth = LOCATE_syntax___syntax_base___AParam___position;
3672 fra.me.has_broke = 0;
3673 fra.me.REG_size = 0;
3674 fra.me.nitni_local_ref_head = NULL;
3675 /* syntax/syntax_base.nit:569 */
3676 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 569);
3677 stack_frame_head = fra.me.prev;
3678 return NIT_NULL;
3679 }
3680 val_t syntax___syntax_base___AParam___variable(val_t p0){
3681 struct {struct stack_frame_t me;} fra;
3682 val_t tmp;
3683 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3684 fra.me.file = LOCATE_syntax___syntax_base;
3685 fra.me.line = 572;
3686 fra.me.meth = LOCATE_syntax___syntax_base___AParam___variable;
3687 fra.me.has_broke = 0;
3688 fra.me.REG_size = 0;
3689 fra.me.nitni_local_ref_head = NULL;
3690 /* syntax/syntax_base.nit:572 */
3691 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 572);
3692 stack_frame_head = fra.me.prev;
3693 return NIT_NULL;
3694 }
3695 val_t syntax___syntax_base___AClosureDecl___position(val_t p0){
3696 struct {struct stack_frame_t me;} fra;
3697 val_t tmp;
3698 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3699 fra.me.file = LOCATE_syntax___syntax_base;
3700 fra.me.line = 577;
3701 fra.me.meth = LOCATE_syntax___syntax_base___AClosureDecl___position;
3702 fra.me.has_broke = 0;
3703 fra.me.REG_size = 0;
3704 fra.me.nitni_local_ref_head = NULL;
3705 /* syntax/syntax_base.nit:577 */
3706 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 577);
3707 stack_frame_head = fra.me.prev;
3708 return NIT_NULL;
3709 }
3710 val_t syntax___syntax_base___AClosureDecl___variable(val_t p0){
3711 struct {struct stack_frame_t me;} fra;
3712 val_t tmp;
3713 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3714 fra.me.file = LOCATE_syntax___syntax_base;
3715 fra.me.line = 580;
3716 fra.me.meth = LOCATE_syntax___syntax_base___AClosureDecl___variable;
3717 fra.me.has_broke = 0;
3718 fra.me.REG_size = 0;
3719 fra.me.nitni_local_ref_head = NULL;
3720 /* syntax/syntax_base.nit:580 */
3721 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 580);
3722 stack_frame_head = fra.me.prev;
3723 return NIT_NULL;
3724 }
3725 val_t syntax___syntax_base___AType___is_typed(val_t p0){
3726 struct {struct stack_frame_t me;} fra;
3727 val_t tmp;
3728 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3729 fra.me.file = LOCATE_syntax___syntax_base;
3730 fra.me.line = 585;
3731 fra.me.meth = LOCATE_syntax___syntax_base___AType___is_typed;
3732 fra.me.has_broke = 0;
3733 fra.me.REG_size = 0;
3734 fra.me.nitni_local_ref_head = NULL;
3735 /* syntax/syntax_base.nit:585 */
3736 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 585);
3737 stack_frame_head = fra.me.prev;
3738 return NIT_NULL;
3739 }
3740 val_t syntax___syntax_base___AType___stype(val_t p0){
3741 struct {struct stack_frame_t me;} fra;
3742 val_t tmp;
3743 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3744 fra.me.file = LOCATE_syntax___syntax_base;
3745 fra.me.line = 590;
3746 fra.me.meth = LOCATE_syntax___syntax_base___AType___stype;
3747 fra.me.has_broke = 0;
3748 fra.me.REG_size = 0;
3749 fra.me.nitni_local_ref_head = NULL;
3750 /* syntax/syntax_base.nit:590 */
3751 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 590);
3752 stack_frame_head = fra.me.prev;
3753 return NIT_NULL;
3754 }
3755 val_t syntax___syntax_base___AType___get_local_class(val_t p0, val_t p1){
3756 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
3757 val_t REGB0;
3758 val_t REGB1;
3759 val_t tmp;
3760 static val_t once_value_1; /* Once value */
3761 static val_t once_value_2; /* Once value */
3762 static val_t once_value_4; /* Once value */
3763 static val_t once_value_5; /* Once value */
3764 static val_t once_value_6; /* Once value */
3765 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3766 fra.me.file = LOCATE_syntax___syntax_base;
3767 fra.me.line = 596;
3768 fra.me.meth = LOCATE_syntax___syntax_base___AType___get_local_class;
3769 fra.me.has_broke = 0;
3770 fra.me.REG_size = 8;
3771 fra.me.nitni_local_ref_head = NULL;
3772 fra.me.REG[0] = NIT_NULL;
3773 fra.me.REG[1] = NIT_NULL;
3774 fra.me.REG[2] = NIT_NULL;
3775 fra.me.REG[3] = NIT_NULL;
3776 fra.me.REG[4] = NIT_NULL;
3777 fra.me.REG[5] = NIT_NULL;
3778 fra.me.REG[6] = NIT_NULL;
3779 fra.me.REG[7] = NIT_NULL;
3780 fra.me.REG[0] = p0;
3781 fra.me.REG[1] = p1;
3782 /* syntax/syntax_base.nit:601 */
3783 fra.me.REG[2] = CALL_parser___parser_nodes___AType___n_id(fra.me.REG[0])(fra.me.REG[0]);
3784 fra.me.REG[2] = CALL_syntax___syntax_base___Token___to_symbol(fra.me.REG[2])(fra.me.REG[2]);
3785 /* syntax/syntax_base.nit:602 */
3786 fra.me.REG[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra.me.REG[1])(fra.me.REG[1]);
3787 /* syntax/syntax_base.nit:603 */
3788 fra.me.REG[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[1])(fra.me.REG[1]);
3789 /* syntax/syntax_base.nit:605 */
3790 fra.me.REG[5] = CALL_syntax___syntax_base___MMSrcLocalClass___formal_dict(fra.me.REG[4])(fra.me.REG[4]);
3791 REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
3792 if (UNTAG_Bool(REGB0)) {
3793 REGB0 = TAG_Bool(true);
3794 } else {
3795 REGB1 = CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
3796 REGB0 = REGB1;
3797 }
3798 if (UNTAG_Bool(REGB0)) {
3799 /* syntax/syntax_base.nit:606 */
3800 fra.me.REG[4] = CALL_parser___parser_nodes___AType___n_id(fra.me.REG[0])(fra.me.REG[0]);
3801 REGB0 = TAG_Int(3);
3802 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
3803 if (!once_value_1) {
3804 fra.me.REG[6] = BOX_NativeString("Type error: ");
3805 REGB0 = TAG_Int(12);
3806 fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB0);
3807 once_value_1 = fra.me.REG[6];
3808 register_static_object(&once_value_1);
3809 } else fra.me.REG[6] = once_value_1;
3810 fra.me.REG[6] = fra.me.REG[6];
3811 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
3812 fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
3813 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
3814 if (!once_value_2) {
3815 fra.me.REG[6] = BOX_NativeString(" is a formal type");
3816 REGB0 = TAG_Int(17);
3817 fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB0);
3818 once_value_2 = fra.me.REG[6];
3819 register_static_object(&once_value_2);
3820 } else fra.me.REG[6] = once_value_2;
3821 fra.me.REG[6] = fra.me.REG[6];
3822 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
3823 fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
3824 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4], fra.me.REG[5]);
3825 /* syntax/syntax_base.nit:607 */
3826 REGB0 = TAG_Bool(true);
3827 ATTR_syntax___syntax_base___AType____stype_cached(fra.me.REG[0]) = REGB0;
3828 /* syntax/syntax_base.nit:608 */
3829 fra.me.REG[5] = NIT_NULL;
3830 goto label3;
3831 }
3832 /* syntax/syntax_base.nit:611 */
3833 REGB0 = CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
3834 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
3835 if (UNTAG_Bool(REGB0)) {
3836 /* syntax/syntax_base.nit:612 */
3837 fra.me.REG[4] = CALL_parser___parser_nodes___AType___n_id(fra.me.REG[0])(fra.me.REG[0]);
3838 REGB0 = TAG_Int(5);
3839 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
3840 if (!once_value_4) {
3841 fra.me.REG[7] = BOX_NativeString("Type error: class ");
3842 REGB0 = TAG_Int(18);
3843 fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB0);
3844 once_value_4 = fra.me.REG[7];
3845 register_static_object(&once_value_4);
3846 } else fra.me.REG[7] = once_value_4;
3847 fra.me.REG[7] = fra.me.REG[7];
3848 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
3849 fra.me.REG[7] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
3850 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
3851 if (!once_value_5) {
3852 fra.me.REG[7] = BOX_NativeString(" not found in module ");
3853 REGB0 = TAG_Int(21);
3854 fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB0);
3855 once_value_5 = fra.me.REG[7];
3856 register_static_object(&once_value_5);
3857 } else fra.me.REG[7] = once_value_5;
3858 fra.me.REG[7] = fra.me.REG[7];
3859 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
3860 fra.me.REG[7] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
3861 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
3862 if (!once_value_6) {
3863 fra.me.REG[7] = BOX_NativeString(".");
3864 REGB0 = TAG_Int(1);
3865 fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB0);
3866 once_value_6 = fra.me.REG[7];
3867 register_static_object(&once_value_6);
3868 } else fra.me.REG[7] = once_value_6;
3869 fra.me.REG[7] = fra.me.REG[7];
3870 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
3871 fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
3872 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4], fra.me.REG[6]);
3873 /* syntax/syntax_base.nit:613 */
3874 REGB0 = TAG_Bool(true);
3875 ATTR_syntax___syntax_base___AType____stype_cached(fra.me.REG[0]) = REGB0;
3876 /* syntax/syntax_base.nit:614 */
3877 fra.me.REG[5] = NIT_NULL;
3878 goto label3;
3879 }
3880 /* syntax/syntax_base.nit:617 */
3881 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMModule___class_by_name(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
3882 /* syntax/syntax_base.nit:618 */
3883 fra.me.REG[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[2])(fra.me.REG[2]);
3884 CALL_syntax___syntax_base___MMGlobalClass___check_visibility(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[1], fra.me.REG[0], fra.me.REG[3]);
3885 /* syntax/syntax_base.nit:619 */
3886 fra.me.REG[5] = fra.me.REG[2];
3887 goto label3;
3888 label3: while(0);
3889 stack_frame_head = fra.me.prev;
3890 return fra.me.REG[5];
3891 }
3892 val_t syntax___syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){
3893 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
3894 val_t REGB0;
3895 val_t REGB1;
3896 val_t REGB2;
3897 val_t REGB3;
3898 val_t tmp;
3899 static val_t once_value_2; /* Once value */
3900 static val_t once_value_3; /* Once value */
3901 static val_t once_value_4; /* Once value */
3902 static val_t once_value_5; /* Once value */
3903 static val_t once_value_6; /* Once value */
3904 static val_t once_value_7; /* Once value */
3905 static val_t once_value_8; /* Once value */
3906 static val_t once_value_9; /* Once value */
3907 static val_t once_value_10; /* Once value */
3908 static val_t once_value_11; /* Once value */
3909 static val_t once_value_12; /* Once value */
3910 static val_t once_value_13; /* Once value */
3911 static val_t once_value_14; /* Once value */
3912 static val_t once_value_15; /* Once value */
3913 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3914 fra.me.file = LOCATE_syntax___syntax_base;
3915 fra.me.line = 622;
3916 fra.me.meth = LOCATE_syntax___syntax_base___AType___get_unchecked_stype;
3917 fra.me.has_broke = 0;
3918 fra.me.REG_size = 8;
3919 fra.me.nitni_local_ref_head = NULL;
3920 fra.me.REG[0] = NIT_NULL;
3921 fra.me.REG[1] = NIT_NULL;
3922 fra.me.REG[2] = NIT_NULL;
3923 fra.me.REG[3] = NIT_NULL;
3924 fra.me.REG[4] = NIT_NULL;
3925 fra.me.REG[5] = NIT_NULL;
3926 fra.me.REG[6] = NIT_NULL;
3927 fra.me.REG[7] = NIT_NULL;
3928 fra.me.REG[0] = p0;
3929 fra.me.REG[1] = p1;
3930 /* syntax/syntax_base.nit:628 */
3931 REGB0 = TAG_Bool(ATTR_syntax___syntax_base___AType____stype_cached(fra.me.REG[0])!=NIT_NULL);
3932 if (UNTAG_Bool(REGB0)) {
3933 } else {
3934 nit_abort("Uninitialized attribute %s", "_stype_cached", LOCATE_syntax___syntax_base, 628);
3935 }
3936 REGB0 = ATTR_syntax___syntax_base___AType____stype_cached(fra.me.REG[0]);
3937 if (UNTAG_Bool(REGB0)) {
3938 fra.me.REG[2] = ATTR_syntax___syntax_base___AType____stype_cache(fra.me.REG[0]);
3939 goto label1;
3940 }
3941 /* syntax/syntax_base.nit:629 */
3942 REGB0 = TAG_Bool(true);
3943 ATTR_syntax___syntax_base___AType____stype_cached(fra.me.REG[0]) = REGB0;
3944 /* syntax/syntax_base.nit:631 */
3945 fra.me.REG[3] = CALL_parser___parser_nodes___AType___n_id(fra.me.REG[0])(fra.me.REG[0]);
3946 fra.me.REG[3] = CALL_syntax___syntax_base___Token___to_symbol(fra.me.REG[3])(fra.me.REG[3]);
3947 /* syntax/syntax_base.nit:632 */
3948 fra.me.REG[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra.me.REG[1])(fra.me.REG[1]);
3949 /* syntax/syntax_base.nit:633 */
3950 fra.me.REG[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[1])(fra.me.REG[1]);
3951 /* syntax/syntax_base.nit:636 */
3952 fra.me.REG[5] = CALL_syntax___syntax_base___MMSrcLocalClass___formal_dict(fra.me.REG[4])(fra.me.REG[4]);
3953 REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
3954 if (UNTAG_Bool(REGB0)) {
3955 /* syntax/syntax_base.nit:637 */
3956 fra.me.REG[5] = CALL_parser___parser_nodes___AType___n_types(fra.me.REG[0])(fra.me.REG[0]);
3957 REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[5])(fra.me.REG[5]);
3958 REGB1 = TAG_Int(0);
3959 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
3960 if (UNTAG_Bool(REGB2)) {
3961 } else {
3962 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
3963 }
3964 /* ../lib/standard/kernel.nit:234 */
3965 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
3966 /* syntax/syntax_base.nit:637 */
3967 if (UNTAG_Bool(REGB1)) {
3968 /* syntax/syntax_base.nit:638 */
3969 REGB1 = TAG_Int(3);
3970 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
3971 if (!once_value_2) {
3972 fra.me.REG[6] = BOX_NativeString("Type error: formal type ");
3973 REGB1 = TAG_Int(24);
3974 fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
3975 once_value_2 = fra.me.REG[6];
3976 register_static_object(&once_value_2);
3977 } else fra.me.REG[6] = once_value_2;
3978 fra.me.REG[6] = fra.me.REG[6];
3979 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
3980 fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
3981 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
3982 if (!once_value_3) {
3983 fra.me.REG[6] = BOX_NativeString(" cannot have formal parameters.");
3984 REGB1 = TAG_Int(31);
3985 fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
3986 once_value_3 = fra.me.REG[6];
3987 register_static_object(&once_value_3);
3988 } else fra.me.REG[6] = once_value_3;
3989 fra.me.REG[6] = fra.me.REG[6];
3990 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
3991 fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
3992 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[5]);
3993 /* syntax/syntax_base.nit:639 */
3994 fra.me.REG[2] = NIT_NULL;
3995 goto label1;
3996 }
3997 /* syntax/syntax_base.nit:641 */
3998 fra.me.REG[5] = CALL_syntax___syntax_base___MMSrcLocalClass___formal_dict(fra.me.REG[4])(fra.me.REG[4]);
3999 fra.me.REG[5] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
4000 /* syntax/syntax_base.nit:642 */
4001 fra.me.REG[6] = CALL_parser___parser_nodes___AType___n_kwnullable(fra.me.REG[0])(fra.me.REG[0]);
4002 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
4003 if (UNTAG_Bool(REGB1)) {
4004 } else {
4005 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
4006 if (UNTAG_Bool(REGB0)) {
4007 REGB0 = TAG_Bool(false);
4008 REGB1 = REGB0;
4009 } else {
4010 REGB0 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
4011 REGB1 = REGB0;
4012 }
4013 }
4014 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
4015 if (UNTAG_Bool(REGB1)) {
4016 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
4017 if (UNTAG_Bool(REGB1)) {
4018 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 642);
4019 }
4020 fra.me.REG[6] = CALL_metamodel___static_type___MMType___as_nullable(fra.me.REG[5])(fra.me.REG[5]);
4021 fra.me.REG[5] = fra.me.REG[6];
4022 }
4023 /* syntax/syntax_base.nit:643 */
4024 ATTR_syntax___syntax_base___AType____stype_cache(fra.me.REG[0]) = fra.me.REG[5];
4025 /* syntax/syntax_base.nit:644 */
4026 fra.me.REG[2] = fra.me.REG[5];
4027 goto label1;
4028 }
4029 /* syntax/syntax_base.nit:647 */
4030 REGB1 = CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
4031 if (UNTAG_Bool(REGB1)) {
4032 /* syntax/syntax_base.nit:648 */
4033 fra.me.REG[6] = CALL_parser___parser_nodes___AType___n_types(fra.me.REG[0])(fra.me.REG[0]);
4034 REGB1 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[6])(fra.me.REG[6]);
4035 REGB0 = TAG_Int(0);
4036 REGB2 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
4037 if (UNTAG_Bool(REGB2)) {
4038 } else {
4039 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
4040 }
4041 /* ../lib/standard/kernel.nit:234 */
4042 REGB0 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB0));
4043 /* syntax/syntax_base.nit:648 */
4044 if (UNTAG_Bool(REGB0)) {
4045 /* syntax/syntax_base.nit:649 */
4046 REGB0 = TAG_Int(3);
4047 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
4048 if (!once_value_4) {
4049 fra.me.REG[7] = BOX_NativeString("Type error: formal type ");
4050 REGB0 = TAG_Int(24);
4051 fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB0);
4052 once_value_4 = fra.me.REG[7];
4053 register_static_object(&once_value_4);
4054 } else fra.me.REG[7] = once_value_4;
4055 fra.me.REG[7] = fra.me.REG[7];
4056 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
4057 fra.me.REG[7] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
4058 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
4059 if (!once_value_5) {
4060 fra.me.REG[7] = BOX_NativeString(" cannot have formal parameters.");
4061 REGB0 = TAG_Int(31);
4062 fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB0);
4063 once_value_5 = fra.me.REG[7];
4064 register_static_object(&once_value_5);
4065 } else fra.me.REG[7] = once_value_5;
4066 fra.me.REG[7] = fra.me.REG[7];
4067 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
4068 fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
4069 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[6]);
4070 /* syntax/syntax_base.nit:650 */
4071 fra.me.REG[2] = NIT_NULL;
4072 goto label1;
4073 }
4074 /* syntax/syntax_base.nit:652 */
4075 fra.me.REG[6] = CALL_metamodel___static_type___MMLocalClass___get_type(fra.me.REG[4])(fra.me.REG[4]);
4076 fra.me.REG[6] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[6])(fra.me.REG[6]);
4077 fra.me.REG[6] = CALL_metamodel___virtualtype___MMLocalClass___select_virtual_type(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
4078 fra.me.REG[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra.me.REG[4])(fra.me.REG[4]);
4079 fra.me.REG[4] = CALL_metamodel___virtualtype___MMTypeProperty___stype_for(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
4080 fra.me.REG[5] = fra.me.REG[4];
4081 /* syntax/syntax_base.nit:653 */
4082 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
4083 if (UNTAG_Bool(REGB0)) {
4084 } else {
4085 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
4086 if (UNTAG_Bool(REGB1)) {
4087 REGB1 = TAG_Bool(false);
4088 REGB0 = REGB1;
4089 } else {
4090 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
4091 REGB0 = REGB1;
4092 }
4093 }
4094 if (UNTAG_Bool(REGB0)) {
4095 /* syntax/syntax_base.nit:654 */
4096 REGB0 = TAG_Int(3);
4097 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
4098 if (!once_value_6) {
4099 fra.me.REG[6] = BOX_NativeString("Type error: circular definition in formal type ");
4100 REGB0 = TAG_Int(47);
4101 fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB0);
4102 once_value_6 = fra.me.REG[6];
4103 register_static_object(&once_value_6);
4104 } else fra.me.REG[6] = once_value_6;
4105 fra.me.REG[6] = fra.me.REG[6];
4106 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[6]);
4107 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
4108 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
4109 if (!once_value_7) {
4110 fra.me.REG[3] = BOX_NativeString(".");
4111 REGB0 = TAG_Int(1);
4112 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
4113 once_value_7 = fra.me.REG[3];
4114 register_static_object(&once_value_7);
4115 } else fra.me.REG[3] = once_value_7;
4116 fra.me.REG[3] = fra.me.REG[3];
4117 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
4118 fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
4119 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[4]);
4120 /* syntax/syntax_base.nit:655 */
4121 fra.me.REG[2] = NIT_NULL;
4122 goto label1;
4123 }
4124 /* syntax/syntax_base.nit:657 */
4125 fra.me.REG[4] = CALL_parser___parser_nodes___AType___n_kwnullable(fra.me.REG[0])(fra.me.REG[0]);
4126 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
4127 if (UNTAG_Bool(REGB0)) {
4128 } else {
4129 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
4130 if (UNTAG_Bool(REGB1)) {
4131 REGB1 = TAG_Bool(false);
4132 REGB0 = REGB1;
4133 } else {
4134 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
4135 REGB0 = REGB1;
4136 }
4137 }
4138 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
4139 if (UNTAG_Bool(REGB0)) {
4140 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
4141 if (UNTAG_Bool(REGB0)) {
4142 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 657);
4143 }
4144 fra.me.REG[4] = CALL_metamodel___static_type___MMType___as_nullable(fra.me.REG[5])(fra.me.REG[5]);
4145 fra.me.REG[5] = fra.me.REG[4];
4146 }
4147 /* syntax/syntax_base.nit:658 */
4148 ATTR_syntax___syntax_base___AType____stype_cache(fra.me.REG[0]) = fra.me.REG[5];
4149 /* syntax/syntax_base.nit:659 */
4150 fra.me.REG[2] = fra.me.REG[5];
4151 goto label1;
4152 }
4153 /* syntax/syntax_base.nit:662 */
4154 fra.me.REG[4] = CALL_syntax___syntax_base___AType___get_local_class(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
4155 /* syntax/syntax_base.nit:663 */
4156 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
4157 if (UNTAG_Bool(REGB0)) {
4158 } else {
4159 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
4160 if (UNTAG_Bool(REGB1)) {
4161 REGB1 = TAG_Bool(false);
4162 REGB0 = REGB1;
4163 } else {
4164 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
4165 REGB0 = REGB1;
4166 }
4167 }
4168 if (UNTAG_Bool(REGB0)) {
4169 fra.me.REG[2] = NIT_NULL;
4170 goto label1;
4171 }
4172 /* syntax/syntax_base.nit:665 */
4173 fra.me.REG[3] = CALL_parser___parser_nodes___AType___n_types(fra.me.REG[0])(fra.me.REG[0]);
4174 REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
4175 /* syntax/syntax_base.nit:666 */
4176 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
4177 if (UNTAG_Bool(REGB1)) {
4178 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 666);
4179 }
4180 REGB1 = CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra.me.REG[4])(fra.me.REG[4]);
4181 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB0));
4182 if (UNTAG_Bool(REGB2)) {
4183 } else {
4184 /* ../lib/standard/kernel.nit:227 */
4185 REGB1 = TAG_Bool((REGB1)==(REGB0));
4186 /* syntax/syntax_base.nit:666 */
4187 REGB2 = REGB1;
4188 }
4189 REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
4190 if (UNTAG_Bool(REGB2)) {
4191 /* syntax/syntax_base.nit:667 */
4192 REGB2 = TAG_Int(0);
4193 REGB1 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB2));
4194 if (UNTAG_Bool(REGB1)) {
4195 } else {
4196 /* ../lib/standard/kernel.nit:227 */
4197 REGB2 = TAG_Bool((REGB0)==(REGB2));
4198 /* syntax/syntax_base.nit:667 */
4199 REGB1 = REGB2;
4200 }
4201 if (UNTAG_Bool(REGB1)) {
4202 /* syntax/syntax_base.nit:668 */
4203 REGB1 = TAG_Int(3);
4204 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
4205 if (!once_value_8) {
4206 fra.me.REG[6] = BOX_NativeString("Type error: '");
4207 REGB1 = TAG_Int(13);
4208 fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
4209 once_value_8 = fra.me.REG[6];
4210 register_static_object(&once_value_8);
4211 } else fra.me.REG[6] = once_value_8;
4212 fra.me.REG[6] = fra.me.REG[6];
4213 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
4214 fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
4215 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
4216 if (!once_value_9) {
4217 fra.me.REG[6] = BOX_NativeString("' is a generic class.");
4218 REGB1 = TAG_Int(21);
4219 fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
4220 once_value_9 = fra.me.REG[6];
4221 register_static_object(&once_value_9);
4222 } else fra.me.REG[6] = once_value_9;
4223 fra.me.REG[6] = fra.me.REG[6];
4224 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
4225 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
4226 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[3]);
4227 } else {
4228 /* syntax/syntax_base.nit:669 */
4229 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
4230 if (UNTAG_Bool(REGB1)) {
4231 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 669);
4232 }
4233 REGB1 = CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra.me.REG[4])(fra.me.REG[4]);
4234 REGB2 = TAG_Int(0);
4235 REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2));
4236 if (UNTAG_Bool(REGB3)) {
4237 } else {
4238 /* ../lib/standard/kernel.nit:227 */
4239 REGB2 = TAG_Bool((REGB1)==(REGB2));
4240 /* syntax/syntax_base.nit:669 */
4241 REGB3 = REGB2;
4242 }
4243 if (UNTAG_Bool(REGB3)) {
4244 /* syntax/syntax_base.nit:670 */
4245 REGB3 = TAG_Int(3);
4246 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3);
4247 if (!once_value_10) {
4248 fra.me.REG[6] = BOX_NativeString("Type error: '");
4249 REGB3 = TAG_Int(13);
4250 fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB3);
4251 once_value_10 = fra.me.REG[6];
4252 register_static_object(&once_value_10);
4253 } else fra.me.REG[6] = once_value_10;
4254 fra.me.REG[6] = fra.me.REG[6];
4255 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
4256 fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
4257 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
4258 if (!once_value_11) {
4259 fra.me.REG[6] = BOX_NativeString("' is not a generic class.");
4260 REGB3 = TAG_Int(25);
4261 fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB3);
4262 once_value_11 = fra.me.REG[6];
4263 register_static_object(&once_value_11);
4264 } else fra.me.REG[6] = once_value_11;
4265 fra.me.REG[6] = fra.me.REG[6];
4266 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
4267 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
4268 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[3]);
4269 } else {
4270 /* syntax/syntax_base.nit:672 */
4271 REGB3 = TAG_Int(7);
4272 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3);
4273 if (!once_value_12) {
4274 fra.me.REG[6] = BOX_NativeString("Type error: '");
4275 REGB3 = TAG_Int(13);
4276 fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB3);
4277 once_value_12 = fra.me.REG[6];
4278 register_static_object(&once_value_12);
4279 } else fra.me.REG[6] = once_value_12;
4280 fra.me.REG[6] = fra.me.REG[6];
4281 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
4282 fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
4283 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
4284 if (!once_value_13) {
4285 fra.me.REG[6] = BOX_NativeString("' has ");
4286 REGB3 = TAG_Int(6);
4287 fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB3);
4288 once_value_13 = fra.me.REG[6];
4289 register_static_object(&once_value_13);
4290 } else fra.me.REG[6] = once_value_13;
4291 fra.me.REG[6] = fra.me.REG[6];
4292 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
4293 REGB3 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
4294 if (UNTAG_Bool(REGB3)) {
4295 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 672);
4296 }
4297 REGB3 = CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra.me.REG[4])(fra.me.REG[4]);
4298 fra.me.REG[6] = CALL_standard___string___Object___to_s(REGB3)(REGB3);
4299 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
4300 if (!once_value_14) {
4301 fra.me.REG[6] = BOX_NativeString(" parameters (");
4302 REGB3 = TAG_Int(13);
4303 fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB3);
4304 once_value_14 = fra.me.REG[6];
4305 register_static_object(&once_value_14);
4306 } else fra.me.REG[6] = once_value_14;
4307 fra.me.REG[6] = fra.me.REG[6];
4308 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
4309 fra.me.REG[6] = CALL_standard___string___Object___to_s(REGB0)(REGB0);
4310 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
4311 if (!once_value_15) {
4312 fra.me.REG[6] = BOX_NativeString(" are provided).");
4313 REGB3 = TAG_Int(15);
4314 fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB3);
4315 once_value_15 = fra.me.REG[6];
4316 register_static_object(&once_value_15);
4317 } else fra.me.REG[6] = once_value_15;
4318 fra.me.REG[6] = fra.me.REG[6];
4319 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
4320 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
4321 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[3]);
4322 }
4323 }
4324 /* syntax/syntax_base.nit:674 */
4325 fra.me.REG[2] = NIT_NULL;
4326 goto label1;
4327 }
4328 /* syntax/syntax_base.nit:677 */
4329 REGB3 = TAG_Int(0);
4330 REGB2 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
4331 if (UNTAG_Bool(REGB2)) {
4332 } else {
4333 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
4334 }
4335 /* ../lib/standard/kernel.nit:234 */
4336 REGB3 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB3));
4337 /* syntax/syntax_base.nit:677 */
4338 if (UNTAG_Bool(REGB3)) {
4339 /* syntax/syntax_base.nit:678 */
4340 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
4341 /* syntax/syntax_base.nit:679 */
4342 fra.me.REG[6] = CALL_parser___parser_nodes___AType___n_types(fra.me.REG[0])(fra.me.REG[0]);
4343 CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[6])(fra.me.REG[6], (&(fra.me)), ((fun_t)OC_syntax___syntax_base___AType___get_unchecked_stype_16));
4344 switch ((&(fra.me))->has_broke) {
4345 case 0: break;
4346 case 1: (&(fra.me))->has_broke = 0; goto label1;
4347 }
4348 /* syntax/syntax_base.nit:684 */
4349 REGB3 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
4350 if (UNTAG_Bool(REGB3)) {
4351 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 684);
4352 }
4353 fra.me.REG[3] = CALL_metamodel___genericity___MMLocalClass___get_instantiate_type(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
4354 fra.me.REG[5] = fra.me.REG[3];
4355 } else {
4356 /* syntax/syntax_base.nit:686 */
4357 REGB3 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
4358 if (UNTAG_Bool(REGB3)) {
4359 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 686);
4360 }
4361 fra.me.REG[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra.me.REG[4])(fra.me.REG[4]);
4362 fra.me.REG[5] = fra.me.REG[4];
4363 }
4364 /* syntax/syntax_base.nit:688 */
4365 fra.me.REG[4] = CALL_parser___parser_nodes___AType___n_kwnullable(fra.me.REG[0])(fra.me.REG[0]);
4366 REGB3 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
4367 if (UNTAG_Bool(REGB3)) {
4368 } else {
4369 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
4370 if (UNTAG_Bool(REGB0)) {
4371 REGB0 = TAG_Bool(false);
4372 REGB3 = REGB0;
4373 } else {
4374 REGB0 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
4375 REGB3 = REGB0;
4376 }
4377 }
4378 REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
4379 if (UNTAG_Bool(REGB3)) {
4380 REGB3 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
4381 if (UNTAG_Bool(REGB3)) {
4382 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 688);
4383 }
4384 fra.me.REG[4] = CALL_metamodel___static_type___MMType___as_nullable(fra.me.REG[5])(fra.me.REG[5]);
4385 fra.me.REG[5] = fra.me.REG[4];
4386 }
4387 /* syntax/syntax_base.nit:689 */
4388 ATTR_syntax___syntax_base___AType____stype_cache(fra.me.REG[0]) = fra.me.REG[5];
4389 /* syntax/syntax_base.nit:690 */
4390 fra.me.REG[2] = fra.me.REG[5];
4391 goto label1;
4392 label1: while(0);
4393 stack_frame_head = fra.me.prev;
4394 return fra.me.REG[2];
4395 }
4396 void OC_syntax___syntax_base___AType___get_unchecked_stype_16(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
4397 struct {struct stack_frame_t me;} fra;
4398 val_t REGB0;
4399 val_t REGB1;
4400 fun_t CREG[1];
4401 val_t tmp;
4402 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4403 fra.me.file = LOCATE_syntax___syntax_base;
4404 fra.me.line = 0;
4405 fra.me.meth = LOCATE_syntax___syntax_base___AType___get_unchecked_stype;
4406 fra.me.has_broke = 0;
4407 fra.me.REG_size = 1;
4408 fra.me.nitni_local_ref_head = NULL;
4409 fra.me.REG[0] = NIT_NULL;
4410 fra.me.closure_ctx = closctx_param;
4411 fra.me.closure_funs = CREG;
4412 fra.me.REG[0] = p0;
4413 CREG[0] = clos_fun0;
4414 /* syntax/syntax_base.nit:680 */
4415 fra.me.REG[0] = CALL_syntax___syntax_base___AType___get_unchecked_stype(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1]);
4416 /* syntax/syntax_base.nit:681 */
4417 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
4418 if (UNTAG_Bool(REGB0)) {
4419 } else {
4420 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
4421 if (UNTAG_Bool(REGB1)) {
4422 REGB1 = TAG_Bool(false);
4423 REGB0 = REGB1;
4424 } else {
4425 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
4426 REGB0 = REGB1;
4427 }
4428 }
4429 if (UNTAG_Bool(REGB0)) {
4430 closctx->REG[2] = NIT_NULL;
4431 closctx->has_broke = 1;
4432 goto label17;
4433 }
4434 /* syntax/syntax_base.nit:682 */
4435 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx->REG[3])(closctx->REG[3], fra.me.REG[0]);
4436 label17: while(0);
4437 stack_frame_head = fra.me.prev;
4438 return;
4439 }
4440 val_t syntax___syntax_base___AType___get_stype(val_t p0, val_t p1){
4441 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
4442 val_t REGB0;
4443 val_t REGB1;
4444 val_t tmp;
4445 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4446 fra.me.file = LOCATE_syntax___syntax_base;
4447 fra.me.line = 693;
4448 fra.me.meth = LOCATE_syntax___syntax_base___AType___get_stype;
4449 fra.me.has_broke = 0;
4450 fra.me.REG_size = 4;
4451 fra.me.nitni_local_ref_head = NULL;
4452 fra.me.REG[0] = NIT_NULL;
4453 fra.me.REG[1] = NIT_NULL;
4454 fra.me.REG[2] = NIT_NULL;
4455 fra.me.REG[3] = NIT_NULL;
4456 fra.me.REG[0] = p0;
4457 fra.me.REG[1] = p1;
4458 /* syntax/syntax_base.nit:697 */
4459 fra.me.REG[2] = CALL_syntax___syntax_base___AType___get_unchecked_stype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
4460 /* syntax/syntax_base.nit:698 */
4461 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4462 if (UNTAG_Bool(REGB0)) {
4463 } else {
4464 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4465 if (UNTAG_Bool(REGB1)) {
4466 REGB1 = TAG_Bool(false);
4467 REGB0 = REGB1;
4468 } else {
4469 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
4470 REGB0 = REGB1;
4471 }
4472 }
4473 if (UNTAG_Bool(REGB0)) {
4474 fra.me.REG[3] = NIT_NULL;
4475 goto label1;
4476 }
4477 /* syntax/syntax_base.nit:699 */
4478 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4479 if (UNTAG_Bool(REGB0)) {
4480 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 699);
4481 }
4482 REGB0 = CALL_metamodel___static_type___MMType___is_valid(fra.me.REG[2])(fra.me.REG[2]);
4483 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
4484 if (UNTAG_Bool(REGB0)) {
4485 fra.me.REG[3] = NIT_NULL;
4486 goto label1;
4487 }
4488 /* syntax/syntax_base.nit:700 */
4489 CALL_syntax___syntax_base___AType___check_conform(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
4490 /* syntax/syntax_base.nit:701 */
4491 fra.me.REG[3] = fra.me.REG[2];
4492 goto label1;
4493 label1: while(0);
4494 stack_frame_head = fra.me.prev;
4495 return fra.me.REG[3];
4496 }
4497 void syntax___syntax_base___AType___check_conform(val_t p0, val_t p1){
4498 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
4499 val_t REGB0;
4500 val_t REGB1;
4501 val_t REGB2;
4502 val_t tmp;
4503 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4504 fra.me.file = LOCATE_syntax___syntax_base;
4505 fra.me.line = 704;
4506 fra.me.meth = LOCATE_syntax___syntax_base___AType___check_conform;
4507 fra.me.has_broke = 0;
4508 fra.me.REG_size = 8;
4509 fra.me.nitni_local_ref_head = NULL;
4510 fra.me.REG[0] = NIT_NULL;
4511 fra.me.REG[1] = NIT_NULL;
4512 fra.me.REG[2] = NIT_NULL;
4513 fra.me.REG[3] = NIT_NULL;
4514 fra.me.REG[4] = NIT_NULL;
4515 fra.me.REG[5] = NIT_NULL;
4516 fra.me.REG[6] = NIT_NULL;
4517 fra.me.REG[7] = NIT_NULL;
4518 fra.me.REG[0] = p0;
4519 fra.me.REG[1] = p1;
4520 /* syntax/syntax_base.nit:709 */
4521 fra.me.REG[2] = CALL_syntax___syntax_base___AType___get_unchecked_stype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
4522 /* syntax/syntax_base.nit:710 */
4523 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4524 if (UNTAG_Bool(REGB0)) {
4525 } else {
4526 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4527 if (UNTAG_Bool(REGB1)) {
4528 REGB1 = TAG_Bool(false);
4529 REGB0 = REGB1;
4530 } else {
4531 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
4532 REGB0 = REGB1;
4533 }
4534 }
4535 if (UNTAG_Bool(REGB0)) {
4536 goto label1;
4537 }
4538 /* syntax/syntax_base.nit:711 */
4539 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4540 if (UNTAG_Bool(REGB0)) {
4541 nit_abort("Reciever is null", NULL, LOCATE_syntax___syntax_base, 711);
4542 }
4543 fra.me.REG[3] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[2])(fra.me.REG[2]);
4544 /* syntax/syntax_base.nit:712 */
4545 fra.me.REG[4] = CALL_parser___parser_nodes___AType___n_types(fra.me.REG[0])(fra.me.REG[0]);
4546 REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[4])(fra.me.REG[4]);
4547 /* syntax/syntax_base.nit:713 */
4548 REGB1 = TAG_Int(0);
4549 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
4550 if (UNTAG_Bool(REGB2)) {
4551 } else {
4552 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
4553 }
4554 /* ../lib/standard/kernel.nit:234 */
4555 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
4556 /* syntax/syntax_base.nit:713 */
4557 if (UNTAG_Bool(REGB1)) {
4558 /* syntax/syntax_base.nit:714 */
4559 REGB1 = TAG_Int(0);
4560 /* ../lib/standard/kernel.nit:352 */
4561 while(1) {
4562 REGB2 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
4563 if (UNTAG_Bool(REGB2)) {
4564 } else {
4565 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
4566 }
4567 /* ../lib/standard/kernel.nit:232 */
4568 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
4569 /* ../lib/standard/kernel.nit:352 */
4570 if (UNTAG_Bool(REGB2)) {
4571 /* syntax/syntax_base.nit:714 */
4572 REGB2 = REGB1;
4573 /* syntax/syntax_base.nit:715 */
4574 fra.me.REG[4] = CALL_parser___parser_nodes___AType___n_types(fra.me.REG[0])(fra.me.REG[0]);
4575 fra.me.REG[4] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB2);
4576 /* syntax/syntax_base.nit:716 */
4577 fra.me.REG[5] = CALL_syntax___syntax_base___AType___get_stype(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
4578 /* syntax/syntax_base.nit:717 */
4579 fra.me.REG[6] = CALL_metamodel___genericity___MMLocalClass___get_formal(fra.me.REG[3])(fra.me.REG[3], REGB2);
4580 /* syntax/syntax_base.nit:718 */
4581 REGB2 = CALL_metamodel___static_type___MMType___is_valid(fra.me.REG[6])(fra.me.REG[6]);
4582 REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
4583 if (UNTAG_Bool(REGB2)) {
4584 goto label1;
4585 }
4586 /* syntax/syntax_base.nit:719 */
4587 fra.me.REG[6] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra.me.REG[6])(fra.me.REG[6]);
4588 /* syntax/syntax_base.nit:720 */
4589 fra.me.REG[7] = CALL_metamodel___static_type___MMType___adapt_to(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
4590 fra.me.REG[6] = fra.me.REG[7];
4591 /* syntax/syntax_base.nit:721 */
4592 CALL_syntax___syntax_base___AbsSyntaxVisitor___check_conform(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
4593 /* ../lib/standard/kernel.nit:354 */
4594 REGB2 = TAG_Int(1);
4595 /* ../lib/standard/kernel.nit:235 */
4596 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
4597 /* ../lib/standard/kernel.nit:354 */
4598 REGB1 = REGB2;
4599 } else {
4600 /* ../lib/standard/kernel.nit:352 */
4601 goto label2;
4602 }
4603 }
4604 label2: while(0);
4605 }
4606 label1: while(0);
4607 stack_frame_head = fra.me.prev;
4608 return;
4609 }
4610 val_t syntax___syntax_base___AExpr___is_typed(val_t p0){
4611 struct {struct stack_frame_t me;} fra;
4612 val_t tmp;
4613 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4614 fra.me.file = LOCATE_syntax___syntax_base;
4615 fra.me.line = 728;
4616 fra.me.meth = LOCATE_syntax___syntax_base___AExpr___is_typed;
4617 fra.me.has_broke = 0;
4618 fra.me.REG_size = 0;
4619 fra.me.nitni_local_ref_head = NULL;
4620 /* syntax/syntax_base.nit:728 */
4621 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 728);
4622 stack_frame_head = fra.me.prev;
4623 return NIT_NULL;
4624 }
4625 val_t syntax___syntax_base___AExpr___is_statement(val_t p0){
4626 struct {struct stack_frame_t me;} fra;
4627 val_t tmp;
4628 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4629 fra.me.file = LOCATE_syntax___syntax_base;
4630 fra.me.line = 733;
4631 fra.me.meth = LOCATE_syntax___syntax_base___AExpr___is_statement;
4632 fra.me.has_broke = 0;
4633 fra.me.REG_size = 0;
4634 fra.me.nitni_local_ref_head = NULL;
4635 /* syntax/syntax_base.nit:733 */
4636 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 733);
4637 stack_frame_head = fra.me.prev;
4638 return NIT_NULL;
4639 }
4640 val_t syntax___syntax_base___AExpr___stype(val_t p0){
4641 struct {struct stack_frame_t me;} fra;
4642 val_t tmp;
4643 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4644 fra.me.file = LOCATE_syntax___syntax_base;
4645 fra.me.line = 737;
4646 fra.me.meth = LOCATE_syntax___syntax_base___AExpr___stype;
4647 fra.me.has_broke = 0;
4648 fra.me.REG_size = 0;
4649 fra.me.nitni_local_ref_head = NULL;
4650 /* syntax/syntax_base.nit:737 */
4651 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 737);
4652 stack_frame_head = fra.me.prev;
4653 return NIT_NULL;
4654 }
4655 val_t syntax___syntax_base___AAbsAbsSendExpr___prop_signature(val_t p0){
4656 struct {struct stack_frame_t me;} fra;
4657 val_t tmp;
4658 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4659 fra.me.file = LOCATE_syntax___syntax_base;
4660 fra.me.line = 744;
4661 fra.me.meth = LOCATE_syntax___syntax_base___AAbsAbsSendExpr___prop_signature;
4662 fra.me.has_broke = 0;
4663 fra.me.REG_size = 0;
4664 fra.me.nitni_local_ref_head = NULL;
4665 /* syntax/syntax_base.nit:744 */
4666 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 744);
4667 stack_frame_head = fra.me.prev;
4668 return NIT_NULL;
4669 }
4670 val_t syntax___syntax_base___AAbsAbsSendExpr___raw_arguments(val_t p0){
4671 struct {struct stack_frame_t me;} fra;
4672 val_t tmp;
4673 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4674 fra.me.file = LOCATE_syntax___syntax_base;
4675 fra.me.line = 747;
4676 fra.me.meth = LOCATE_syntax___syntax_base___AAbsAbsSendExpr___raw_arguments;
4677 fra.me.has_broke = 0;
4678 fra.me.REG_size = 0;
4679 fra.me.nitni_local_ref_head = NULL;
4680 /* syntax/syntax_base.nit:747 */
4681 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 747);
4682 stack_frame_head = fra.me.prev;
4683 return NIT_NULL;
4684 }
4685 val_t syntax___syntax_base___AAbsSendExpr___prop(val_t p0){
4686 struct {struct stack_frame_t me;} fra;
4687 val_t tmp;
4688 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4689 fra.me.file = LOCATE_syntax___syntax_base;
4690 fra.me.line = 753;
4691 fra.me.meth = LOCATE_syntax___syntax_base___AAbsSendExpr___prop;
4692 fra.me.has_broke = 0;
4693 fra.me.REG_size = 0;
4694 fra.me.nitni_local_ref_head = NULL;
4695 /* syntax/syntax_base.nit:753 */
4696 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 753);
4697 stack_frame_head = fra.me.prev;
4698 return NIT_NULL;
4699 }
4700 val_t syntax___syntax_base___AAbsSendExpr___return_type(val_t p0){
4701 struct {struct stack_frame_t me;} fra;
4702 val_t tmp;
4703 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4704 fra.me.file = LOCATE_syntax___syntax_base;
4705 fra.me.line = 756;
4706 fra.me.meth = LOCATE_syntax___syntax_base___AAbsSendExpr___return_type;
4707 fra.me.has_broke = 0;
4708 fra.me.REG_size = 0;
4709 fra.me.nitni_local_ref_head = NULL;
4710 /* syntax/syntax_base.nit:756 */
4711 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 756);
4712 stack_frame_head = fra.me.prev;
4713 return NIT_NULL;
4714 }
4715 val_t syntax___syntax_base___ASuperExpr___init_in_superclass(val_t p0){
4716 struct {struct stack_frame_t me;} fra;
4717 val_t tmp;
4718 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4719 fra.me.file = LOCATE_syntax___syntax_base;
4720 fra.me.line = 766;
4721 fra.me.meth = LOCATE_syntax___syntax_base___ASuperExpr___init_in_superclass;
4722 fra.me.has_broke = 0;
4723 fra.me.REG_size = 0;
4724 fra.me.nitni_local_ref_head = NULL;
4725 /* syntax/syntax_base.nit:766 */
4726 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 766);
4727 stack_frame_head = fra.me.prev;
4728 return NIT_NULL;
4729 }
4730 val_t syntax___syntax_base___ASendExpr___closure_defs(val_t p0){
4731 struct {struct stack_frame_t me;} fra;
4732 val_t tmp;
4733 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4734 fra.me.file = LOCATE_syntax___syntax_base;
4735 fra.me.line = 775;
4736 fra.me.meth = LOCATE_syntax___syntax_base___ASendExpr___closure_defs;
4737 fra.me.has_broke = 0;
4738 fra.me.REG_size = 0;
4739 fra.me.nitni_local_ref_head = NULL;
4740 /* syntax/syntax_base.nit:775 */
4741 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 775);
4742 stack_frame_head = fra.me.prev;
4743 return NIT_NULL;
4744 }
4745 val_t syntax___syntax_base___AReassignFormExpr___assign_method(val_t p0){
4746 struct {struct stack_frame_t me;} fra;
4747 val_t tmp;
4748 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4749 fra.me.file = LOCATE_syntax___syntax_base;
4750 fra.me.line = 780;
4751 fra.me.meth = LOCATE_syntax___syntax_base___AReassignFormExpr___assign_method;
4752 fra.me.has_broke = 0;
4753 fra.me.REG_size = 0;
4754 fra.me.nitni_local_ref_head = NULL;
4755 /* syntax/syntax_base.nit:780 */
4756 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 780);
4757 stack_frame_head = fra.me.prev;
4758 return NIT_NULL;
4759 }
4760 val_t syntax___syntax_base___ASendReassignExpr___read_prop(val_t p0){
4761 struct {struct stack_frame_t me;} fra;
4762 val_t tmp;
4763 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4764 fra.me.file = LOCATE_syntax___syntax_base;
4765 fra.me.line = 787;
4766 fra.me.meth = LOCATE_syntax___syntax_base___ASendReassignExpr___read_prop;
4767 fra.me.has_broke = 0;
4768 fra.me.REG_size = 0;
4769 fra.me.nitni_local_ref_head = NULL;
4770 /* syntax/syntax_base.nit:787 */
4771 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 787);
4772 stack_frame_head = fra.me.prev;
4773 return NIT_NULL;
4774 }
4775 val_t syntax___syntax_base___AAttrFormExpr___prop(val_t p0){
4776 struct {struct stack_frame_t me;} fra;
4777 val_t tmp;
4778 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4779 fra.me.file = LOCATE_syntax___syntax_base;
4780 fra.me.line = 801;
4781 fra.me.meth = LOCATE_syntax___syntax_base___AAttrFormExpr___prop;
4782 fra.me.has_broke = 0;
4783 fra.me.REG_size = 0;
4784 fra.me.nitni_local_ref_head = NULL;
4785 /* syntax/syntax_base.nit:801 */
4786 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 801);
4787 stack_frame_head = fra.me.prev;
4788 return NIT_NULL;
4789 }
4790 val_t syntax___syntax_base___AAttrFormExpr___attr_type(val_t p0){
4791 struct {struct stack_frame_t me;} fra;
4792 val_t tmp;
4793 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4794 fra.me.file = LOCATE_syntax___syntax_base;
4795 fra.me.line = 804;
4796 fra.me.meth = LOCATE_syntax___syntax_base___AAttrFormExpr___attr_type;
4797 fra.me.has_broke = 0;
4798 fra.me.REG_size = 0;
4799 fra.me.nitni_local_ref_head = NULL;
4800 /* syntax/syntax_base.nit:804 */
4801 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 804);
4802 stack_frame_head = fra.me.prev;
4803 return NIT_NULL;
4804 }
4805 val_t syntax___syntax_base___ASuperstringExpr___atype(val_t p0){
4806 struct {struct stack_frame_t me;} fra;
4807 val_t tmp;
4808 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4809 fra.me.file = LOCATE_syntax___syntax_base;
4810 fra.me.line = 809;
4811 fra.me.meth = LOCATE_syntax___syntax_base___ASuperstringExpr___atype;
4812 fra.me.has_broke = 0;
4813 fra.me.REG_size = 0;
4814 fra.me.nitni_local_ref_head = NULL;
4815 /* syntax/syntax_base.nit:809 */
4816 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 809);
4817 stack_frame_head = fra.me.prev;
4818 return NIT_NULL;
4819 }
4820 val_t syntax___syntax_base___AVardeclExpr___variable(val_t p0){
4821 struct {struct stack_frame_t me;} fra;
4822 val_t tmp;
4823 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4824 fra.me.file = LOCATE_syntax___syntax_base;
4825 fra.me.line = 813;
4826 fra.me.meth = LOCATE_syntax___syntax_base___AVardeclExpr___variable;
4827 fra.me.has_broke = 0;
4828 fra.me.REG_size = 0;
4829 fra.me.nitni_local_ref_head = NULL;
4830 /* syntax/syntax_base.nit:813 */
4831 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 813);
4832 stack_frame_head = fra.me.prev;
4833 return NIT_NULL;
4834 }
4835 val_t syntax___syntax_base___AForExpr___variables(val_t p0){
4836 struct {struct stack_frame_t me;} fra;
4837 val_t tmp;
4838 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4839 fra.me.file = LOCATE_syntax___syntax_base;
4840 fra.me.line = 819;
4841 fra.me.meth = LOCATE_syntax___syntax_base___AForExpr___variables;
4842 fra.me.has_broke = 0;
4843 fra.me.REG_size = 0;
4844 fra.me.nitni_local_ref_head = NULL;
4845 /* syntax/syntax_base.nit:819 */
4846 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 819);
4847 stack_frame_head = fra.me.prev;
4848 return NIT_NULL;
4849 }
4850 val_t syntax___syntax_base___ASelfExpr___variable(val_t p0){
4851 struct {struct stack_frame_t me;} fra;
4852 val_t tmp;
4853 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4854 fra.me.file = LOCATE_syntax___syntax_base;
4855 fra.me.line = 824;
4856 fra.me.meth = LOCATE_syntax___syntax_base___ASelfExpr___variable;
4857 fra.me.has_broke = 0;
4858 fra.me.REG_size = 0;
4859 fra.me.nitni_local_ref_head = NULL;
4860 /* syntax/syntax_base.nit:824 */
4861 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 824);
4862 stack_frame_head = fra.me.prev;
4863 return NIT_NULL;
4864 }
4865 val_t syntax___syntax_base___AVarFormExpr___variable(val_t p0){
4866 struct {struct stack_frame_t me;} fra;
4867 val_t tmp;
4868 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4869 fra.me.file = LOCATE_syntax___syntax_base;
4870 fra.me.line = 829;
4871 fra.me.meth = LOCATE_syntax___syntax_base___AVarFormExpr___variable;
4872 fra.me.has_broke = 0;
4873 fra.me.REG_size = 0;
4874 fra.me.nitni_local_ref_head = NULL;
4875 /* syntax/syntax_base.nit:829 */
4876 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 829);
4877 stack_frame_head = fra.me.prev;
4878 return NIT_NULL;
4879 }
4880 val_t syntax___syntax_base___AClosureCallExpr___variable(val_t p0){
4881 struct {struct stack_frame_t me;} fra;
4882 val_t tmp;
4883 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4884 fra.me.file = LOCATE_syntax___syntax_base;
4885 fra.me.line = 835;
4886 fra.me.meth = LOCATE_syntax___syntax_base___AClosureCallExpr___variable;
4887 fra.me.has_broke = 0;
4888 fra.me.REG_size = 0;
4889 fra.me.nitni_local_ref_head = NULL;
4890 /* syntax/syntax_base.nit:835 */
4891 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 835);
4892 stack_frame_head = fra.me.prev;
4893 return NIT_NULL;
4894 }
4895 val_t syntax___syntax_base___AClosureDef___closure(val_t p0){
4896 struct {struct stack_frame_t me;} fra;
4897 val_t tmp;
4898 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4899 fra.me.file = LOCATE_syntax___syntax_base;
4900 fra.me.line = 840;
4901 fra.me.meth = LOCATE_syntax___syntax_base___AClosureDef___closure;
4902 fra.me.has_broke = 0;
4903 fra.me.REG_size = 0;
4904 fra.me.nitni_local_ref_head = NULL;
4905 /* syntax/syntax_base.nit:840 */
4906 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 840);
4907 stack_frame_head = fra.me.prev;
4908 return NIT_NULL;
4909 }
4910 val_t syntax___syntax_base___AClosureDef___variables(val_t p0){
4911 struct {struct stack_frame_t me;} fra;
4912 val_t tmp;
4913 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4914 fra.me.file = LOCATE_syntax___syntax_base;
4915 fra.me.line = 843;
4916 fra.me.meth = LOCATE_syntax___syntax_base___AClosureDef___variables;
4917 fra.me.has_broke = 0;
4918 fra.me.REG_size = 1;
4919 fra.me.nitni_local_ref_head = NULL;
4920 fra.me.REG[0] = NIT_NULL;
4921 fra.me.REG[0] = p0;
4922 /* syntax/syntax_base.nit:843 */
4923 fra.me.REG[0] = ATTR_syntax___syntax_base___AClosureDef____variables(fra.me.REG[0]);
4924 stack_frame_head = fra.me.prev;
4925 return fra.me.REG[0];
4926 }
4927 void syntax___syntax_base___AClosureDef___variables__eq(val_t p0, val_t p1){
4928 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
4929 val_t tmp;
4930 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4931 fra.me.file = LOCATE_syntax___syntax_base;
4932 fra.me.line = 843;
4933 fra.me.meth = LOCATE_syntax___syntax_base___AClosureDef___variables__eq;
4934 fra.me.has_broke = 0;
4935 fra.me.REG_size = 2;
4936 fra.me.nitni_local_ref_head = NULL;
4937 fra.me.REG[0] = NIT_NULL;
4938 fra.me.REG[1] = NIT_NULL;
4939 fra.me.REG[0] = p0;
4940 fra.me.REG[1] = p1;
4941 /* syntax/syntax_base.nit:843 */
4942 ATTR_syntax___syntax_base___AClosureDef____variables(fra.me.REG[0]) = fra.me.REG[1];
4943 stack_frame_head = fra.me.prev;
4944 return;
4945 }
4946 val_t syntax___syntax_base___AMethid___name(val_t p0){
4947 struct {struct stack_frame_t me;} fra;
4948 val_t tmp;
4949 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4950 fra.me.file = LOCATE_syntax___syntax_base;
4951 fra.me.line = 848;
4952 fra.me.meth = LOCATE_syntax___syntax_base___AMethid___name;
4953 fra.me.has_broke = 0;
4954 fra.me.REG_size = 0;
4955 fra.me.nitni_local_ref_head = NULL;
4956 /* syntax/syntax_base.nit:848 */
4957 nit_abort("Deferred method called", NULL, LOCATE_syntax___syntax_base, 848);
4958 stack_frame_head = fra.me.prev;
4959 return NIT_NULL;
4960 }
4961 val_t syntax___syntax_base___AExprs___to_a(val_t p0){
4962 struct {struct stack_frame_t me;} fra;
4963 val_t tmp;
4964 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4965 fra.me.file = LOCATE_syntax___syntax_base;
4966 fra.me.line = 853;
4967 fra.me.meth = LOCATE_syntax___syntax_base___AExprs___to_a;
4968 fra.me.has_broke = 0;
4969 fra.me.REG_size = 1;
4970 fra.me.nitni_local_ref_head = NULL;
4971 fra.me.REG[0] = NIT_NULL;
4972 fra.me.REG[0] = p0;
4973 /* syntax/syntax_base.nit:854 */
4974 fra.me.REG[0] = CALL_parser___parser_nodes___AExprs___n_exprs(fra.me.REG[0])(fra.me.REG[0]);
4975 fra.me.REG[0] = CALL_standard___collection___array___Collection___to_a(fra.me.REG[0])(fra.me.REG[0]);
4976 goto label1;
4977 label1: while(0);
4978 stack_frame_head = fra.me.prev;
4979 return fra.me.REG[0];
4980 }