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
;
6 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7 fra
.me
.file
= LOCATE_syntax___syntax_base
;
9 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcModule___clear_ast
;
12 fra
.me
.REG
[0] = NIT_NULL
;
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
;
19 val_t
syntax___syntax_base___MMSrcModule___node(val_t p0
){
20 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
23 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
24 fra
.me
.file
= LOCATE_syntax___syntax_base
;
26 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcModule___node
;
29 fra
.me
.REG
[0] = NIT_NULL
;
30 fra
.me
.REG
[1] = NIT_NULL
;
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
)) {
39 nit_abort("Cast failed", NULL
, LOCATE_syntax___syntax_base
, 35);
43 stack_frame_head
= fra
.me
.prev
;
46 val_t
syntax___syntax_base___MMSrcModule___src_local_classes(val_t p0
){
47 struct {struct stack_frame_t me
;} fra
;
50 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
51 fra
.me
.file
= LOCATE_syntax___syntax_base
;
53 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcModule___src_local_classes
;
56 fra
.me
.REG
[0] = NIT_NULL
;
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
)) {
62 nit_abort("Uninitialized attribute %s", "_src_local_classes", LOCATE_syntax___syntax_base
, 37);
64 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___MMSrcModule____src_local_classes(fra
.me
.REG
[0]);
65 stack_frame_head
= fra
.me
.prev
;
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
;
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
;
76 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcModule___init
;
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
;
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;
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
;
110 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
111 fra
.me
.file
= LOCATE_syntax___syntax_base
;
113 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcModule___nodes
;
114 fra
.me
.has_broke
= 0;
116 fra
.me
.REG
[0] = NIT_NULL
;
117 fra
.me
.REG
[1] = NIT_NULL
;
118 fra
.me
.REG
[2] = NIT_NULL
;
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
)) {
126 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
127 if (UNTAG_Bool(REGB1
)) {
128 REGB1
= TAG_Bool(false);
131 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
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);
142 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
144 REGB1
= TAG_Bool(false);
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);
153 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
156 fra
.me
.REG
[1] = NIT_NULL
;
160 stack_frame_head
= fra
.me
.prev
;
161 return fra
.me
.REG
[1];
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
;
167 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
168 fra
.me
.file
= LOCATE_syntax___syntax_base
;
170 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcModule___nodes__eq
;
171 fra
.me
.has_broke
= 0;
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
;
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);
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
)) {
190 nit_abort("Assert failed", NULL
, LOCATE_syntax___syntax_base
, 53);
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);
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
;
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
;
205 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
206 fra
.me
.file
= LOCATE_syntax___syntax_base
;
208 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMModule___nodes
;
209 fra
.me
.has_broke
= 0;
211 fra
.me
.REG
[0] = NIT_NULL
;
212 fra
.me
.REG
[1] = NIT_NULL
;
215 /* ./syntax//syntax_base.nit:60 */
216 fra
.me
.REG
[1] = NIT_NULL
;
219 stack_frame_head
= fra
.me
.prev
;
220 return fra
.me
.REG
[1];
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
;
225 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
226 fra
.me
.file
= LOCATE_syntax___syntax_base
;
228 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMModule___nodes__eq
;
229 fra
.me
.has_broke
= 0;
231 fra
.me
.REG
[0] = NIT_NULL
;
232 fra
.me
.REG
[1] = NIT_NULL
;
233 fra
.me
.REG
[2] = NIT_NULL
;
237 /* ./syntax//syntax_base.nit:62 */
238 nit_abort("Aborted", NULL
, LOCATE_syntax___syntax_base
, 62);
239 stack_frame_head
= fra
.me
.prev
;
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
;
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
;
257 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMGlobalClass___check_visibility
;
258 fra
.me
.has_broke
= 0;
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
;
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
)) {
277 nit_abort("Assert failed", NULL
, LOCATE_syntax___syntax_base
, 69);
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 */
283 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
284 if (UNTAG_Bool(REGB2
)) {
286 /* ./../lib/standard//kernel.nit:227 */
287 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
288 /* ./syntax//syntax_base.nit:71 */
291 if (UNTAG_Bool(REGB2
)) {
292 /* ./syntax//syntax_base.nit:72 */
293 REGB2
= TAG_Bool(true);
296 /* ./syntax//syntax_base.nit:73 */
298 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
299 if (UNTAG_Bool(REGB3
)) {
301 /* ./../lib/standard//kernel.nit:227 */
302 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
303 /* ./syntax//syntax_base.nit:73 */
306 if (UNTAG_Bool(REGB3
)) {
307 /* ./syntax//syntax_base.nit:74 */
309 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
311 fra
.me
.REG
[5] = BOX_NativeString("Visibility error: Class ");
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]);
322 fra
.me
.REG
[5] = BOX_NativeString(" comes from the hidden module ");
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]);
333 fra
.me
.REG
[4] = BOX_NativeString(".");
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);
348 /* ./syntax//syntax_base.nit:76 */
349 REGB3
= CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
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
)) {
354 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
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 */
362 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
364 fra
.me
.REG
[4] = BOX_NativeString("Visibility error: Class ");
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]);
375 fra
.me
.REG
[0] = BOX_NativeString(" is private.");
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);
392 /* ./syntax//syntax_base.nit:80 */
393 REGB1
= TAG_Bool(true);
397 stack_frame_head
= fra
.me
.prev
;
400 val_t
syntax___syntax_base___MMSrcLocalClass___node(val_t p0
){
401 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
404 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
405 fra
.me
.file
= LOCATE_syntax___syntax_base
;
407 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcLocalClass___node
;
408 fra
.me
.has_broke
= 0;
410 fra
.me
.REG
[0] = NIT_NULL
;
411 fra
.me
.REG
[1] = NIT_NULL
;
412 fra
.me
.REG
[2] = NIT_NULL
;
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
)) {
422 nit_abort("Cast failed", NULL
, LOCATE_syntax___syntax_base
, 88);
426 stack_frame_head
= fra
.me
.prev
;
427 return fra
.me
.REG
[1];
429 val_t
syntax___syntax_base___MMSrcLocalClass___formal_dict(val_t p0
){
430 struct {struct stack_frame_t me
;} fra
;
433 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
434 fra
.me
.file
= LOCATE_syntax___syntax_base
;
436 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcLocalClass___formal_dict
;
437 fra
.me
.has_broke
= 0;
439 fra
.me
.REG
[0] = NIT_NULL
;
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
)) {
445 nit_abort("Uninitialized attribute %s", "_formal_dict", LOCATE_syntax___syntax_base
, 90);
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];
451 val_t
syntax___syntax_base___MMSrcLocalClass___src_local_properties(val_t p0
){
452 struct {struct stack_frame_t me
;} fra
;
455 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
456 fra
.me
.file
= LOCATE_syntax___syntax_base
;
458 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcLocalClass___src_local_properties
;
459 fra
.me
.has_broke
= 0;
461 fra
.me
.REG
[0] = NIT_NULL
;
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
)) {
467 nit_abort("Uninitialized attribute %s", "_src_local_properties", LOCATE_syntax___syntax_base
, 93);
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];
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
;
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
;
482 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcLocalClass___init
;
483 fra
.me
.has_broke
= 0;
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
;
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;
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
;
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
;
526 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMGlobalProperty___check_visibility
;
527 fra
.me
.has_broke
= 0;
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
;
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
)) {
547 nit_abort("Assert failed", NULL
, LOCATE_syntax___syntax_base
, 108);
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 */
553 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
554 if (UNTAG_Bool(REGB3
)) {
556 /* ./../lib/standard//kernel.nit:227 */
557 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
558 /* ./syntax//syntax_base.nit:110 */
561 if (UNTAG_Bool(REGB3
)) {
562 /* ./syntax//syntax_base.nit:111 */
563 REGB3
= TAG_Bool(true);
566 /* ./syntax//syntax_base.nit:112 */
568 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
569 if (UNTAG_Bool(REGB4
)) {
571 /* ./../lib/standard//kernel.nit:227 */
572 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
573 /* ./syntax//syntax_base.nit:112 */
576 if (UNTAG_Bool(REGB4
)) {
577 /* ./syntax//syntax_base.nit:114 */
579 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
581 fra
.me
.REG
[5] = BOX_NativeString("Visibility error: Property ");
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]);
592 fra
.me
.REG
[5] = BOX_NativeString(" comes from the hidden module ");
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]);
603 fra
.me
.REG
[4] = BOX_NativeString(".");
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);
618 /* ./syntax//syntax_base.nit:116 */
619 REGB4
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
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
)) {
624 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
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 */
632 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
634 fra
.me
.REG
[4] = BOX_NativeString("Visibility error: Property ");
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]);
645 fra
.me
.REG
[4] = BOX_NativeString(" is private.");
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);
660 /* ./syntax//syntax_base.nit:119 */
661 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
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
)) {
666 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
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
));
674 REGB4
= TAG_Bool(false);
677 if (UNTAG_Bool(REGB0
)) {
678 /* ./syntax//syntax_base.nit:120 */
680 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
682 fra
.me
.REG
[4] = BOX_NativeString("Visibility error: Property ");
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]);
693 fra
.me
.REG
[0] = BOX_NativeString(" is protected and can only acceded by self.");
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);
711 /* ./syntax//syntax_base.nit:123 */
712 REGB0
= TAG_Bool(true);
716 stack_frame_head
= fra
.me
.prev
;
719 val_t
syntax___syntax_base___MMLocalProperty___node(val_t p0
){
720 struct {struct stack_frame_t me
;} fra
;
722 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
723 fra
.me
.file
= LOCATE_syntax___syntax_base
;
725 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMLocalProperty___node
;
726 fra
.me
.has_broke
= 0;
728 fra
.me
.REG
[0] = NIT_NULL
;
730 /* ./syntax//syntax_base.nit:129 */
731 fra
.me
.REG
[0] = NIT_NULL
;
734 stack_frame_head
= fra
.me
.prev
;
735 return fra
.me
.REG
[0];
737 val_t
syntax___syntax_base___MMLocalProperty___is_init(val_t p0
){
738 struct {struct stack_frame_t me
;} fra
;
741 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
742 fra
.me
.file
= LOCATE_syntax___syntax_base
;
744 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMLocalProperty___is_init
;
745 fra
.me
.has_broke
= 0;
747 fra
.me
.REG
[0] = NIT_NULL
;
749 /* ./syntax//syntax_base.nit:132 */
750 REGB0
= TAG_Bool(false);
753 stack_frame_head
= fra
.me
.prev
;
756 val_t
syntax___syntax_base___MMSrcAttribute___node(val_t p0
){
757 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
760 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
761 fra
.me
.file
= LOCATE_syntax___syntax_base
;
763 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcAttribute___node
;
764 fra
.me
.has_broke
= 0;
766 fra
.me
.REG
[0] = NIT_NULL
;
767 fra
.me
.REG
[1] = NIT_NULL
;
768 fra
.me
.REG
[2] = NIT_NULL
;
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
)) {
777 nit_abort("Cast failed", NULL
, LOCATE_syntax___syntax_base
, 138);
781 stack_frame_head
= fra
.me
.prev
;
782 return fra
.me
.REG
[1];
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
;
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
;
792 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcAttribute___init
;
793 fra
.me
.has_broke
= 0;
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
;
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;
815 val_t
syntax___syntax_base___MMSrcMethod___is_intern(val_t p0
){
816 struct {struct stack_frame_t me
;} fra
;
819 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
820 fra
.me
.file
= LOCATE_syntax___syntax_base
;
822 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcMethod___is_intern
;
823 fra
.me
.has_broke
= 0;
825 fra
.me
.REG
[0] = NIT_NULL
;
827 /* ./syntax//syntax_base.nit:149 */
828 REGB0
= TAG_Bool(false);
831 stack_frame_head
= fra
.me
.prev
;
834 val_t
syntax___syntax_base___MMSrcMethod___is_extern(val_t p0
){
835 struct {struct stack_frame_t me
;} fra
;
838 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
839 fra
.me
.file
= LOCATE_syntax___syntax_base
;
841 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcMethod___is_extern
;
842 fra
.me
.has_broke
= 0;
844 fra
.me
.REG
[0] = NIT_NULL
;
846 /* ./syntax//syntax_base.nit:150 */
847 REGB0
= TAG_Bool(false);
850 stack_frame_head
= fra
.me
.prev
;
853 val_t
syntax___syntax_base___MMSrcMethod___is_abstract(val_t p0
){
854 struct {struct stack_frame_t me
;} fra
;
857 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
858 fra
.me
.file
= LOCATE_syntax___syntax_base
;
860 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcMethod___is_abstract
;
861 fra
.me
.has_broke
= 0;
863 fra
.me
.REG
[0] = NIT_NULL
;
865 /* ./syntax//syntax_base.nit:151 */
866 REGB0
= TAG_Bool(false);
869 stack_frame_head
= fra
.me
.prev
;
872 val_t
syntax___syntax_base___MMSrcMethod___extern_name(val_t p0
){
873 struct {struct stack_frame_t me
;} fra
;
875 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
876 fra
.me
.file
= LOCATE_syntax___syntax_base
;
878 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcMethod___extern_name
;
879 fra
.me
.has_broke
= 0;
881 fra
.me
.REG
[0] = NIT_NULL
;
883 /* ./syntax//syntax_base.nit:152 */
884 fra
.me
.REG
[0] = NIT_NULL
;
887 stack_frame_head
= fra
.me
.prev
;
888 return fra
.me
.REG
[0];
890 val_t
syntax___syntax_base___MMAttrImplementationMethod___node(val_t p0
){
891 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
894 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
895 fra
.me
.file
= LOCATE_syntax___syntax_base
;
897 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMAttrImplementationMethod___node
;
898 fra
.me
.has_broke
= 0;
900 fra
.me
.REG
[0] = NIT_NULL
;
901 fra
.me
.REG
[1] = NIT_NULL
;
902 fra
.me
.REG
[2] = NIT_NULL
;
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
)) {
911 nit_abort("Cast failed", NULL
, LOCATE_syntax___syntax_base
, 158);
915 stack_frame_head
= fra
.me
.prev
;
916 return fra
.me
.REG
[1];
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
;
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
;
926 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMAttrImplementationMethod___init
;
927 fra
.me
.has_broke
= 0;
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
;
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;
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
;
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
;
957 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMReadImplementationMethod___init
;
958 fra
.me
.has_broke
= 0;
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
;
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;
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
;
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
;
982 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMWriteImplementationMethod___init
;
983 fra
.me
.has_broke
= 0;
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
;
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;
999 val_t
syntax___syntax_base___MMMethSrcMethod___is_init(val_t p0
){
1000 struct {struct stack_frame_t me
;} fra
;
1003 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1004 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
1015 nit_abort("Uninitialized attribute %s", "_is_init", LOCATE_syntax___syntax_base
, 187);
1017 REGB0
= ATTR_syntax___syntax_base___MMMethSrcMethod____is_init(fra
.me
.REG
[0]);
1018 stack_frame_head
= fra
.me
.prev
;
1021 val_t
syntax___syntax_base___MMMethSrcMethod___is_intern(val_t p0
){
1022 struct {struct stack_frame_t me
;} fra
;
1025 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1026 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
1037 nit_abort("Uninitialized attribute %s", "_is_intern", LOCATE_syntax___syntax_base
, 188);
1039 REGB0
= ATTR_syntax___syntax_base___MMMethSrcMethod____is_intern(fra
.me
.REG
[0]);
1040 stack_frame_head
= fra
.me
.prev
;
1043 val_t
syntax___syntax_base___MMMethSrcMethod___is_extern(val_t p0
){
1044 struct {struct stack_frame_t me
;} fra
;
1047 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1048 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
1059 nit_abort("Uninitialized attribute %s", "_is_extern", LOCATE_syntax___syntax_base
, 189);
1061 REGB0
= ATTR_syntax___syntax_base___MMMethSrcMethod____is_extern(fra
.me
.REG
[0]);
1062 stack_frame_head
= fra
.me
.prev
;
1065 val_t
syntax___syntax_base___MMMethSrcMethod___is_abstract(val_t p0
){
1066 struct {struct stack_frame_t me
;} fra
;
1069 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1070 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
1081 nit_abort("Uninitialized attribute %s", "_is_abstract", LOCATE_syntax___syntax_base
, 190);
1083 REGB0
= ATTR_syntax___syntax_base___MMMethSrcMethod____is_abstract(fra
.me
.REG
[0]);
1084 stack_frame_head
= fra
.me
.prev
;
1087 val_t
syntax___syntax_base___MMMethSrcMethod___extern_name(val_t p0
){
1088 struct {struct stack_frame_t me
;} fra
;
1090 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1091 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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];
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
;
1106 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1107 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
;
1121 val_t
syntax___syntax_base___MMMethSrcMethod___explicit_casts(val_t p0
){
1122 struct {struct stack_frame_t me
;} fra
;
1125 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1126 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
1137 nit_abort("Uninitialized attribute %s", "_explicit_casts", LOCATE_syntax___syntax_base
, 192);
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];
1143 val_t
syntax___syntax_base___MMMethSrcMethod___explicit_imports(val_t p0
){
1144 struct {struct stack_frame_t me
;} fra
;
1147 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1148 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
1159 nit_abort("Uninitialized attribute %s", "_explicit_imports", LOCATE_syntax___syntax_base
, 193);
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];
1165 val_t
syntax___syntax_base___MMMethSrcMethod___node(val_t p0
){
1166 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1169 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1170 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
1186 nit_abort("Cast failed", NULL
, LOCATE_syntax___syntax_base
, 194);
1190 stack_frame_head
= fra
.me
.prev
;
1191 return fra
.me
.REG
[1];
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
;
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
;
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
;
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
);
1247 stack_frame_head
= fra
.me
.prev
;
1248 init_table
[itpos6
] = 1;
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
;
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
;
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
;
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;
1276 val_t
syntax___syntax_base___MMImplicitInit___super_init(val_t p0
){
1277 struct {struct stack_frame_t me
;} fra
;
1279 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1280 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
1290 val_t
syntax___syntax_base___MMImplicitInit___is_init(val_t p0
){
1291 struct {struct stack_frame_t me
;} fra
;
1294 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1295 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
1302 /* ./syntax//syntax_base.nit:225 */
1303 REGB0
= TAG_Bool(true);
1306 stack_frame_head
= fra
.me
.prev
;
1309 val_t
syntax___syntax_base___MMImplicitInit___unassigned_attributes(val_t p0
){
1310 struct {struct stack_frame_t me
;} fra
;
1313 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1314 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
1325 nit_abort("Uninitialized attribute %s", "_unassigned_attributes", LOCATE_syntax___syntax_base
, 226);
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];
1331 val_t
syntax___syntax_base___MMImplicitInit___super_inits(val_t p0
){
1332 struct {struct stack_frame_t me
;} fra
;
1335 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1336 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
1347 nit_abort("Uninitialized attribute %s", "_super_inits", LOCATE_syntax___syntax_base
, 227);
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];
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
;
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
;
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
;
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");
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;
1403 val_t
syntax___syntax_base___Variable___name(val_t p0
){
1404 struct {struct stack_frame_t me
;} fra
;
1407 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1408 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
1419 nit_abort("Uninitialized attribute %s", "_name", LOCATE_syntax___syntax_base
, 238);
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];
1425 val_t
syntax___syntax_base___Variable___decl(val_t p0
){
1426 struct {struct stack_frame_t me
;} fra
;
1428 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1429 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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];
1441 val_t
syntax___syntax_base___Variable___stype(val_t p0
){
1442 struct {struct stack_frame_t me
;} fra
;
1444 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1445 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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];
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
;
1460 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1461 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
;
1475 val_t
syntax___syntax_base___Variable___to_s(val_t p0
){
1476 struct {struct stack_frame_t me
;} fra
;
1479 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1480 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
1491 nit_abort("Uninitialized attribute %s", "_name", LOCATE_syntax___syntax_base
, 247);
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]);
1497 stack_frame_head
= fra
.me
.prev
;
1498 return fra
.me
.REG
[0];
1500 val_t
syntax___syntax_base___Variable___kind(val_t p0
){
1501 struct {struct stack_frame_t me
;} fra
;
1503 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1504 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
;
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
;
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
;
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;
1539 val_t
syntax___syntax_base___VarVariable___kind(val_t p0
){
1540 struct {struct stack_frame_t me
;} fra
;
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
;
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
;
1553 /* ./syntax//syntax_base.nit:261 */
1554 if (!once_value_1
) {
1555 if (!once_value_2
) {
1556 fra
.me
.REG
[0] = BOX_NativeString("variable");
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];
1569 stack_frame_head
= fra
.me
.prev
;
1570 return fra
.me
.REG
[0];
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
;
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
;
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
;
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;
1595 val_t
syntax___syntax_base___ParamVariable___kind(val_t p0
){
1596 struct {struct stack_frame_t me
;} fra
;
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
;
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
;
1609 /* ./syntax//syntax_base.nit:268 */
1610 if (!once_value_1
) {
1611 if (!once_value_2
) {
1612 fra
.me
.REG
[0] = BOX_NativeString("parameter");
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];
1625 stack_frame_head
= fra
.me
.prev
;
1626 return fra
.me
.REG
[0];
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
;
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
;
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
;
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;
1651 val_t
syntax___syntax_base___AutoVariable___kind(val_t p0
){
1652 struct {struct stack_frame_t me
;} fra
;
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
;
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
;
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];
1681 stack_frame_head
= fra
.me
.prev
;
1682 return fra
.me
.REG
[0];
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
;
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
;
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
;
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;
1707 val_t
syntax___syntax_base___ClosureVariable___kind(val_t p0
){
1708 struct {struct stack_frame_t me
;} fra
;
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
;
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
;
1721 /* ./syntax//syntax_base.nit:283 */
1722 if (!once_value_1
) {
1723 if (!once_value_2
) {
1724 fra
.me
.REG
[0] = BOX_NativeString("closure");
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];
1737 stack_frame_head
= fra
.me
.prev
;
1738 return fra
.me
.REG
[0];
1740 val_t
syntax___syntax_base___ClosureVariable___closure(val_t p0
){
1741 struct {struct stack_frame_t me
;} fra
;
1744 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1745 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
1756 nit_abort("Uninitialized attribute %s", "_closure", LOCATE_syntax___syntax_base
, 285);
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];
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
;
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
;
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
;
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;
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
;
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
;
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
;
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
)) {
1816 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base
, 302);
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
)) {
1825 nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax___syntax_base
, 302);
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
)) {
1831 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base
, 302);
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]);
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("\"");
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]);
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
)) {
1864 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base
, 303);
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]);
1872 stack_frame_head
= fra
.me
.prev
;
1873 return fra
.me
.REG
[1];
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
;
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
;
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
;
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
)) {
1901 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base
, 309);
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
)) {
1910 nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax___syntax_base
, 309);
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
)) {
1916 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base
, 309);
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]);
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("\"");
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]);
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
)) {
1949 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base
, 310);
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]);
1957 stack_frame_head
= fra
.me
.prev
;
1958 return fra
.me
.REG
[2];
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
;
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
;
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
;
1975 /* ./syntax//syntax_base.nit:317 */
1976 if (!once_value_1
) {
1977 if (!once_value_2
) {
1978 fra
.me
.REG
[1] = BOX_NativeString("Object");
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]);
1993 stack_frame_head
= fra
.me
.prev
;
1994 return fra
.me
.REG
[1];
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
;
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
;
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
;
2011 /* ./syntax//syntax_base.nit:323 */
2012 if (!once_value_1
) {
2013 if (!once_value_2
) {
2014 fra
.me
.REG
[1] = BOX_NativeString("Bool");
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]);
2029 stack_frame_head
= fra
.me
.prev
;
2030 return fra
.me
.REG
[1];
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
;
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
;
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
;
2047 /* ./syntax//syntax_base.nit:329 */
2048 if (!once_value_1
) {
2049 if (!once_value_2
) {
2050 fra
.me
.REG
[1] = BOX_NativeString("Int");
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]);
2065 stack_frame_head
= fra
.me
.prev
;
2066 return fra
.me
.REG
[1];
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
;
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
;
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
;
2083 /* ./syntax//syntax_base.nit:335 */
2084 if (!once_value_1
) {
2085 if (!once_value_2
) {
2086 fra
.me
.REG
[1] = BOX_NativeString("Float");
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]);
2101 stack_frame_head
= fra
.me
.prev
;
2102 return fra
.me
.REG
[1];
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
;
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
;
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
;
2119 /* ./syntax//syntax_base.nit:341 */
2120 if (!once_value_1
) {
2121 if (!once_value_2
) {
2122 fra
.me
.REG
[1] = BOX_NativeString("Char");
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]);
2137 stack_frame_head
= fra
.me
.prev
;
2138 return fra
.me
.REG
[1];
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
;
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
;
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
;
2155 /* ./syntax//syntax_base.nit:347 */
2156 if (!once_value_1
) {
2157 if (!once_value_2
) {
2158 fra
.me
.REG
[1] = BOX_NativeString("String");
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]);
2173 stack_frame_head
= fra
.me
.prev
;
2174 return fra
.me
.REG
[1];
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
;
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
;
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
;
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]);
2209 stack_frame_head
= fra
.me
.prev
;
2210 return fra
.me
.REG
[1];
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
;
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
;
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
;
2230 /* ./syntax//syntax_base.nit:359 */
2231 if (!once_value_1
) {
2232 if (!once_value_2
) {
2233 fra
.me
.REG
[2] = BOX_NativeString("Array");
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];
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]);
2251 stack_frame_head
= fra
.me
.prev
;
2252 return fra
.me
.REG
[3];
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
;
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
;
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
;
2269 /* ./syntax//syntax_base.nit:365 */
2270 if (!once_value_1
) {
2271 if (!once_value_2
) {
2272 fra
.me
.REG
[1] = BOX_NativeString("Discrete");
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]);
2287 stack_frame_head
= fra
.me
.prev
;
2288 return fra
.me
.REG
[1];
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
;
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
;
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
;
2308 /* ./syntax//syntax_base.nit:371 */
2309 if (!once_value_1
) {
2310 if (!once_value_2
) {
2311 fra
.me
.REG
[2] = BOX_NativeString("Range");
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];
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]);
2329 stack_frame_head
= fra
.me
.prev
;
2330 return fra
.me
.REG
[3];
2332 val_t
syntax___syntax_base___AbsSyntaxVisitor___type_none(val_t p0
){
2333 struct {struct stack_frame_t me
;} fra
;
2336 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2337 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
2348 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base
, 377);
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]);
2354 stack_frame_head
= fra
.me
.prev
;
2355 return fra
.me
.REG
[0];
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
;
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
;
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
;
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]);
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(".");
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]);
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]);
2427 stack_frame_head
= fra
.me
.prev
;
2428 return fra
.me
.REG
[2];
2430 val_t
syntax___syntax_base___AbsSyntaxVisitor___mmmodule(val_t p0
){
2431 struct {struct stack_frame_t me
;} fra
;
2434 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2435 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
2446 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base
, 388);
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];
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
;
2456 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2457 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
2472 nit_abort("Cast failed", NULL
, LOCATE_syntax___syntax_base
, 392);
2476 stack_frame_head
= fra
.me
.prev
;
2477 return fra
.me
.REG
[1];
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
;
2482 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2483 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
;
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
;
2501 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2502 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
2517 nit_abort("Cast failed", NULL
, LOCATE_syntax___syntax_base
, 396);
2521 stack_frame_head
= fra
.me
.prev
;
2522 return fra
.me
.REG
[1];
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
;
2527 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2528 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
;
2542 val_t
syntax___syntax_base___AbsSyntaxVisitor___tc(val_t p0
){
2543 struct {struct stack_frame_t me
;} fra
;
2546 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2547 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
2558 nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax___syntax_base
, 399);
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];
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
;
2569 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2570 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
2586 nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax___syntax_base
, 405);
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
)) {
2592 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2593 if (UNTAG_Bool(REGB1
)) {
2594 REGB1
= TAG_Bool(false);
2597 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
2601 if (UNTAG_Bool(REGB0
)) {
2602 fra
.me
.REG
[3] = NIT_NULL
;
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);
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];
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
;
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
;
2620 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2621 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
2637 nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax___syntax_base
, 411);
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
)) {
2643 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2644 if (UNTAG_Bool(REGB1
)) {
2645 REGB1
= TAG_Bool(false);
2648 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
2652 if (UNTAG_Bool(REGB0
)) {
2653 fra
.me
.REG
[3] = NIT_NULL
;
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);
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];
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
;
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
;
2671 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2672 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
2688 nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax___syntax_base
, 417);
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
)) {
2694 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2695 if (UNTAG_Bool(REGB1
)) {
2696 REGB1
= TAG_Bool(false);
2699 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
2703 if (UNTAG_Bool(REGB0
)) {
2704 fra
.me
.REG
[3] = NIT_NULL
;
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);
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];
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
;
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
;
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
;
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
;
2742 /* ./syntax//syntax_base.nit:423 */
2743 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2744 if (UNTAG_Bool(REGB0
)) {
2746 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2747 if (UNTAG_Bool(REGB1
)) {
2748 REGB1
= TAG_Bool(false);
2751 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
2755 if (UNTAG_Bool(REGB0
)) {
2756 REGB0
= TAG_Bool(true);
2758 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2759 if (UNTAG_Bool(REGB1
)) {
2761 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2762 if (UNTAG_Bool(REGB2
)) {
2763 REGB2
= TAG_Bool(false);
2766 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
2772 if (UNTAG_Bool(REGB0
)) {
2773 /* ./syntax//syntax_base.nit:424 */
2774 REGB0
= TAG_Bool(false);
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);
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);
2789 /* ./syntax//syntax_base.nit:429 */
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 ");
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("");
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);
2830 stack_frame_head
= fra
.me
.prev
;
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
;
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
;
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
;
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]);
2862 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
2863 if (UNTAG_Bool(REGB2
)) {
2865 /* ./../lib/standard//kernel.nit:227 */
2866 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
2867 /* ./syntax//syntax_base.nit:439 */
2870 if (UNTAG_Bool(REGB2
)) {
2871 /* ./syntax//syntax_base.nit:440 */
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("");
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);
2900 /* ./syntax//syntax_base.nit:445 */
2901 REGB2
= TAG_Bool(false);
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);
2923 /* ./syntax//syntax_base.nit:450 */
2924 REGB1
= TAG_Bool(true);
2928 stack_frame_head
= fra
.me
.prev
;
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
;
2936 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2937 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
2949 /* ./syntax//syntax_base.nit:456 */
2950 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2951 if (UNTAG_Bool(REGB0
)) {
2953 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2954 if (UNTAG_Bool(REGB1
)) {
2955 REGB1
= TAG_Bool(false);
2958 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
2962 if (UNTAG_Bool(REGB0
)) {
2963 REGB0
= TAG_Bool(false);
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]);
2974 REGB1
= TAG_Bool(false);
2979 stack_frame_head
= fra
.me
.prev
;
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
;
2987 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2988 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
) {
3006 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
3008 /* ./syntax//syntax_base.nit:486 */
3009 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3010 if (UNTAG_Bool(REGB0
)) {
3012 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3013 if (UNTAG_Bool(REGB1
)) {
3014 REGB1
= TAG_Bool(false);
3017 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
3021 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3022 if (UNTAG_Bool(REGB0
)) {
3024 nit_abort("Assert failed", NULL
, LOCATE_syntax___syntax_base
, 486);
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
) {
3029 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
3031 /* ./syntax//syntax_base.nit:497 */
3032 fra
.me
.REG
[4] = fra
.me
.REG
[1];
3035 stack_frame_head
= fra
.me
.prev
;
3036 return fra
.me
.REG
[4];
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
;
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
;
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
;
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;
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
)) {
3073 REGB1
= TAG_Bool(closctx
->REG
[1]==NIT_NULL
);
3074 if (UNTAG_Bool(REGB1
)) {
3075 REGB1
= TAG_Bool(false);
3078 REGB1
= CALL_standard___kernel___Object_____eqeq(closctx
->REG
[1])(closctx
->REG
[1], NIT_NULL
);
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);
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
)) {
3093 /* ./../lib/standard//kernel.nit:195 */
3094 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
3095 /* ./syntax//syntax_base.nit:476 */
3098 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
3100 REGB1
= TAG_Bool(false);
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);
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];
3115 /* ./syntax//syntax_base.nit:481 */
3116 REGB2
= TAG_Bool(closctx
->REG
[1]==NIT_NULL
);
3117 if (UNTAG_Bool(REGB2
)) {
3119 REGB1
= TAG_Bool(closctx
->REG
[1]==NIT_NULL
);
3120 if (UNTAG_Bool(REGB1
)) {
3121 REGB1
= TAG_Bool(false);
3124 REGB1
= CALL_standard___kernel___Object_____eqeq(closctx
->REG
[1])(closctx
->REG
[1], NIT_NULL
);
3128 if (UNTAG_Bool(REGB2
)) {
3129 REGB2
= TAG_Bool(true);
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);
3135 REGB1
= CALL_metamodel___static_type___MMType_____l(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[1]);
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];
3145 stack_frame_head
= fra
.me
.prev
;
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
;
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
;
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
;
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
)) {
3185 REGB1
= TAG_Bool(closctx
->REG
[3]==NIT_NULL
);
3186 if (UNTAG_Bool(REGB1
)) {
3187 REGB1
= TAG_Bool(false);
3190 REGB1
= CALL_standard___kernel___Object_____eqeq(closctx
->REG
[3])(closctx
->REG
[3], NIT_NULL
);
3194 if (UNTAG_Bool(REGB0
)) {
3195 /* ./syntax//syntax_base.nit:490 */
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 ");
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(".");
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]);
3233 /* ./syntax//syntax_base.nit:492 */
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 ");
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 ");
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);
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(".");
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]);
3288 /* ./syntax//syntax_base.nit:494 */
3289 closctx
->REG
[4] = NIT_NULL
;
3290 closctx
->has_broke
= 1;
3294 stack_frame_head
= fra
.me
.prev
;
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
;
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
;
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
;
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;
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
;
3329 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3330 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
;
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
;
3349 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3350 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
3365 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3366 if (UNTAG_Bool(REGB1
)) {
3367 REGB1
= TAG_Bool(false);
3370 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
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];
3382 /* ./syntax//syntax_base.nit:525 */
3385 stack_frame_head
= fra
.me
.prev
;
3386 return fra
.me
.REG
[1];
3388 val_t
syntax___syntax_base___AClassdef___local_class(val_t p0
){
3389 struct {struct stack_frame_t me
;} fra
;
3391 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3392 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
3402 val_t
syntax___syntax_base___AClassdef___next_node(val_t p0
){
3403 struct {struct stack_frame_t me
;} fra
;
3405 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3406 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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];
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
;
3421 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3422 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
;
3436 val_t
syntax___syntax_base___APropdef___self_var(val_t p0
){
3437 struct {struct stack_frame_t me
;} fra
;
3439 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3440 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
3450 val_t
syntax___syntax_base___AAttrPropdef___prop(val_t p0
){
3451 struct {struct stack_frame_t me
;} fra
;
3453 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3454 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
3464 val_t
syntax___syntax_base___AAttrPropdef___readmethod(val_t p0
){
3465 struct {struct stack_frame_t me
;} fra
;
3467 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3468 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
3478 val_t
syntax___syntax_base___AAttrPropdef___writemethod(val_t p0
){
3479 struct {struct stack_frame_t me
;} fra
;
3481 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3482 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
3492 val_t
syntax___syntax_base___AConcreteInitPropdef___super_init_calls(val_t p0
){
3493 struct {struct stack_frame_t me
;} fra
;
3496 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3497 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
3508 nit_abort("Uninitialized attribute %s", "_super_init_calls", LOCATE_syntax___syntax_base
, 554);
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];
3514 val_t
syntax___syntax_base___AConcreteInitPropdef___explicit_super_init_calls(val_t p0
){
3515 struct {struct stack_frame_t me
;} fra
;
3518 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3519 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
3530 nit_abort("Uninitialized attribute %s", "_explicit_super_init_calls", LOCATE_syntax___syntax_base
, 555);
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];
3536 val_t
syntax___syntax_base___AMethPropdef___method(val_t p0
){
3537 struct {struct stack_frame_t me
;} fra
;
3539 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3540 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
3550 val_t
syntax___syntax_base___ATypePropdef___prop(val_t p0
){
3551 struct {struct stack_frame_t me
;} fra
;
3553 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3554 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
3564 val_t
syntax___syntax_base___AParam___position(val_t p0
){
3565 struct {struct stack_frame_t me
;} fra
;
3567 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3568 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
3578 val_t
syntax___syntax_base___AParam___variable(val_t p0
){
3579 struct {struct stack_frame_t me
;} fra
;
3581 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3582 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
3592 val_t
syntax___syntax_base___AClosureDecl___position(val_t p0
){
3593 struct {struct stack_frame_t me
;} fra
;
3595 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3596 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
3606 val_t
syntax___syntax_base___AClosureDecl___variable(val_t p0
){
3607 struct {struct stack_frame_t me
;} fra
;
3609 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3610 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
3620 val_t
syntax___syntax_base___AType___is_typed(val_t p0
){
3621 struct {struct stack_frame_t me
;} fra
;
3623 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3624 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
3634 val_t
syntax___syntax_base___AType___stype(val_t p0
){
3635 struct {struct stack_frame_t me
;} fra
;
3637 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3638 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
;
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
;
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
;
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);
3687 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
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]);
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
;
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]);
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(".");
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
;
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];
3781 stack_frame_head
= fra
.me
.prev
;
3782 return fra
.me
.REG
[5];
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
;
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
;
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
;
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
)) {
3825 nit_abort("Uninitialized attribute %s", "_stype_cached", LOCATE_syntax___syntax_base
, 628);
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]);
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]);
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
)) {
3853 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
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 */
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
;
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
)) {
3896 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3897 if (UNTAG_Bool(REGB0
)) {
3898 REGB0
= TAG_Bool(false);
3901 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
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);
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];
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];
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]);
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
)) {
3930 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
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 */
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
;
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
)) {
3976 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3977 if (UNTAG_Bool(REGB1
)) {
3978 REGB1
= TAG_Bool(false);
3981 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
3985 if (UNTAG_Bool(REGB0
)) {
3986 /* ./syntax//syntax_base.nit:654 */
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(".");
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
;
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
)) {
4020 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4021 if (UNTAG_Bool(REGB1
)) {
4022 REGB1
= TAG_Bool(false);
4025 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
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);
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];
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];
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
)) {
4050 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4051 if (UNTAG_Bool(REGB1
)) {
4052 REGB1
= TAG_Bool(false);
4055 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
4059 if (UNTAG_Bool(REGB0
)) {
4060 fra
.me
.REG
[2] = NIT_NULL
;
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);
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
)) {
4075 /* ./../lib/standard//kernel.nit:227 */
4076 REGB1
= TAG_Bool((REGB1
)==(REGB0
));
4077 /* ./syntax//syntax_base.nit:666 */
4080 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
4081 if (UNTAG_Bool(REGB2
)) {
4082 /* ./syntax//syntax_base.nit:667 */
4084 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB2
));
4085 if (UNTAG_Bool(REGB1
)) {
4087 /* ./../lib/standard//kernel.nit:227 */
4088 REGB2
= TAG_Bool((REGB0
)==(REGB2
));
4089 /* ./syntax//syntax_base.nit:667 */
4092 if (UNTAG_Bool(REGB1
)) {
4093 /* ./syntax//syntax_base.nit:668 */
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]);
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);
4124 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4126 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
4127 if (UNTAG_Bool(REGB3
)) {
4129 /* ./../lib/standard//kernel.nit:227 */
4130 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
4131 /* ./syntax//syntax_base.nit:669 */
4134 if (UNTAG_Bool(REGB3
)) {
4135 /* ./syntax//syntax_base.nit:670 */
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]);
4161 /* ./syntax//syntax_base.nit:672 */
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 ");
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);
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]);
4215 /* ./syntax//syntax_base.nit:674 */
4216 fra
.me
.REG
[2] = NIT_NULL
;
4219 /* ./syntax//syntax_base.nit:677 */
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
)) {
4224 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
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
) {
4237 case 1: (&(fra
.me
))->has_broke
= 0; goto label1
;
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);
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];
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);
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];
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
)) {
4260 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4261 if (UNTAG_Bool(REGB0
)) {
4262 REGB0
= TAG_Bool(false);
4265 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
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);
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];
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];
4284 stack_frame_head
= fra
.me
.prev
;
4285 return fra
.me
.REG
[2];
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
;
4293 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4294 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
4310 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4311 if (UNTAG_Bool(REGB1
)) {
4312 REGB1
= TAG_Bool(false);
4315 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
4319 if (UNTAG_Bool(REGB0
)) {
4320 closctx
->REG
[2] = NIT_NULL
;
4321 closctx
->has_broke
= 1;
4324 /* ./syntax//syntax_base.nit:682 */
4325 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[0]);
4327 stack_frame_head
= fra
.me
.prev
;
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
;
4335 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4336 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
4353 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4354 if (UNTAG_Bool(REGB1
)) {
4355 REGB1
= TAG_Bool(false);
4358 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
4362 if (UNTAG_Bool(REGB0
)) {
4363 fra
.me
.REG
[3] = NIT_NULL
;
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);
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
;
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];
4383 stack_frame_head
= fra
.me
.prev
;
4384 return fra
.me
.REG
[3];
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
;
4392 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4393 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
)) {
4414 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4415 if (UNTAG_Bool(REGB1
)) {
4416 REGB1
= TAG_Bool(false);
4419 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
4423 if (UNTAG_Bool(REGB0
)) {
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);
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 */
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
)) {
4440 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
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 */
4448 /* ./../lib/standard//kernel.nit:352 */
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
)) {
4453 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
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 */
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
)) {
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 */
4483 /* ./../lib/standard//kernel.nit:235 */
4484 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
4485 /* ./../lib/standard//kernel.nit:354 */
4488 /* ./../lib/standard//kernel.nit:352 */
4495 stack_frame_head
= fra
.me
.prev
;
4498 val_t
syntax___syntax_base___AExpr___is_typed(val_t p0
){
4499 struct {struct stack_frame_t me
;} fra
;
4501 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4502 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
4512 val_t
syntax___syntax_base___AExpr___is_statement(val_t p0
){
4513 struct {struct stack_frame_t me
;} fra
;
4515 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4516 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
4526 val_t
syntax___syntax_base___AExpr___stype(val_t p0
){
4527 struct {struct stack_frame_t me
;} fra
;
4529 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4530 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
4540 val_t
syntax___syntax_base___AAbsAbsSendExpr___prop_signature(val_t p0
){
4541 struct {struct stack_frame_t me
;} fra
;
4543 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4544 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
4554 val_t
syntax___syntax_base___AAbsAbsSendExpr___raw_arguments(val_t p0
){
4555 struct {struct stack_frame_t me
;} fra
;
4557 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4558 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
4568 val_t
syntax___syntax_base___AAbsSendExpr___prop(val_t p0
){
4569 struct {struct stack_frame_t me
;} fra
;
4571 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4572 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
4582 val_t
syntax___syntax_base___AAbsSendExpr___return_type(val_t p0
){
4583 struct {struct stack_frame_t me
;} fra
;
4585 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4586 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
4596 val_t
syntax___syntax_base___ASuperExpr___init_in_superclass(val_t p0
){
4597 struct {struct stack_frame_t me
;} fra
;
4599 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4600 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
4610 val_t
syntax___syntax_base___ASendExpr___closure_defs(val_t p0
){
4611 struct {struct stack_frame_t me
;} fra
;
4613 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4614 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
4624 val_t
syntax___syntax_base___AReassignFormExpr___assign_method(val_t p0
){
4625 struct {struct stack_frame_t me
;} fra
;
4627 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4628 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
4638 val_t
syntax___syntax_base___ASendReassignExpr___read_prop(val_t p0
){
4639 struct {struct stack_frame_t me
;} fra
;
4641 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4642 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
4652 val_t
syntax___syntax_base___AAttrFormExpr___prop(val_t p0
){
4653 struct {struct stack_frame_t me
;} fra
;
4655 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4656 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
4666 val_t
syntax___syntax_base___AAttrFormExpr___attr_type(val_t p0
){
4667 struct {struct stack_frame_t me
;} fra
;
4669 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4670 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
4680 val_t
syntax___syntax_base___ASuperstringExpr___atype(val_t p0
){
4681 struct {struct stack_frame_t me
;} fra
;
4683 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4684 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
4694 val_t
syntax___syntax_base___AVardeclExpr___variable(val_t p0
){
4695 struct {struct stack_frame_t me
;} fra
;
4697 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4698 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
4708 val_t
syntax___syntax_base___AForExpr___variables(val_t p0
){
4709 struct {struct stack_frame_t me
;} fra
;
4711 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4712 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
4722 val_t
syntax___syntax_base___ASelfExpr___variable(val_t p0
){
4723 struct {struct stack_frame_t me
;} fra
;
4725 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4726 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
4736 val_t
syntax___syntax_base___AVarFormExpr___variable(val_t p0
){
4737 struct {struct stack_frame_t me
;} fra
;
4739 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4740 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
4750 val_t
syntax___syntax_base___AClosureCallExpr___variable(val_t p0
){
4751 struct {struct stack_frame_t me
;} fra
;
4753 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4754 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
4764 val_t
syntax___syntax_base___AClosureDef___closure(val_t p0
){
4765 struct {struct stack_frame_t me
;} fra
;
4767 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4768 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
4778 val_t
syntax___syntax_base___AClosureDef___variables(val_t p0
){
4779 struct {struct stack_frame_t me
;} fra
;
4781 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4782 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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];
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
;
4797 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4798 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;
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
;
4812 val_t
syntax___syntax_base___AMethid___name(val_t p0
){
4813 struct {struct stack_frame_t me
;} fra
;
4815 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4816 fra
.me
.file
= LOCATE_syntax___syntax_base
;
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
;