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