1 /* This C file is generated by NIT to compile module syntax___syntax_base. */
2 #include "syntax___syntax_base._sep.h"
3 static const char LOCATE_syntax___syntax_base___MMSrcModule___clear_ast
[] = "syntax_base::MMSrcModule::clear_ast";
4 void syntax___syntax_base___MMSrcModule___clear_ast(val_t p0
){
5 struct {struct stack_frame_t me
;} fra
;
7 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8 fra
.me
.file
= LOCATE_syntax___syntax_base
;
10 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcModule___clear_ast
;
13 fra
.me
.nitni_local_ref_head
= NULL
;
14 fra
.me
.REG
[0] = NIT_NULL
;
16 /* syntax/syntax_base.nit:32 */
17 ATTR_syntax___syntax_base___MMSrcModule____nodes(fra
.me
.REG
[0]) = NIT_NULL
;
18 stack_frame_head
= fra
.me
.prev
;
21 static const char LOCATE_syntax___syntax_base___MMSrcModule___node
[] = "syntax_base::MMSrcModule::node";
22 val_t
syntax___syntax_base___MMSrcModule___node(val_t p0
){
23 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
26 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
27 fra
.me
.file
= LOCATE_syntax___syntax_base
;
29 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcModule___node
;
32 fra
.me
.nitni_local_ref_head
= NULL
;
33 fra
.me
.REG
[0] = NIT_NULL
;
34 fra
.me
.REG
[1] = NIT_NULL
;
36 /* syntax/syntax_base.nit:34 */
37 fra
.me
.REG
[1] = fra
.me
.REG
[0];
38 /* syntax/syntax_base.nit:35 */
39 fra
.me
.REG
[1] = CALL_syntax___syntax_base___MMModule___nodes(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[1]);
40 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*/;
41 if (UNTAG_Bool(REGB0
)) {
43 nit_abort("Cast failed", NULL
, LOCATE_syntax___syntax_base
, 35);
47 stack_frame_head
= fra
.me
.prev
;
50 static const char LOCATE_syntax___syntax_base___MMSrcModule___src_local_classes
[] = "syntax_base::MMSrcModule::src_local_classes";
51 val_t
syntax___syntax_base___MMSrcModule___src_local_classes(val_t p0
){
52 struct {struct stack_frame_t me
;} fra
;
55 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
56 fra
.me
.file
= LOCATE_syntax___syntax_base
;
58 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcModule___src_local_classes
;
61 fra
.me
.nitni_local_ref_head
= NULL
;
62 fra
.me
.REG
[0] = NIT_NULL
;
64 /* syntax/syntax_base.nit:37 */
65 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___MMSrcModule____src_local_classes(fra
.me
.REG
[0])!=NIT_NULL
);
66 if (UNTAG_Bool(REGB0
)) {
68 nit_abort("Uninitialized attribute %s", "_src_local_classes", LOCATE_syntax___syntax_base
, 37);
70 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___MMSrcModule____src_local_classes(fra
.me
.REG
[0]);
71 stack_frame_head
= fra
.me
.prev
;
74 static const char LOCATE_syntax___syntax_base___MMSrcModule___init
[] = "syntax_base::MMSrcModule::init";
75 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
){
76 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___syntax_base___MMSrcModule
].i
;
77 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
79 if (init_table
[itpos0
]) return;
80 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
81 fra
.me
.file
= LOCATE_syntax___syntax_base
;
83 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcModule___init
;
86 fra
.me
.nitni_local_ref_head
= NULL
;
87 fra
.me
.REG
[0] = NIT_NULL
;
88 fra
.me
.REG
[1] = NIT_NULL
;
89 fra
.me
.REG
[2] = NIT_NULL
;
90 fra
.me
.REG
[3] = NIT_NULL
;
91 fra
.me
.REG
[4] = NIT_NULL
;
92 fra
.me
.REG
[5] = NIT_NULL
;
93 fra
.me
.REG
[6] = NIT_NULL
;
100 /* syntax/syntax_base.nit:40 */
101 fra
.me
.REG
[6] = fra
.me
.REG
[0];
102 /* syntax/syntax_base.nit:42 */
103 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
);
104 /* syntax/syntax_base.nit:43 */
105 CALL_syntax___syntax_base___MMModule___nodes__eq(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[6], fra
.me
.REG
[2]);
106 /* syntax/syntax_base.nit:44 */
107 fra
.me
.REG
[2] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
108 ATTR_syntax___syntax_base___MMSrcModule____src_local_classes(fra
.me
.REG
[6]) = fra
.me
.REG
[2];
109 stack_frame_head
= fra
.me
.prev
;
110 init_table
[itpos0
] = 1;
113 static const char LOCATE_syntax___syntax_base___MMSrcModule___nodes
[] = "syntax_base::MMSrcModule::(syntax_base::MMModule::nodes)";
114 val_t
syntax___syntax_base___MMSrcModule___nodes(val_t p0
, val_t p1
){
115 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
119 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
120 fra
.me
.file
= LOCATE_syntax___syntax_base
;
122 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcModule___nodes
;
123 fra
.me
.has_broke
= 0;
125 fra
.me
.nitni_local_ref_head
= NULL
;
126 fra
.me
.REG
[0] = NIT_NULL
;
127 fra
.me
.REG
[1] = NIT_NULL
;
128 fra
.me
.REG
[2] = NIT_NULL
;
131 /* syntax/syntax_base.nit:49 */
132 fra
.me
.REG
[2] = ATTR_syntax___syntax_base___MMSrcModule____nodes(fra
.me
.REG
[0]);
133 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
134 if (UNTAG_Bool(REGB0
)) {
136 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
137 if (UNTAG_Bool(REGB1
)) {
141 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
145 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
146 if (UNTAG_Bool(REGB0
)) {
147 fra
.me
.REG
[2] = ATTR_syntax___syntax_base___MMSrcModule____nodes(fra
.me
.REG
[0]);
148 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
149 if (UNTAG_Bool(REGB0
)) {
150 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 49);
152 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
157 if (UNTAG_Bool(REGB0
)) {
158 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___MMSrcModule____nodes(fra
.me
.REG
[0]);
159 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
160 if (UNTAG_Bool(REGB0
)) {
161 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 49);
163 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
166 fra
.me
.REG
[1] = NIT_NULL
;
170 stack_frame_head
= fra
.me
.prev
;
171 return fra
.me
.REG
[1];
173 static const char LOCATE_syntax___syntax_base___MMSrcModule___nodes__eq
[] = "syntax_base::MMSrcModule::(syntax_base::MMModule::nodes=)";
174 void syntax___syntax_base___MMSrcModule___nodes__eq(val_t p0
, val_t p1
, val_t p2
){
175 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
178 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
179 fra
.me
.file
= LOCATE_syntax___syntax_base
;
181 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcModule___nodes__eq
;
182 fra
.me
.has_broke
= 0;
184 fra
.me
.nitni_local_ref_head
= NULL
;
185 fra
.me
.REG
[0] = NIT_NULL
;
186 fra
.me
.REG
[1] = NIT_NULL
;
187 fra
.me
.REG
[2] = NIT_NULL
;
188 fra
.me
.REG
[3] = NIT_NULL
;
192 /* syntax/syntax_base.nit:53 */
193 fra
.me
.REG
[3] = ATTR_syntax___syntax_base___MMSrcModule____nodes(fra
.me
.REG
[0]);
194 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
195 if (UNTAG_Bool(REGB0
)) {
196 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 53);
198 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
199 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
200 if (UNTAG_Bool(REGB0
)) {
202 nit_abort("Assert failed", NULL
, LOCATE_syntax___syntax_base
, 53);
204 /* syntax/syntax_base.nit:54 */
205 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___MMSrcModule____nodes(fra
.me
.REG
[0]);
206 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
207 if (UNTAG_Bool(REGB0
)) {
208 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 54);
210 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
211 stack_frame_head
= fra
.me
.prev
;
214 static const char LOCATE_syntax___syntax_base___MMModule___nodes
[] = "syntax_base::MMModule::nodes";
215 val_t
syntax___syntax_base___MMModule___nodes(val_t p0
, val_t p1
){
216 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
218 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
219 fra
.me
.file
= LOCATE_syntax___syntax_base
;
221 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMModule___nodes
;
222 fra
.me
.has_broke
= 0;
224 fra
.me
.nitni_local_ref_head
= NULL
;
225 fra
.me
.REG
[0] = NIT_NULL
;
226 fra
.me
.REG
[1] = NIT_NULL
;
229 /* syntax/syntax_base.nit:60 */
230 fra
.me
.REG
[1] = NIT_NULL
;
233 stack_frame_head
= fra
.me
.prev
;
234 return fra
.me
.REG
[1];
236 static const char LOCATE_syntax___syntax_base___MMModule___nodes__eq
[] = "syntax_base::MMModule::nodes=";
237 void syntax___syntax_base___MMModule___nodes__eq(val_t p0
, val_t p1
, val_t p2
){
238 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
240 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
241 fra
.me
.file
= LOCATE_syntax___syntax_base
;
243 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMModule___nodes__eq
;
244 fra
.me
.has_broke
= 0;
246 fra
.me
.nitni_local_ref_head
= NULL
;
247 fra
.me
.REG
[0] = NIT_NULL
;
248 fra
.me
.REG
[1] = NIT_NULL
;
249 fra
.me
.REG
[2] = NIT_NULL
;
253 /* syntax/syntax_base.nit:62 */
254 nit_abort("Aborted", NULL
, LOCATE_syntax___syntax_base
, 62);
255 stack_frame_head
= fra
.me
.prev
;
258 static const char LOCATE_syntax___syntax_base___MMGlobalClass___check_visibility
[] = "syntax_base::MMGlobalClass::check_visibility";
259 val_t
syntax___syntax_base___MMGlobalClass___check_visibility(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
260 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
266 static val_t once_value_2
; /* Once value */
267 static val_t once_value_3
; /* Once value */
268 static val_t once_value_4
; /* Once value */
269 static val_t once_value_5
; /* Once value */
270 static val_t once_value_6
; /* Once value */
271 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
272 fra
.me
.file
= LOCATE_syntax___syntax_base
;
274 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMGlobalClass___check_visibility
;
275 fra
.me
.has_broke
= 0;
277 fra
.me
.nitni_local_ref_head
= NULL
;
278 fra
.me
.REG
[0] = NIT_NULL
;
279 fra
.me
.REG
[1] = NIT_NULL
;
280 fra
.me
.REG
[2] = NIT_NULL
;
281 fra
.me
.REG
[3] = NIT_NULL
;
282 fra
.me
.REG
[4] = NIT_NULL
;
283 fra
.me
.REG
[5] = NIT_NULL
;
288 /* syntax/syntax_base.nit:68 */
289 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
290 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
291 /* syntax/syntax_base.nit:69 */
292 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_syntax___syntax_base___MMSrcModule
, ID_syntax___syntax_base___MMSrcModule
)) /*cast MMSrcModule*/;
293 if (UNTAG_Bool(REGB0
)) {
295 nit_abort("Assert failed", NULL
, LOCATE_syntax___syntax_base
, 69);
297 /* syntax/syntax_base.nit:70 */
298 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___visibility_for(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
299 /* syntax/syntax_base.nit:71 */
301 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
302 if (UNTAG_Bool(REGB2
)) {
304 /* ../lib/standard/kernel.nit:230 */
305 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
306 /* syntax/syntax_base.nit:71 */
309 if (UNTAG_Bool(REGB2
)) {
310 /* syntax/syntax_base.nit:72 */
314 /* syntax/syntax_base.nit:73 */
316 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
317 if (UNTAG_Bool(REGB3
)) {
319 /* ../lib/standard/kernel.nit:230 */
320 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
321 /* syntax/syntax_base.nit:73 */
324 if (UNTAG_Bool(REGB3
)) {
325 /* syntax/syntax_base.nit:74 */
327 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
329 fra
.me
.REG
[5] = BOX_NativeString("Visibility error: Class ");
331 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB3
);
332 once_value_2
= fra
.me
.REG
[5];
333 register_static_object(&once_value_2
);
334 } else fra
.me
.REG
[5] = once_value_2
;
335 fra
.me
.REG
[5] = fra
.me
.REG
[5];
336 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
337 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
338 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
340 fra
.me
.REG
[5] = BOX_NativeString(" comes from the hidden module ");
342 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB3
);
343 once_value_3
= fra
.me
.REG
[5];
344 register_static_object(&once_value_3
);
345 } else fra
.me
.REG
[5] = once_value_3
;
346 fra
.me
.REG
[5] = fra
.me
.REG
[5];
347 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
348 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
349 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
351 fra
.me
.REG
[4] = BOX_NativeString(".");
353 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
354 once_value_4
= fra
.me
.REG
[4];
355 register_static_object(&once_value_4
);
356 } else fra
.me
.REG
[4] = once_value_4
;
357 fra
.me
.REG
[4] = fra
.me
.REG
[4];
358 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
359 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
360 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[3]);
361 /* syntax/syntax_base.nit:75 */
366 /* syntax/syntax_base.nit:76 */
367 REGB3
= CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
369 REGB0
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
370 if (UNTAG_Bool(REGB0
)) {
372 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
374 /* ../lib/standard/kernel.nit:236 */
375 REGB1
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB1
));
376 /* syntax/syntax_base.nit:76 */
377 if (UNTAG_Bool(REGB1
)) {
378 /* syntax/syntax_base.nit:77 */
380 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
382 fra
.me
.REG
[4] = BOX_NativeString("Visibility error: Class ");
384 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
385 once_value_5
= fra
.me
.REG
[4];
386 register_static_object(&once_value_5
);
387 } else fra
.me
.REG
[4] = once_value_5
;
388 fra
.me
.REG
[4] = fra
.me
.REG
[4];
389 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
390 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
391 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
393 fra
.me
.REG
[0] = BOX_NativeString(" is private.");
395 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB1
);
396 once_value_6
= fra
.me
.REG
[0];
397 register_static_object(&once_value_6
);
398 } else fra
.me
.REG
[0] = once_value_6
;
399 fra
.me
.REG
[0] = fra
.me
.REG
[0];
400 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
401 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
402 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[3]);
403 /* syntax/syntax_base.nit:78 */
410 /* syntax/syntax_base.nit:80 */
415 stack_frame_head
= fra
.me
.prev
;
418 static const char LOCATE_syntax___syntax_base___MMSrcLocalClass___node
[] = "syntax_base::MMSrcLocalClass::node";
419 val_t
syntax___syntax_base___MMSrcLocalClass___node(val_t p0
){
420 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
423 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
424 fra
.me
.file
= LOCATE_syntax___syntax_base
;
426 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcLocalClass___node
;
427 fra
.me
.has_broke
= 0;
429 fra
.me
.nitni_local_ref_head
= NULL
;
430 fra
.me
.REG
[0] = NIT_NULL
;
431 fra
.me
.REG
[1] = NIT_NULL
;
432 fra
.me
.REG
[2] = NIT_NULL
;
434 /* syntax/syntax_base.nit:87 */
435 fra
.me
.REG
[1] = fra
.me
.REG
[0];
436 /* syntax/syntax_base.nit:88 */
437 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
438 fra
.me
.REG
[1] = CALL_syntax___syntax_base___MMModule___nodes(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
439 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*/;
440 if (UNTAG_Bool(REGB0
)) {
442 nit_abort("Cast failed", NULL
, LOCATE_syntax___syntax_base
, 88);
446 stack_frame_head
= fra
.me
.prev
;
447 return fra
.me
.REG
[1];
449 static const char LOCATE_syntax___syntax_base___MMSrcLocalClass___formal_dict
[] = "syntax_base::MMSrcLocalClass::formal_dict";
450 val_t
syntax___syntax_base___MMSrcLocalClass___formal_dict(val_t p0
){
451 struct {struct stack_frame_t me
;} fra
;
454 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
455 fra
.me
.file
= LOCATE_syntax___syntax_base
;
457 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcLocalClass___formal_dict
;
458 fra
.me
.has_broke
= 0;
460 fra
.me
.nitni_local_ref_head
= NULL
;
461 fra
.me
.REG
[0] = NIT_NULL
;
463 /* syntax/syntax_base.nit:90 */
464 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___MMSrcLocalClass____formal_dict(fra
.me
.REG
[0])!=NIT_NULL
);
465 if (UNTAG_Bool(REGB0
)) {
467 nit_abort("Uninitialized attribute %s", "_formal_dict", LOCATE_syntax___syntax_base
, 90);
469 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___MMSrcLocalClass____formal_dict(fra
.me
.REG
[0]);
470 stack_frame_head
= fra
.me
.prev
;
471 return fra
.me
.REG
[0];
473 static const char LOCATE_syntax___syntax_base___MMSrcLocalClass___src_local_properties
[] = "syntax_base::MMSrcLocalClass::src_local_properties";
474 val_t
syntax___syntax_base___MMSrcLocalClass___src_local_properties(val_t p0
){
475 struct {struct stack_frame_t me
;} fra
;
478 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
479 fra
.me
.file
= LOCATE_syntax___syntax_base
;
481 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcLocalClass___src_local_properties
;
482 fra
.me
.has_broke
= 0;
484 fra
.me
.nitni_local_ref_head
= NULL
;
485 fra
.me
.REG
[0] = NIT_NULL
;
487 /* syntax/syntax_base.nit:93 */
488 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___MMSrcLocalClass____src_local_properties(fra
.me
.REG
[0])!=NIT_NULL
);
489 if (UNTAG_Bool(REGB0
)) {
491 nit_abort("Uninitialized attribute %s", "_src_local_properties", LOCATE_syntax___syntax_base
, 93);
493 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___MMSrcLocalClass____src_local_properties(fra
.me
.REG
[0]);
494 stack_frame_head
= fra
.me
.prev
;
495 return fra
.me
.REG
[0];
497 static const char LOCATE_syntax___syntax_base___MMSrcLocalClass___init
[] = "syntax_base::MMSrcLocalClass::init";
498 void syntax___syntax_base___MMSrcLocalClass___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
, int* init_table
){
499 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___syntax_base___MMSrcLocalClass
].i
;
500 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
503 if (init_table
[itpos1
]) return;
504 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
505 fra
.me
.file
= LOCATE_syntax___syntax_base
;
507 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcLocalClass___init
;
508 fra
.me
.has_broke
= 0;
510 fra
.me
.nitni_local_ref_head
= NULL
;
511 fra
.me
.REG
[0] = NIT_NULL
;
512 fra
.me
.REG
[1] = NIT_NULL
;
513 fra
.me
.REG
[2] = NIT_NULL
;
514 fra
.me
.REG
[3] = NIT_NULL
;
515 fra
.me
.REG
[4] = NIT_NULL
;
521 /* syntax/syntax_base.nit:96 */
522 fra
.me
.REG
[4] = fra
.me
.REG
[0];
523 /* syntax/syntax_base.nit:98 */
524 CALL_metamodel___abstractmetamodel___MMLocalClass___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
, init_table
);
525 /* syntax/syntax_base.nit:99 */
526 CALL_syntax___syntax_base___MMModule___nodes__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[3]);
527 /* syntax/syntax_base.nit:100 */
528 fra
.me
.REG
[3] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
529 ATTR_syntax___syntax_base___MMSrcLocalClass____src_local_properties(fra
.me
.REG
[4]) = fra
.me
.REG
[3];
530 stack_frame_head
= fra
.me
.prev
;
531 init_table
[itpos1
] = 1;
534 static const char LOCATE_syntax___syntax_base___MMGlobalProperty___check_visibility
[] = "syntax_base::MMGlobalProperty::check_visibility";
535 val_t
syntax___syntax_base___MMGlobalProperty___check_visibility(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
536 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
543 static val_t once_value_2
; /* Once value */
544 static val_t once_value_3
; /* Once value */
545 static val_t once_value_4
; /* Once value */
546 static val_t once_value_5
; /* Once value */
547 static val_t once_value_6
; /* Once value */
548 static val_t once_value_7
; /* Once value */
549 static val_t once_value_8
; /* Once value */
550 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
551 fra
.me
.file
= LOCATE_syntax___syntax_base
;
553 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMGlobalProperty___check_visibility
;
554 fra
.me
.has_broke
= 0;
556 fra
.me
.nitni_local_ref_head
= NULL
;
557 fra
.me
.REG
[0] = NIT_NULL
;
558 fra
.me
.REG
[1] = NIT_NULL
;
559 fra
.me
.REG
[2] = NIT_NULL
;
560 fra
.me
.REG
[3] = NIT_NULL
;
561 fra
.me
.REG
[4] = NIT_NULL
;
562 fra
.me
.REG
[5] = NIT_NULL
;
568 /* syntax/syntax_base.nit:107 */
569 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
570 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
571 /* syntax/syntax_base.nit:108 */
572 REGB1
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_syntax___syntax_base___MMSrcModule
, ID_syntax___syntax_base___MMSrcModule
)) /*cast MMSrcModule*/;
573 if (UNTAG_Bool(REGB1
)) {
575 nit_abort("Assert failed", NULL
, LOCATE_syntax___syntax_base
, 108);
577 /* syntax/syntax_base.nit:109 */
578 REGB1
= CALL_metamodel___abstractmetamodel___MMModule___visibility_for(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
579 /* syntax/syntax_base.nit:110 */
581 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
582 if (UNTAG_Bool(REGB3
)) {
584 /* ../lib/standard/kernel.nit:230 */
585 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
586 /* syntax/syntax_base.nit:110 */
589 if (UNTAG_Bool(REGB3
)) {
590 /* syntax/syntax_base.nit:111 */
594 /* syntax/syntax_base.nit:112 */
596 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
597 if (UNTAG_Bool(REGB4
)) {
599 /* ../lib/standard/kernel.nit:230 */
600 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
601 /* syntax/syntax_base.nit:112 */
604 if (UNTAG_Bool(REGB4
)) {
605 /* syntax/syntax_base.nit:114 */
607 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
609 fra
.me
.REG
[5] = BOX_NativeString("Visibility error: Property ");
611 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB4
);
612 once_value_2
= fra
.me
.REG
[5];
613 register_static_object(&once_value_2
);
614 } else fra
.me
.REG
[5] = once_value_2
;
615 fra
.me
.REG
[5] = fra
.me
.REG
[5];
616 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
617 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
618 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
620 fra
.me
.REG
[5] = BOX_NativeString(" comes from the hidden module ");
622 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB4
);
623 once_value_3
= fra
.me
.REG
[5];
624 register_static_object(&once_value_3
);
625 } else fra
.me
.REG
[5] = once_value_3
;
626 fra
.me
.REG
[5] = fra
.me
.REG
[5];
627 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
628 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
629 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
631 fra
.me
.REG
[4] = BOX_NativeString(".");
633 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB4
);
634 once_value_4
= fra
.me
.REG
[4];
635 register_static_object(&once_value_4
);
636 } else fra
.me
.REG
[4] = once_value_4
;
637 fra
.me
.REG
[4] = fra
.me
.REG
[4];
638 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
639 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
640 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[3]);
641 /* syntax/syntax_base.nit:115 */
646 /* syntax/syntax_base.nit:116 */
647 REGB4
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
649 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
650 if (UNTAG_Bool(REGB1
)) {
652 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
654 /* ../lib/standard/kernel.nit:236 */
655 REGB2
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB2
));
656 /* syntax/syntax_base.nit:116 */
657 if (UNTAG_Bool(REGB2
)) {
658 /* syntax/syntax_base.nit:117 */
660 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
662 fra
.me
.REG
[4] = BOX_NativeString("Visibility error: Property ");
664 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
665 once_value_5
= fra
.me
.REG
[4];
666 register_static_object(&once_value_5
);
667 } else fra
.me
.REG
[4] = once_value_5
;
668 fra
.me
.REG
[4] = fra
.me
.REG
[4];
669 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
670 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
671 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
673 fra
.me
.REG
[4] = BOX_NativeString(" is private.");
675 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
676 once_value_6
= fra
.me
.REG
[4];
677 register_static_object(&once_value_6
);
678 } else fra
.me
.REG
[4] = once_value_6
;
679 fra
.me
.REG
[4] = fra
.me
.REG
[4];
680 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
681 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
682 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[3]);
683 /* syntax/syntax_base.nit:118 */
688 /* syntax/syntax_base.nit:119 */
689 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
691 REGB1
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
692 if (UNTAG_Bool(REGB1
)) {
694 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
696 /* ../lib/standard/kernel.nit:236 */
697 REGB4
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB4
));
698 /* syntax/syntax_base.nit:119 */
699 if (UNTAG_Bool(REGB4
)) {
700 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
705 if (UNTAG_Bool(REGB0
)) {
706 /* syntax/syntax_base.nit:120 */
708 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
710 fra
.me
.REG
[4] = BOX_NativeString("Visibility error: Property ");
712 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
713 once_value_7
= fra
.me
.REG
[4];
714 register_static_object(&once_value_7
);
715 } else fra
.me
.REG
[4] = once_value_7
;
716 fra
.me
.REG
[4] = fra
.me
.REG
[4];
717 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
718 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
719 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
721 fra
.me
.REG
[0] = BOX_NativeString(" is protected and can only acceded by self.");
723 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
724 once_value_8
= fra
.me
.REG
[0];
725 register_static_object(&once_value_8
);
726 } else fra
.me
.REG
[0] = once_value_8
;
727 fra
.me
.REG
[0] = fra
.me
.REG
[0];
728 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
729 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
730 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[3]);
731 /* syntax/syntax_base.nit:121 */
739 /* syntax/syntax_base.nit:123 */
744 stack_frame_head
= fra
.me
.prev
;
747 static const char LOCATE_syntax___syntax_base___MMLocalProperty___node
[] = "syntax_base::MMLocalProperty::node";
748 val_t
syntax___syntax_base___MMLocalProperty___node(val_t p0
){
749 struct {struct stack_frame_t me
;} fra
;
751 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
752 fra
.me
.file
= LOCATE_syntax___syntax_base
;
754 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMLocalProperty___node
;
755 fra
.me
.has_broke
= 0;
757 fra
.me
.nitni_local_ref_head
= NULL
;
758 fra
.me
.REG
[0] = NIT_NULL
;
760 /* syntax/syntax_base.nit:129 */
761 fra
.me
.REG
[0] = NIT_NULL
;
764 stack_frame_head
= fra
.me
.prev
;
765 return fra
.me
.REG
[0];
767 static const char LOCATE_syntax___syntax_base___MMLocalProperty___is_init
[] = "syntax_base::MMLocalProperty::is_init";
768 val_t
syntax___syntax_base___MMLocalProperty___is_init(val_t p0
){
769 struct {struct stack_frame_t me
;} fra
;
772 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
773 fra
.me
.file
= LOCATE_syntax___syntax_base
;
775 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMLocalProperty___is_init
;
776 fra
.me
.has_broke
= 0;
778 fra
.me
.nitni_local_ref_head
= NULL
;
779 fra
.me
.REG
[0] = NIT_NULL
;
781 /* syntax/syntax_base.nit:132 */
785 stack_frame_head
= fra
.me
.prev
;
788 static const char LOCATE_syntax___syntax_base___MMSrcAttribute___node
[] = "syntax_base::MMSrcAttribute::(syntax_base::MMLocalProperty::node)";
789 val_t
syntax___syntax_base___MMSrcAttribute___node(val_t p0
){
790 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
793 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
794 fra
.me
.file
= LOCATE_syntax___syntax_base
;
796 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcAttribute___node
;
797 fra
.me
.has_broke
= 0;
799 fra
.me
.nitni_local_ref_head
= NULL
;
800 fra
.me
.REG
[0] = NIT_NULL
;
801 fra
.me
.REG
[1] = NIT_NULL
;
802 fra
.me
.REG
[2] = NIT_NULL
;
804 /* syntax/syntax_base.nit:138 */
805 fra
.me
.REG
[1] = fra
.me
.REG
[0];
806 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
807 fra
.me
.REG
[1] = CALL_syntax___syntax_base___MMModule___nodes(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
808 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*/;
809 if (UNTAG_Bool(REGB0
)) {
811 nit_abort("Cast failed", NULL
, LOCATE_syntax___syntax_base
, 138);
815 stack_frame_head
= fra
.me
.prev
;
816 return fra
.me
.REG
[1];
818 static const char LOCATE_syntax___syntax_base___MMSrcAttribute___init
[] = "syntax_base::MMSrcAttribute::init";
819 void syntax___syntax_base___MMSrcAttribute___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
820 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___syntax_base___MMSrcAttribute
].i
;
821 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
823 if (init_table
[itpos2
]) return;
824 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
825 fra
.me
.file
= LOCATE_syntax___syntax_base
;
827 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcAttribute___init
;
828 fra
.me
.has_broke
= 0;
830 fra
.me
.nitni_local_ref_head
= NULL
;
831 fra
.me
.REG
[0] = NIT_NULL
;
832 fra
.me
.REG
[1] = NIT_NULL
;
833 fra
.me
.REG
[2] = NIT_NULL
;
834 fra
.me
.REG
[3] = NIT_NULL
;
835 fra
.me
.REG
[4] = NIT_NULL
;
840 /* syntax/syntax_base.nit:139 */
841 fra
.me
.REG
[4] = fra
.me
.REG
[0];
842 /* syntax/syntax_base.nit:141 */
843 CALL_metamodel___abstractmetamodel___MMLocalProperty___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
844 /* syntax/syntax_base.nit:142 */
845 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
846 CALL_syntax___syntax_base___MMModule___nodes__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4], fra
.me
.REG
[3]);
847 stack_frame_head
= fra
.me
.prev
;
848 init_table
[itpos2
] = 1;
851 static const char LOCATE_syntax___syntax_base___MMSrcMethod___is_intern
[] = "syntax_base::MMSrcMethod::(abstractmetamodel::MMMethod::is_intern)";
852 val_t
syntax___syntax_base___MMSrcMethod___is_intern(val_t p0
){
853 struct {struct stack_frame_t me
;} fra
;
856 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
857 fra
.me
.file
= LOCATE_syntax___syntax_base
;
859 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcMethod___is_intern
;
860 fra
.me
.has_broke
= 0;
862 fra
.me
.nitni_local_ref_head
= NULL
;
863 fra
.me
.REG
[0] = NIT_NULL
;
865 /* syntax/syntax_base.nit:149 */
869 stack_frame_head
= fra
.me
.prev
;
872 static const char LOCATE_syntax___syntax_base___MMSrcMethod___is_extern
[] = "syntax_base::MMSrcMethod::(abstractmetamodel::MMMethod::is_extern)";
873 val_t
syntax___syntax_base___MMSrcMethod___is_extern(val_t p0
){
874 struct {struct stack_frame_t me
;} fra
;
877 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
878 fra
.me
.file
= LOCATE_syntax___syntax_base
;
880 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcMethod___is_extern
;
881 fra
.me
.has_broke
= 0;
883 fra
.me
.nitni_local_ref_head
= NULL
;
884 fra
.me
.REG
[0] = NIT_NULL
;
886 /* syntax/syntax_base.nit:150 */
890 stack_frame_head
= fra
.me
.prev
;
893 static const char LOCATE_syntax___syntax_base___MMSrcMethod___is_abstract
[] = "syntax_base::MMSrcMethod::(abstractmetamodel::MMMethod::is_abstract)";
894 val_t
syntax___syntax_base___MMSrcMethod___is_abstract(val_t p0
){
895 struct {struct stack_frame_t me
;} fra
;
898 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
899 fra
.me
.file
= LOCATE_syntax___syntax_base
;
901 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcMethod___is_abstract
;
902 fra
.me
.has_broke
= 0;
904 fra
.me
.nitni_local_ref_head
= NULL
;
905 fra
.me
.REG
[0] = NIT_NULL
;
907 /* syntax/syntax_base.nit:151 */
911 stack_frame_head
= fra
.me
.prev
;
914 static const char LOCATE_syntax___syntax_base___MMSrcMethod___extern_name
[] = "syntax_base::MMSrcMethod::(abstractmetamodel::MMMethod::extern_name)";
915 val_t
syntax___syntax_base___MMSrcMethod___extern_name(val_t p0
){
916 struct {struct stack_frame_t me
;} fra
;
918 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
919 fra
.me
.file
= LOCATE_syntax___syntax_base
;
921 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcMethod___extern_name
;
922 fra
.me
.has_broke
= 0;
924 fra
.me
.nitni_local_ref_head
= NULL
;
925 fra
.me
.REG
[0] = NIT_NULL
;
927 /* syntax/syntax_base.nit:152 */
928 fra
.me
.REG
[0] = NIT_NULL
;
931 stack_frame_head
= fra
.me
.prev
;
932 return fra
.me
.REG
[0];
934 static const char LOCATE_syntax___syntax_base___MMAttrImplementationMethod___node
[] = "syntax_base::MMAttrImplementationMethod::(syntax_base::MMLocalProperty::node)";
935 val_t
syntax___syntax_base___MMAttrImplementationMethod___node(val_t p0
){
936 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
939 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
940 fra
.me
.file
= LOCATE_syntax___syntax_base
;
942 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMAttrImplementationMethod___node
;
943 fra
.me
.has_broke
= 0;
945 fra
.me
.nitni_local_ref_head
= NULL
;
946 fra
.me
.REG
[0] = NIT_NULL
;
947 fra
.me
.REG
[1] = NIT_NULL
;
948 fra
.me
.REG
[2] = NIT_NULL
;
950 /* syntax/syntax_base.nit:158 */
951 fra
.me
.REG
[1] = fra
.me
.REG
[0];
952 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
953 fra
.me
.REG
[1] = CALL_syntax___syntax_base___MMModule___nodes(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
954 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*/;
955 if (UNTAG_Bool(REGB0
)) {
957 nit_abort("Cast failed", NULL
, LOCATE_syntax___syntax_base
, 158);
961 stack_frame_head
= fra
.me
.prev
;
962 return fra
.me
.REG
[1];
964 static const char LOCATE_syntax___syntax_base___MMAttrImplementationMethod___init
[] = "syntax_base::MMAttrImplementationMethod::init";
965 void syntax___syntax_base___MMAttrImplementationMethod___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
966 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___syntax_base___MMAttrImplementationMethod
].i
;
967 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
969 if (init_table
[itpos3
]) return;
970 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
971 fra
.me
.file
= LOCATE_syntax___syntax_base
;
973 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMAttrImplementationMethod___init
;
974 fra
.me
.has_broke
= 0;
976 fra
.me
.nitni_local_ref_head
= NULL
;
977 fra
.me
.REG
[0] = NIT_NULL
;
978 fra
.me
.REG
[1] = NIT_NULL
;
979 fra
.me
.REG
[2] = NIT_NULL
;
980 fra
.me
.REG
[3] = NIT_NULL
;
981 fra
.me
.REG
[4] = NIT_NULL
;
986 /* syntax/syntax_base.nit:159 */
987 fra
.me
.REG
[4] = fra
.me
.REG
[0];
988 /* syntax/syntax_base.nit:161 */
989 CALL_metamodel___abstractmetamodel___MMLocalProperty___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
990 /* syntax/syntax_base.nit:162 */
991 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
992 CALL_syntax___syntax_base___MMModule___nodes__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4], fra
.me
.REG
[3]);
993 stack_frame_head
= fra
.me
.prev
;
994 init_table
[itpos3
] = 1;
997 static const char LOCATE_syntax___syntax_base___MMReadImplementationMethod___init
[] = "syntax_base::MMReadImplementationMethod::init";
998 void syntax___syntax_base___MMReadImplementationMethod___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
999 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___syntax_base___MMReadImplementationMethod
].i
;
1000 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1002 if (init_table
[itpos4
]) return;
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___MMReadImplementationMethod___init
;
1007 fra
.me
.has_broke
= 0;
1008 fra
.me
.REG_size
= 4;
1009 fra
.me
.nitni_local_ref_head
= NULL
;
1010 fra
.me
.REG
[0] = NIT_NULL
;
1011 fra
.me
.REG
[1] = NIT_NULL
;
1012 fra
.me
.REG
[2] = NIT_NULL
;
1013 fra
.me
.REG
[3] = NIT_NULL
;
1018 /* syntax/syntax_base.nit:171 */
1019 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
);
1020 stack_frame_head
= fra
.me
.prev
;
1021 init_table
[itpos4
] = 1;
1024 static const char LOCATE_syntax___syntax_base___MMWriteImplementationMethod___init
[] = "syntax_base::MMWriteImplementationMethod::init";
1025 void syntax___syntax_base___MMWriteImplementationMethod___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1026 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___syntax_base___MMWriteImplementationMethod
].i
;
1027 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1029 if (init_table
[itpos5
]) return;
1030 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1031 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1033 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMWriteImplementationMethod___init
;
1034 fra
.me
.has_broke
= 0;
1035 fra
.me
.REG_size
= 4;
1036 fra
.me
.nitni_local_ref_head
= NULL
;
1037 fra
.me
.REG
[0] = NIT_NULL
;
1038 fra
.me
.REG
[1] = NIT_NULL
;
1039 fra
.me
.REG
[2] = NIT_NULL
;
1040 fra
.me
.REG
[3] = NIT_NULL
;
1045 /* syntax/syntax_base.nit:180 */
1046 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
);
1047 stack_frame_head
= fra
.me
.prev
;
1048 init_table
[itpos5
] = 1;
1051 static const char LOCATE_syntax___syntax_base___MMMethSrcMethod___is_init
[] = "syntax_base::MMMethSrcMethod::(syntax_base::MMLocalProperty::is_init)";
1052 val_t
syntax___syntax_base___MMMethSrcMethod___is_init(val_t p0
){
1053 struct {struct stack_frame_t me
;} fra
;
1056 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1057 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1059 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMMethSrcMethod___is_init
;
1060 fra
.me
.has_broke
= 0;
1061 fra
.me
.REG_size
= 1;
1062 fra
.me
.nitni_local_ref_head
= NULL
;
1063 fra
.me
.REG
[0] = NIT_NULL
;
1065 /* syntax/syntax_base.nit:187 */
1066 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___MMMethSrcMethod____is_init(fra
.me
.REG
[0])!=NIT_NULL
);
1067 if (UNTAG_Bool(REGB0
)) {
1069 nit_abort("Uninitialized attribute %s", "_is_init", LOCATE_syntax___syntax_base
, 187);
1071 REGB0
= ATTR_syntax___syntax_base___MMMethSrcMethod____is_init(fra
.me
.REG
[0]);
1072 stack_frame_head
= fra
.me
.prev
;
1075 static const char LOCATE_syntax___syntax_base___MMMethSrcMethod___is_intern
[] = "syntax_base::MMMethSrcMethod::(abstractmetamodel::MMMethod::is_intern)";
1076 val_t
syntax___syntax_base___MMMethSrcMethod___is_intern(val_t p0
){
1077 struct {struct stack_frame_t me
;} fra
;
1080 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1081 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1083 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMMethSrcMethod___is_intern
;
1084 fra
.me
.has_broke
= 0;
1085 fra
.me
.REG_size
= 1;
1086 fra
.me
.nitni_local_ref_head
= NULL
;
1087 fra
.me
.REG
[0] = NIT_NULL
;
1089 /* syntax/syntax_base.nit:188 */
1090 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___MMMethSrcMethod____is_intern(fra
.me
.REG
[0])!=NIT_NULL
);
1091 if (UNTAG_Bool(REGB0
)) {
1093 nit_abort("Uninitialized attribute %s", "_is_intern", LOCATE_syntax___syntax_base
, 188);
1095 REGB0
= ATTR_syntax___syntax_base___MMMethSrcMethod____is_intern(fra
.me
.REG
[0]);
1096 stack_frame_head
= fra
.me
.prev
;
1099 static const char LOCATE_syntax___syntax_base___MMMethSrcMethod___is_extern
[] = "syntax_base::MMMethSrcMethod::(abstractmetamodel::MMMethod::is_extern)";
1100 val_t
syntax___syntax_base___MMMethSrcMethod___is_extern(val_t p0
){
1101 struct {struct stack_frame_t me
;} fra
;
1104 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1105 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1107 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMMethSrcMethod___is_extern
;
1108 fra
.me
.has_broke
= 0;
1109 fra
.me
.REG_size
= 1;
1110 fra
.me
.nitni_local_ref_head
= NULL
;
1111 fra
.me
.REG
[0] = NIT_NULL
;
1113 /* syntax/syntax_base.nit:189 */
1114 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___MMMethSrcMethod____is_extern(fra
.me
.REG
[0])!=NIT_NULL
);
1115 if (UNTAG_Bool(REGB0
)) {
1117 nit_abort("Uninitialized attribute %s", "_is_extern", LOCATE_syntax___syntax_base
, 189);
1119 REGB0
= ATTR_syntax___syntax_base___MMMethSrcMethod____is_extern(fra
.me
.REG
[0]);
1120 stack_frame_head
= fra
.me
.prev
;
1123 static const char LOCATE_syntax___syntax_base___MMMethSrcMethod___is_abstract
[] = "syntax_base::MMMethSrcMethod::(abstractmetamodel::MMMethod::is_abstract)";
1124 val_t
syntax___syntax_base___MMMethSrcMethod___is_abstract(val_t p0
){
1125 struct {struct stack_frame_t me
;} fra
;
1128 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1129 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1131 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMMethSrcMethod___is_abstract
;
1132 fra
.me
.has_broke
= 0;
1133 fra
.me
.REG_size
= 1;
1134 fra
.me
.nitni_local_ref_head
= NULL
;
1135 fra
.me
.REG
[0] = NIT_NULL
;
1137 /* syntax/syntax_base.nit:190 */
1138 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___MMMethSrcMethod____is_abstract(fra
.me
.REG
[0])!=NIT_NULL
);
1139 if (UNTAG_Bool(REGB0
)) {
1141 nit_abort("Uninitialized attribute %s", "_is_abstract", LOCATE_syntax___syntax_base
, 190);
1143 REGB0
= ATTR_syntax___syntax_base___MMMethSrcMethod____is_abstract(fra
.me
.REG
[0]);
1144 stack_frame_head
= fra
.me
.prev
;
1147 static const char LOCATE_syntax___syntax_base___MMMethSrcMethod___extern_name
[] = "syntax_base::MMMethSrcMethod::(abstractmetamodel::MMMethod::extern_name)";
1148 val_t
syntax___syntax_base___MMMethSrcMethod___extern_name(val_t p0
){
1149 struct {struct stack_frame_t me
;} fra
;
1151 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1152 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1154 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMMethSrcMethod___extern_name
;
1155 fra
.me
.has_broke
= 0;
1156 fra
.me
.REG_size
= 1;
1157 fra
.me
.nitni_local_ref_head
= NULL
;
1158 fra
.me
.REG
[0] = NIT_NULL
;
1160 /* syntax/syntax_base.nit:191 */
1161 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___MMMethSrcMethod____extern_name(fra
.me
.REG
[0]);
1162 stack_frame_head
= fra
.me
.prev
;
1163 return fra
.me
.REG
[0];
1165 static const char LOCATE_syntax___syntax_base___MMMethSrcMethod___extern_name__eq
[] = "syntax_base::MMMethSrcMethod::extern_name=";
1166 void syntax___syntax_base___MMMethSrcMethod___extern_name__eq(val_t p0
, val_t p1
){
1167 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} 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___extern_name__eq
;
1173 fra
.me
.has_broke
= 0;
1174 fra
.me
.REG_size
= 2;
1175 fra
.me
.nitni_local_ref_head
= NULL
;
1176 fra
.me
.REG
[0] = NIT_NULL
;
1177 fra
.me
.REG
[1] = NIT_NULL
;
1180 /* syntax/syntax_base.nit:191 */
1181 ATTR_syntax___syntax_base___MMMethSrcMethod____extern_name(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1182 stack_frame_head
= fra
.me
.prev
;
1185 static const char LOCATE_syntax___syntax_base___MMMethSrcMethod___explicit_casts
[] = "syntax_base::MMMethSrcMethod::(static_type::MMMethod::explicit_casts)";
1186 val_t
syntax___syntax_base___MMMethSrcMethod___explicit_casts(val_t p0
){
1187 struct {struct stack_frame_t me
;} fra
;
1190 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1191 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1193 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMMethSrcMethod___explicit_casts
;
1194 fra
.me
.has_broke
= 0;
1195 fra
.me
.REG_size
= 1;
1196 fra
.me
.nitni_local_ref_head
= NULL
;
1197 fra
.me
.REG
[0] = NIT_NULL
;
1199 /* syntax/syntax_base.nit:192 */
1200 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___MMMethSrcMethod____explicit_casts(fra
.me
.REG
[0])!=NIT_NULL
);
1201 if (UNTAG_Bool(REGB0
)) {
1203 nit_abort("Uninitialized attribute %s", "_explicit_casts", LOCATE_syntax___syntax_base
, 192);
1205 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___MMMethSrcMethod____explicit_casts(fra
.me
.REG
[0]);
1206 stack_frame_head
= fra
.me
.prev
;
1207 return fra
.me
.REG
[0];
1209 static const char LOCATE_syntax___syntax_base___MMMethSrcMethod___explicit_imports
[] = "syntax_base::MMMethSrcMethod::(abstractmetamodel::MMMethod::explicit_imports)";
1210 val_t
syntax___syntax_base___MMMethSrcMethod___explicit_imports(val_t p0
){
1211 struct {struct stack_frame_t me
;} fra
;
1214 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1215 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1217 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMMethSrcMethod___explicit_imports
;
1218 fra
.me
.has_broke
= 0;
1219 fra
.me
.REG_size
= 1;
1220 fra
.me
.nitni_local_ref_head
= NULL
;
1221 fra
.me
.REG
[0] = NIT_NULL
;
1223 /* syntax/syntax_base.nit:193 */
1224 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___MMMethSrcMethod____explicit_imports(fra
.me
.REG
[0])!=NIT_NULL
);
1225 if (UNTAG_Bool(REGB0
)) {
1227 nit_abort("Uninitialized attribute %s", "_explicit_imports", LOCATE_syntax___syntax_base
, 193);
1229 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___MMMethSrcMethod____explicit_imports(fra
.me
.REG
[0]);
1230 stack_frame_head
= fra
.me
.prev
;
1231 return fra
.me
.REG
[0];
1233 static const char LOCATE_syntax___syntax_base___MMMethSrcMethod___node
[] = "syntax_base::MMMethSrcMethod::(syntax_base::MMLocalProperty::node)";
1234 val_t
syntax___syntax_base___MMMethSrcMethod___node(val_t p0
){
1235 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1238 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1239 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1241 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMMethSrcMethod___node
;
1242 fra
.me
.has_broke
= 0;
1243 fra
.me
.REG_size
= 3;
1244 fra
.me
.nitni_local_ref_head
= NULL
;
1245 fra
.me
.REG
[0] = NIT_NULL
;
1246 fra
.me
.REG
[1] = NIT_NULL
;
1247 fra
.me
.REG
[2] = NIT_NULL
;
1249 /* syntax/syntax_base.nit:194 */
1250 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1251 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1252 fra
.me
.REG
[1] = CALL_syntax___syntax_base___MMModule___nodes(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1253 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*/;
1254 if (UNTAG_Bool(REGB0
)) {
1256 nit_abort("Cast failed", NULL
, LOCATE_syntax___syntax_base
, 194);
1260 stack_frame_head
= fra
.me
.prev
;
1261 return fra
.me
.REG
[1];
1263 static const char LOCATE_syntax___syntax_base___MMMethSrcMethod___init
[] = "syntax_base::MMMethSrcMethod::init";
1264 void syntax___syntax_base___MMMethSrcMethod___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1265 int itpos6
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___syntax_base___MMMethSrcMethod
].i
;
1266 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1269 if (init_table
[itpos6
]) return;
1270 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1271 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1273 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMMethSrcMethod___init
;
1274 fra
.me
.has_broke
= 0;
1275 fra
.me
.REG_size
= 5;
1276 fra
.me
.nitni_local_ref_head
= NULL
;
1277 fra
.me
.REG
[0] = NIT_NULL
;
1278 fra
.me
.REG
[1] = NIT_NULL
;
1279 fra
.me
.REG
[2] = NIT_NULL
;
1280 fra
.me
.REG
[3] = NIT_NULL
;
1281 fra
.me
.REG
[4] = NIT_NULL
;
1286 /* syntax/syntax_base.nit:195 */
1287 fra
.me
.REG
[4] = fra
.me
.REG
[0];
1288 /* syntax/syntax_base.nit:197 */
1289 CALL_metamodel___abstractmetamodel___MMLocalProperty___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1290 /* syntax/syntax_base.nit:198 */
1291 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1292 CALL_syntax___syntax_base___MMModule___nodes__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4], fra
.me
.REG
[3]);
1293 /* syntax/syntax_base.nit:199 */
1294 fra
.me
.REG
[3] = CALL_syntax___syntax_base___MMLocalProperty___node(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1295 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*/;
1296 ATTR_syntax___syntax_base___MMMethSrcMethod____is_init(fra
.me
.REG
[4]) = REGB0
;
1297 /* syntax/syntax_base.nit:200 */
1298 fra
.me
.REG
[3] = CALL_syntax___syntax_base___MMLocalProperty___node(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1299 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*/;
1300 ATTR_syntax___syntax_base___MMMethSrcMethod____is_intern(fra
.me
.REG
[4]) = REGB0
;
1301 /* syntax/syntax_base.nit:201 */
1302 fra
.me
.REG
[3] = CALL_syntax___syntax_base___MMLocalProperty___node(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1303 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*/;
1304 ATTR_syntax___syntax_base___MMMethSrcMethod____is_extern(fra
.me
.REG
[4]) = REGB0
;
1305 /* syntax/syntax_base.nit:202 */
1306 fra
.me
.REG
[3] = CALL_syntax___syntax_base___MMLocalProperty___node(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1307 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*/;
1308 ATTR_syntax___syntax_base___MMMethSrcMethod____is_abstract(fra
.me
.REG
[4]) = REGB0
;
1309 /* syntax/syntax_base.nit:203 */
1310 ATTR_syntax___syntax_base___MMMethSrcMethod____extern_name(fra
.me
.REG
[4]) = NIT_NULL
;
1311 /* syntax/syntax_base.nit:205 */
1312 REGB0
= CALL_metamodel___abstractmetamodel___MMMethod___is_extern(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1313 if (UNTAG_Bool(REGB0
)) {
1314 /* syntax/syntax_base.nit:206 */
1315 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___mmmodule(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1316 REGB0
= TAG_Bool(1);
1317 CALL_metamodel___abstractmetamodel___MMModule___is_extern_hybrid__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1319 stack_frame_head
= fra
.me
.prev
;
1320 init_table
[itpos6
] = 1;
1323 static const char LOCATE_syntax___syntax_base___MMSrcTypeProperty___init
[] = "syntax_base::MMSrcTypeProperty::init";
1324 void syntax___syntax_base___MMSrcTypeProperty___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1325 int itpos7
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___syntax_base___MMSrcTypeProperty
].i
;
1326 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1328 if (init_table
[itpos7
]) return;
1329 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1330 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1332 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMSrcTypeProperty___init
;
1333 fra
.me
.has_broke
= 0;
1334 fra
.me
.REG_size
= 4;
1335 fra
.me
.nitni_local_ref_head
= NULL
;
1336 fra
.me
.REG
[0] = NIT_NULL
;
1337 fra
.me
.REG
[1] = NIT_NULL
;
1338 fra
.me
.REG
[2] = NIT_NULL
;
1339 fra
.me
.REG
[3] = NIT_NULL
;
1344 /* syntax/syntax_base.nit:217 */
1345 CALL_metamodel___abstractmetamodel___MMLocalProperty___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1346 stack_frame_head
= fra
.me
.prev
;
1347 init_table
[itpos7
] = 1;
1350 static const char LOCATE_syntax___syntax_base___MMImplicitInit___super_init
[] = "syntax_base::MMImplicitInit::super_init";
1351 val_t
syntax___syntax_base___MMImplicitInit___super_init(val_t p0
){
1352 struct {struct stack_frame_t me
;} fra
;
1354 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1355 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1357 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMImplicitInit___super_init
;
1358 fra
.me
.has_broke
= 0;
1359 fra
.me
.REG_size
= 0;
1360 fra
.me
.nitni_local_ref_head
= NULL
;
1361 /* syntax/syntax_base.nit:224 */
1362 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 224);
1363 stack_frame_head
= fra
.me
.prev
;
1366 static const char LOCATE_syntax___syntax_base___MMImplicitInit___is_init
[] = "syntax_base::MMImplicitInit::(syntax_base::MMLocalProperty::is_init)";
1367 val_t
syntax___syntax_base___MMImplicitInit___is_init(val_t p0
){
1368 struct {struct stack_frame_t me
;} fra
;
1371 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1372 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1374 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMImplicitInit___is_init
;
1375 fra
.me
.has_broke
= 0;
1376 fra
.me
.REG_size
= 1;
1377 fra
.me
.nitni_local_ref_head
= NULL
;
1378 fra
.me
.REG
[0] = NIT_NULL
;
1380 /* syntax/syntax_base.nit:225 */
1381 REGB0
= TAG_Bool(1);
1384 stack_frame_head
= fra
.me
.prev
;
1387 static const char LOCATE_syntax___syntax_base___MMImplicitInit___unassigned_attributes
[] = "syntax_base::MMImplicitInit::unassigned_attributes";
1388 val_t
syntax___syntax_base___MMImplicitInit___unassigned_attributes(val_t p0
){
1389 struct {struct stack_frame_t me
;} fra
;
1392 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1393 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1395 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMImplicitInit___unassigned_attributes
;
1396 fra
.me
.has_broke
= 0;
1397 fra
.me
.REG_size
= 1;
1398 fra
.me
.nitni_local_ref_head
= NULL
;
1399 fra
.me
.REG
[0] = NIT_NULL
;
1401 /* syntax/syntax_base.nit:226 */
1402 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___MMImplicitInit____unassigned_attributes(fra
.me
.REG
[0])!=NIT_NULL
);
1403 if (UNTAG_Bool(REGB0
)) {
1405 nit_abort("Uninitialized attribute %s", "_unassigned_attributes", LOCATE_syntax___syntax_base
, 226);
1407 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___MMImplicitInit____unassigned_attributes(fra
.me
.REG
[0]);
1408 stack_frame_head
= fra
.me
.prev
;
1409 return fra
.me
.REG
[0];
1411 static const char LOCATE_syntax___syntax_base___MMImplicitInit___super_inits
[] = "syntax_base::MMImplicitInit::super_inits";
1412 val_t
syntax___syntax_base___MMImplicitInit___super_inits(val_t p0
){
1413 struct {struct stack_frame_t me
;} fra
;
1416 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1417 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1419 fra
.me
.meth
= LOCATE_syntax___syntax_base___MMImplicitInit___super_inits
;
1420 fra
.me
.has_broke
= 0;
1421 fra
.me
.REG_size
= 1;
1422 fra
.me
.nitni_local_ref_head
= NULL
;
1423 fra
.me
.REG
[0] = NIT_NULL
;
1425 /* syntax/syntax_base.nit:227 */
1426 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___MMImplicitInit____super_inits(fra
.me
.REG
[0])!=NIT_NULL
);
1427 if (UNTAG_Bool(REGB0
)) {
1429 nit_abort("Uninitialized attribute %s", "_super_inits", LOCATE_syntax___syntax_base
, 227);
1431 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___MMImplicitInit____super_inits(fra
.me
.REG
[0]);
1432 stack_frame_head
= fra
.me
.prev
;
1433 return fra
.me
.REG
[0];
1435 static const char LOCATE_syntax___syntax_base___MMImplicitInit___init
[] = "syntax_base::MMImplicitInit::init";
1436 void syntax___syntax_base___MMImplicitInit___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1437 int itpos8
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___syntax_base___MMImplicitInit
].i
;
1438 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1441 static val_t once_value_1
; /* Once value */
1442 static val_t once_value_2
; /* Once value */
1443 if (init_table
[itpos8
]) return;
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___MMImplicitInit___init
;
1448 fra
.me
.has_broke
= 0;
1449 fra
.me
.REG_size
= 6;
1450 fra
.me
.nitni_local_ref_head
= NULL
;
1451 fra
.me
.REG
[0] = NIT_NULL
;
1452 fra
.me
.REG
[1] = NIT_NULL
;
1453 fra
.me
.REG
[2] = NIT_NULL
;
1454 fra
.me
.REG
[3] = NIT_NULL
;
1455 fra
.me
.REG
[4] = NIT_NULL
;
1456 fra
.me
.REG
[5] = NIT_NULL
;
1461 /* syntax/syntax_base.nit:228 */
1462 fra
.me
.REG
[4] = fra
.me
.REG
[0];
1463 /* syntax/syntax_base.nit:230 */
1464 if (!once_value_1
) {
1465 if (!once_value_2
) {
1466 fra
.me
.REG
[5] = BOX_NativeString("init");
1468 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
1469 once_value_2
= fra
.me
.REG
[5];
1470 register_static_object(&once_value_2
);
1471 } else fra
.me
.REG
[5] = once_value_2
;
1472 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1473 fra
.me
.REG
[5] = CALL_symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1474 once_value_1
= fra
.me
.REG
[5];
1475 register_static_object(&once_value_1
);
1476 } else fra
.me
.REG
[5] = once_value_1
;
1477 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1478 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
);
1479 /* syntax/syntax_base.nit:231 */
1480 ATTR_syntax___syntax_base___MMImplicitInit____unassigned_attributes(fra
.me
.REG
[4]) = fra
.me
.REG
[2];
1481 /* syntax/syntax_base.nit:232 */
1482 ATTR_syntax___syntax_base___MMImplicitInit____super_inits(fra
.me
.REG
[4]) = fra
.me
.REG
[3];
1483 stack_frame_head
= fra
.me
.prev
;
1484 init_table
[itpos8
] = 1;
1487 static const char LOCATE_syntax___syntax_base___Variable___name
[] = "syntax_base::Variable::name";
1488 val_t
syntax___syntax_base___Variable___name(val_t p0
){
1489 struct {struct stack_frame_t me
;} fra
;
1492 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1493 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1495 fra
.me
.meth
= LOCATE_syntax___syntax_base___Variable___name
;
1496 fra
.me
.has_broke
= 0;
1497 fra
.me
.REG_size
= 1;
1498 fra
.me
.nitni_local_ref_head
= NULL
;
1499 fra
.me
.REG
[0] = NIT_NULL
;
1501 /* syntax/syntax_base.nit:238 */
1502 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___Variable____name(fra
.me
.REG
[0])!=NIT_NULL
);
1503 if (UNTAG_Bool(REGB0
)) {
1505 nit_abort("Uninitialized attribute %s", "_name", LOCATE_syntax___syntax_base
, 238);
1507 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___Variable____name(fra
.me
.REG
[0]);
1508 stack_frame_head
= fra
.me
.prev
;
1509 return fra
.me
.REG
[0];
1511 static const char LOCATE_syntax___syntax_base___Variable___decl
[] = "syntax_base::Variable::decl";
1512 val_t
syntax___syntax_base___Variable___decl(val_t p0
){
1513 struct {struct stack_frame_t me
;} fra
;
1515 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1516 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1518 fra
.me
.meth
= LOCATE_syntax___syntax_base___Variable___decl
;
1519 fra
.me
.has_broke
= 0;
1520 fra
.me
.REG_size
= 1;
1521 fra
.me
.nitni_local_ref_head
= NULL
;
1522 fra
.me
.REG
[0] = NIT_NULL
;
1524 /* syntax/syntax_base.nit:241 */
1525 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___Variable____decl(fra
.me
.REG
[0]);
1526 stack_frame_head
= fra
.me
.prev
;
1527 return fra
.me
.REG
[0];
1529 static const char LOCATE_syntax___syntax_base___Variable___stype
[] = "syntax_base::Variable::stype";
1530 val_t
syntax___syntax_base___Variable___stype(val_t p0
){
1531 struct {struct stack_frame_t me
;} fra
;
1533 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1534 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1536 fra
.me
.meth
= LOCATE_syntax___syntax_base___Variable___stype
;
1537 fra
.me
.has_broke
= 0;
1538 fra
.me
.REG_size
= 1;
1539 fra
.me
.nitni_local_ref_head
= NULL
;
1540 fra
.me
.REG
[0] = NIT_NULL
;
1542 /* syntax/syntax_base.nit:244 */
1543 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___Variable____stype(fra
.me
.REG
[0]);
1544 stack_frame_head
= fra
.me
.prev
;
1545 return fra
.me
.REG
[0];
1547 static const char LOCATE_syntax___syntax_base___Variable___stype__eq
[] = "syntax_base::Variable::stype=";
1548 void syntax___syntax_base___Variable___stype__eq(val_t p0
, val_t p1
){
1549 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1551 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1552 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1554 fra
.me
.meth
= LOCATE_syntax___syntax_base___Variable___stype__eq
;
1555 fra
.me
.has_broke
= 0;
1556 fra
.me
.REG_size
= 2;
1557 fra
.me
.nitni_local_ref_head
= NULL
;
1558 fra
.me
.REG
[0] = NIT_NULL
;
1559 fra
.me
.REG
[1] = NIT_NULL
;
1562 /* syntax/syntax_base.nit:244 */
1563 ATTR_syntax___syntax_base___Variable____stype(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1564 stack_frame_head
= fra
.me
.prev
;
1567 static const char LOCATE_syntax___syntax_base___Variable___to_s
[] = "syntax_base::Variable::(string::Object::to_s)";
1568 val_t
syntax___syntax_base___Variable___to_s(val_t p0
){
1569 struct {struct stack_frame_t me
;} fra
;
1572 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1573 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1575 fra
.me
.meth
= LOCATE_syntax___syntax_base___Variable___to_s
;
1576 fra
.me
.has_broke
= 0;
1577 fra
.me
.REG_size
= 1;
1578 fra
.me
.nitni_local_ref_head
= NULL
;
1579 fra
.me
.REG
[0] = NIT_NULL
;
1581 /* syntax/syntax_base.nit:247 */
1582 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___Variable____name(fra
.me
.REG
[0])!=NIT_NULL
);
1583 if (UNTAG_Bool(REGB0
)) {
1585 nit_abort("Uninitialized attribute %s", "_name", LOCATE_syntax___syntax_base
, 247);
1587 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___Variable____name(fra
.me
.REG
[0]);
1588 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1591 stack_frame_head
= fra
.me
.prev
;
1592 return fra
.me
.REG
[0];
1594 static const char LOCATE_syntax___syntax_base___Variable___kind
[] = "syntax_base::Variable::kind";
1595 val_t
syntax___syntax_base___Variable___kind(val_t p0
){
1596 struct {struct stack_frame_t me
;} fra
;
1598 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1599 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1601 fra
.me
.meth
= LOCATE_syntax___syntax_base___Variable___kind
;
1602 fra
.me
.has_broke
= 0;
1603 fra
.me
.REG_size
= 0;
1604 fra
.me
.nitni_local_ref_head
= NULL
;
1605 /* syntax/syntax_base.nit:249 */
1606 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 249);
1607 stack_frame_head
= fra
.me
.prev
;
1610 static const char LOCATE_syntax___syntax_base___Variable___init
[] = "syntax_base::Variable::init";
1611 void syntax___syntax_base___Variable___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1612 int itpos9
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___syntax_base___Variable
].i
;
1613 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1615 if (init_table
[itpos9
]) return;
1616 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1617 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1619 fra
.me
.meth
= LOCATE_syntax___syntax_base___Variable___init
;
1620 fra
.me
.has_broke
= 0;
1621 fra
.me
.REG_size
= 3;
1622 fra
.me
.nitni_local_ref_head
= NULL
;
1623 fra
.me
.REG
[0] = NIT_NULL
;
1624 fra
.me
.REG
[1] = NIT_NULL
;
1625 fra
.me
.REG
[2] = NIT_NULL
;
1629 /* syntax/syntax_base.nit:253 */
1630 ATTR_syntax___syntax_base___Variable____name(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1631 /* syntax/syntax_base.nit:254 */
1632 ATTR_syntax___syntax_base___Variable____decl(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
1633 stack_frame_head
= fra
.me
.prev
;
1634 init_table
[itpos9
] = 1;
1637 static const char LOCATE_syntax___syntax_base___VarVariable___kind
[] = "syntax_base::VarVariable::(syntax_base::Variable::kind)";
1638 val_t
syntax___syntax_base___VarVariable___kind(val_t p0
){
1639 struct {struct stack_frame_t me
;} fra
;
1642 static val_t once_value_1
; /* Once value */
1643 static val_t once_value_2
; /* Once value */
1644 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1645 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1647 fra
.me
.meth
= LOCATE_syntax___syntax_base___VarVariable___kind
;
1648 fra
.me
.has_broke
= 0;
1649 fra
.me
.REG_size
= 1;
1650 fra
.me
.nitni_local_ref_head
= NULL
;
1651 fra
.me
.REG
[0] = NIT_NULL
;
1653 /* syntax/syntax_base.nit:261 */
1654 if (!once_value_1
) {
1655 if (!once_value_2
) {
1656 fra
.me
.REG
[0] = BOX_NativeString("variable");
1658 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1659 once_value_2
= fra
.me
.REG
[0];
1660 register_static_object(&once_value_2
);
1661 } else fra
.me
.REG
[0] = once_value_2
;
1662 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1663 once_value_1
= fra
.me
.REG
[0];
1664 register_static_object(&once_value_1
);
1665 } else fra
.me
.REG
[0] = once_value_1
;
1666 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1669 stack_frame_head
= fra
.me
.prev
;
1670 return fra
.me
.REG
[0];
1672 static const char LOCATE_syntax___syntax_base___VarVariable___init
[] = "syntax_base::VarVariable::init";
1673 void syntax___syntax_base___VarVariable___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1674 int itpos10
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___syntax_base___VarVariable
].i
;
1675 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1677 if (init_table
[itpos10
]) return;
1678 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1679 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1681 fra
.me
.meth
= LOCATE_syntax___syntax_base___VarVariable___init
;
1682 fra
.me
.has_broke
= 0;
1683 fra
.me
.REG_size
= 3;
1684 fra
.me
.nitni_local_ref_head
= NULL
;
1685 fra
.me
.REG
[0] = NIT_NULL
;
1686 fra
.me
.REG
[1] = NIT_NULL
;
1687 fra
.me
.REG
[2] = NIT_NULL
;
1691 /* syntax/syntax_base.nit:262 */
1692 CALL_syntax___syntax_base___Variable___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1693 stack_frame_head
= fra
.me
.prev
;
1694 init_table
[itpos10
] = 1;
1697 static const char LOCATE_syntax___syntax_base___ParamVariable___kind
[] = "syntax_base::ParamVariable::(syntax_base::Variable::kind)";
1698 val_t
syntax___syntax_base___ParamVariable___kind(val_t p0
){
1699 struct {struct stack_frame_t me
;} fra
;
1702 static val_t once_value_1
; /* Once value */
1703 static val_t once_value_2
; /* Once value */
1704 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1705 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1707 fra
.me
.meth
= LOCATE_syntax___syntax_base___ParamVariable___kind
;
1708 fra
.me
.has_broke
= 0;
1709 fra
.me
.REG_size
= 1;
1710 fra
.me
.nitni_local_ref_head
= NULL
;
1711 fra
.me
.REG
[0] = NIT_NULL
;
1713 /* syntax/syntax_base.nit:268 */
1714 if (!once_value_1
) {
1715 if (!once_value_2
) {
1716 fra
.me
.REG
[0] = BOX_NativeString("parameter");
1718 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1719 once_value_2
= fra
.me
.REG
[0];
1720 register_static_object(&once_value_2
);
1721 } else fra
.me
.REG
[0] = once_value_2
;
1722 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1723 once_value_1
= fra
.me
.REG
[0];
1724 register_static_object(&once_value_1
);
1725 } else fra
.me
.REG
[0] = once_value_1
;
1726 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1729 stack_frame_head
= fra
.me
.prev
;
1730 return fra
.me
.REG
[0];
1732 static const char LOCATE_syntax___syntax_base___ParamVariable___init
[] = "syntax_base::ParamVariable::init";
1733 void syntax___syntax_base___ParamVariable___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1734 int itpos11
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___syntax_base___ParamVariable
].i
;
1735 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1737 if (init_table
[itpos11
]) return;
1738 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1739 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1741 fra
.me
.meth
= LOCATE_syntax___syntax_base___ParamVariable___init
;
1742 fra
.me
.has_broke
= 0;
1743 fra
.me
.REG_size
= 3;
1744 fra
.me
.nitni_local_ref_head
= NULL
;
1745 fra
.me
.REG
[0] = NIT_NULL
;
1746 fra
.me
.REG
[1] = NIT_NULL
;
1747 fra
.me
.REG
[2] = NIT_NULL
;
1751 /* syntax/syntax_base.nit:269 */
1752 CALL_syntax___syntax_base___Variable___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1753 stack_frame_head
= fra
.me
.prev
;
1754 init_table
[itpos11
] = 1;
1757 static const char LOCATE_syntax___syntax_base___AutoVariable___kind
[] = "syntax_base::AutoVariable::(syntax_base::Variable::kind)";
1758 val_t
syntax___syntax_base___AutoVariable___kind(val_t p0
){
1759 struct {struct stack_frame_t me
;} fra
;
1762 static val_t once_value_1
; /* Once value */
1763 static val_t once_value_2
; /* Once value */
1764 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1765 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1767 fra
.me
.meth
= LOCATE_syntax___syntax_base___AutoVariable___kind
;
1768 fra
.me
.has_broke
= 0;
1769 fra
.me
.REG_size
= 1;
1770 fra
.me
.nitni_local_ref_head
= NULL
;
1771 fra
.me
.REG
[0] = NIT_NULL
;
1773 /* syntax/syntax_base.nit:275 */
1774 if (!once_value_1
) {
1775 if (!once_value_2
) {
1776 fra
.me
.REG
[0] = BOX_NativeString("automatic variable");
1777 REGB0
= TAG_Int(18);
1778 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1779 once_value_2
= fra
.me
.REG
[0];
1780 register_static_object(&once_value_2
);
1781 } else fra
.me
.REG
[0] = once_value_2
;
1782 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1783 once_value_1
= fra
.me
.REG
[0];
1784 register_static_object(&once_value_1
);
1785 } else fra
.me
.REG
[0] = once_value_1
;
1786 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1789 stack_frame_head
= fra
.me
.prev
;
1790 return fra
.me
.REG
[0];
1792 static const char LOCATE_syntax___syntax_base___AutoVariable___init
[] = "syntax_base::AutoVariable::init";
1793 void syntax___syntax_base___AutoVariable___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1794 int itpos12
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___syntax_base___AutoVariable
].i
;
1795 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1797 if (init_table
[itpos12
]) return;
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___AutoVariable___init
;
1802 fra
.me
.has_broke
= 0;
1803 fra
.me
.REG_size
= 3;
1804 fra
.me
.nitni_local_ref_head
= NULL
;
1805 fra
.me
.REG
[0] = NIT_NULL
;
1806 fra
.me
.REG
[1] = NIT_NULL
;
1807 fra
.me
.REG
[2] = NIT_NULL
;
1811 /* syntax/syntax_base.nit:276 */
1812 CALL_syntax___syntax_base___Variable___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1813 stack_frame_head
= fra
.me
.prev
;
1814 init_table
[itpos12
] = 1;
1817 static const char LOCATE_syntax___syntax_base___ClosureVariable___kind
[] = "syntax_base::ClosureVariable::(syntax_base::Variable::kind)";
1818 val_t
syntax___syntax_base___ClosureVariable___kind(val_t p0
){
1819 struct {struct stack_frame_t me
;} fra
;
1822 static val_t once_value_1
; /* Once value */
1823 static val_t once_value_2
; /* Once value */
1824 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1825 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1827 fra
.me
.meth
= LOCATE_syntax___syntax_base___ClosureVariable___kind
;
1828 fra
.me
.has_broke
= 0;
1829 fra
.me
.REG_size
= 1;
1830 fra
.me
.nitni_local_ref_head
= NULL
;
1831 fra
.me
.REG
[0] = NIT_NULL
;
1833 /* syntax/syntax_base.nit:283 */
1834 if (!once_value_1
) {
1835 if (!once_value_2
) {
1836 fra
.me
.REG
[0] = BOX_NativeString("closure");
1838 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1839 once_value_2
= fra
.me
.REG
[0];
1840 register_static_object(&once_value_2
);
1841 } else fra
.me
.REG
[0] = once_value_2
;
1842 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1843 once_value_1
= fra
.me
.REG
[0];
1844 register_static_object(&once_value_1
);
1845 } else fra
.me
.REG
[0] = once_value_1
;
1846 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1849 stack_frame_head
= fra
.me
.prev
;
1850 return fra
.me
.REG
[0];
1852 static const char LOCATE_syntax___syntax_base___ClosureVariable___closure
[] = "syntax_base::ClosureVariable::closure";
1853 val_t
syntax___syntax_base___ClosureVariable___closure(val_t p0
){
1854 struct {struct stack_frame_t me
;} fra
;
1857 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1858 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1860 fra
.me
.meth
= LOCATE_syntax___syntax_base___ClosureVariable___closure
;
1861 fra
.me
.has_broke
= 0;
1862 fra
.me
.REG_size
= 1;
1863 fra
.me
.nitni_local_ref_head
= NULL
;
1864 fra
.me
.REG
[0] = NIT_NULL
;
1866 /* syntax/syntax_base.nit:285 */
1867 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___ClosureVariable____closure(fra
.me
.REG
[0])!=NIT_NULL
);
1868 if (UNTAG_Bool(REGB0
)) {
1870 nit_abort("Uninitialized attribute %s", "_closure", LOCATE_syntax___syntax_base
, 285);
1872 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___ClosureVariable____closure(fra
.me
.REG
[0]);
1873 stack_frame_head
= fra
.me
.prev
;
1874 return fra
.me
.REG
[0];
1876 static const char LOCATE_syntax___syntax_base___ClosureVariable___init
[] = "syntax_base::ClosureVariable::init";
1877 void syntax___syntax_base___ClosureVariable___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1878 int itpos13
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___syntax_base___ClosureVariable
].i
;
1879 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1881 if (init_table
[itpos13
]) return;
1882 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1883 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1885 fra
.me
.meth
= LOCATE_syntax___syntax_base___ClosureVariable___init
;
1886 fra
.me
.has_broke
= 0;
1887 fra
.me
.REG_size
= 5;
1888 fra
.me
.nitni_local_ref_head
= NULL
;
1889 fra
.me
.REG
[0] = NIT_NULL
;
1890 fra
.me
.REG
[1] = NIT_NULL
;
1891 fra
.me
.REG
[2] = NIT_NULL
;
1892 fra
.me
.REG
[3] = NIT_NULL
;
1893 fra
.me
.REG
[4] = NIT_NULL
;
1898 /* syntax/syntax_base.nit:288 */
1899 fra
.me
.REG
[4] = fra
.me
.REG
[0];
1900 /* syntax/syntax_base.nit:290 */
1901 CALL_syntax___syntax_base___Variable___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1902 /* syntax/syntax_base.nit:291 */
1903 ATTR_syntax___syntax_base___ClosureVariable____closure(fra
.me
.REG
[4]) = fra
.me
.REG
[3];
1904 stack_frame_head
= fra
.me
.prev
;
1905 init_table
[itpos13
] = 1;
1908 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___get_type_by_name
[] = "syntax_base::AbsSyntaxVisitor::get_type_by_name";
1909 val_t
syntax___syntax_base___AbsSyntaxVisitor___get_type_by_name(val_t p0
, val_t p1
){
1910 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1913 static val_t once_value_1
; /* Once value */
1914 static val_t once_value_2
; /* Once value */
1915 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1916 fra
.me
.file
= LOCATE_syntax___syntax_base
;
1918 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___get_type_by_name
;
1919 fra
.me
.has_broke
= 0;
1920 fra
.me
.REG_size
= 6;
1921 fra
.me
.nitni_local_ref_head
= NULL
;
1922 fra
.me
.REG
[0] = NIT_NULL
;
1923 fra
.me
.REG
[1] = NIT_NULL
;
1924 fra
.me
.REG
[2] = NIT_NULL
;
1925 fra
.me
.REG
[3] = NIT_NULL
;
1926 fra
.me
.REG
[4] = NIT_NULL
;
1927 fra
.me
.REG
[5] = NIT_NULL
;
1930 /* syntax/syntax_base.nit:302 */
1931 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra
.me
.REG
[0])!=NIT_NULL
);
1932 if (UNTAG_Bool(REGB0
)) {
1934 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base
, 302);
1936 fra
.me
.REG
[2] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra
.me
.REG
[0]);
1937 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1938 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1939 if (UNTAG_Bool(REGB0
)) {
1940 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra
.me
.REG
[0])!=NIT_NULL
);
1941 if (UNTAG_Bool(REGB0
)) {
1943 nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax___syntax_base
, 302);
1945 fra
.me
.REG
[2] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra
.me
.REG
[0]);
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
, 302);
1951 fra
.me
.REG
[3] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra
.me
.REG
[0]);
1952 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___location(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1954 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1955 if (!once_value_1
) {
1956 fra
.me
.REG
[5] = BOX_NativeString("Missing necessary class: \"");
1957 REGB0
= TAG_Int(26);
1958 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
1959 once_value_1
= fra
.me
.REG
[5];
1960 register_static_object(&once_value_1
);
1961 } else fra
.me
.REG
[5] = once_value_1
;
1962 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1963 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1964 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1965 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1966 if (!once_value_2
) {
1967 fra
.me
.REG
[5] = BOX_NativeString("\"");
1969 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
1970 once_value_2
= fra
.me
.REG
[5];
1971 register_static_object(&once_value_2
);
1972 } else fra
.me
.REG
[5] = once_value_2
;
1973 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1974 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1975 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1976 CALL_toolcontext___ToolContext___fatal_error(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4]);
1978 /* syntax/syntax_base.nit:303 */
1979 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra
.me
.REG
[0])!=NIT_NULL
);
1980 if (UNTAG_Bool(REGB0
)) {
1982 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base
, 303);
1984 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra
.me
.REG
[0]);
1985 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMModule___class_by_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1986 /* syntax/syntax_base.nit:304 */
1987 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1990 stack_frame_head
= fra
.me
.prev
;
1991 return fra
.me
.REG
[1];
1993 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___get_instantiated_type_by_name
[] = "syntax_base::AbsSyntaxVisitor::get_instantiated_type_by_name";
1994 val_t
syntax___syntax_base___AbsSyntaxVisitor___get_instantiated_type_by_name(val_t p0
, val_t p1
, val_t p2
){
1995 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1998 static val_t once_value_1
; /* Once value */
1999 static val_t once_value_2
; /* Once value */
2000 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2001 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2003 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___get_instantiated_type_by_name
;
2004 fra
.me
.has_broke
= 0;
2005 fra
.me
.REG_size
= 7;
2006 fra
.me
.nitni_local_ref_head
= NULL
;
2007 fra
.me
.REG
[0] = NIT_NULL
;
2008 fra
.me
.REG
[1] = NIT_NULL
;
2009 fra
.me
.REG
[2] = NIT_NULL
;
2010 fra
.me
.REG
[3] = NIT_NULL
;
2011 fra
.me
.REG
[4] = NIT_NULL
;
2012 fra
.me
.REG
[5] = NIT_NULL
;
2013 fra
.me
.REG
[6] = NIT_NULL
;
2017 /* syntax/syntax_base.nit:309 */
2018 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra
.me
.REG
[0])!=NIT_NULL
);
2019 if (UNTAG_Bool(REGB0
)) {
2021 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base
, 309);
2023 fra
.me
.REG
[3] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra
.me
.REG
[0]);
2024 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
2025 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2026 if (UNTAG_Bool(REGB0
)) {
2027 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra
.me
.REG
[0])!=NIT_NULL
);
2028 if (UNTAG_Bool(REGB0
)) {
2030 nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax___syntax_base
, 309);
2032 fra
.me
.REG
[3] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra
.me
.REG
[0]);
2033 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra
.me
.REG
[0])!=NIT_NULL
);
2034 if (UNTAG_Bool(REGB0
)) {
2036 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base
, 309);
2038 fra
.me
.REG
[4] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra
.me
.REG
[0]);
2039 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMModule___location(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2041 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2042 if (!once_value_1
) {
2043 fra
.me
.REG
[6] = BOX_NativeString("Missing necessary class: \"");
2044 REGB0
= TAG_Int(26);
2045 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
2046 once_value_1
= fra
.me
.REG
[6];
2047 register_static_object(&once_value_1
);
2048 } else fra
.me
.REG
[6] = once_value_1
;
2049 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2050 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2051 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2052 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2053 if (!once_value_2
) {
2054 fra
.me
.REG
[6] = BOX_NativeString("\"");
2056 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
2057 once_value_2
= fra
.me
.REG
[6];
2058 register_static_object(&once_value_2
);
2059 } else fra
.me
.REG
[6] = once_value_2
;
2060 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2061 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2062 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2063 CALL_toolcontext___ToolContext___fatal_error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4], fra
.me
.REG
[5]);
2065 /* syntax/syntax_base.nit:310 */
2066 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra
.me
.REG
[0])!=NIT_NULL
);
2067 if (UNTAG_Bool(REGB0
)) {
2069 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base
, 310);
2071 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra
.me
.REG
[0]);
2072 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMModule___class_by_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2073 /* syntax/syntax_base.nit:311 */
2074 fra
.me
.REG
[2] = CALL_metamodel___genericity___MMLocalClass___get_instantiate_type(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2077 stack_frame_head
= fra
.me
.prev
;
2078 return fra
.me
.REG
[2];
2080 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_object
[] = "syntax_base::AbsSyntaxVisitor::type_object";
2081 val_t
syntax___syntax_base___AbsSyntaxVisitor___type_object(val_t p0
){
2082 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2085 static val_t once_value_1
; /* Once value */
2086 static val_t once_value_2
; /* Once value */
2087 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2088 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2090 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_object
;
2091 fra
.me
.has_broke
= 0;
2092 fra
.me
.REG_size
= 2;
2093 fra
.me
.nitni_local_ref_head
= NULL
;
2094 fra
.me
.REG
[0] = NIT_NULL
;
2095 fra
.me
.REG
[1] = NIT_NULL
;
2097 /* syntax/syntax_base.nit:317 */
2098 if (!once_value_1
) {
2099 if (!once_value_2
) {
2100 fra
.me
.REG
[1] = BOX_NativeString("Object");
2102 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
2103 once_value_2
= fra
.me
.REG
[1];
2104 register_static_object(&once_value_2
);
2105 } else fra
.me
.REG
[1] = once_value_2
;
2106 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2107 fra
.me
.REG
[1] = CALL_symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2108 once_value_1
= fra
.me
.REG
[1];
2109 register_static_object(&once_value_1
);
2110 } else fra
.me
.REG
[1] = once_value_1
;
2111 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2112 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]);
2115 stack_frame_head
= fra
.me
.prev
;
2116 return fra
.me
.REG
[1];
2118 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_bool
[] = "syntax_base::AbsSyntaxVisitor::type_bool";
2119 val_t
syntax___syntax_base___AbsSyntaxVisitor___type_bool(val_t p0
){
2120 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2123 static val_t once_value_1
; /* Once value */
2124 static val_t once_value_2
; /* Once value */
2125 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2126 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2128 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_bool
;
2129 fra
.me
.has_broke
= 0;
2130 fra
.me
.REG_size
= 2;
2131 fra
.me
.nitni_local_ref_head
= NULL
;
2132 fra
.me
.REG
[0] = NIT_NULL
;
2133 fra
.me
.REG
[1] = NIT_NULL
;
2135 /* syntax/syntax_base.nit:323 */
2136 if (!once_value_1
) {
2137 if (!once_value_2
) {
2138 fra
.me
.REG
[1] = BOX_NativeString("Bool");
2140 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
2141 once_value_2
= fra
.me
.REG
[1];
2142 register_static_object(&once_value_2
);
2143 } else fra
.me
.REG
[1] = once_value_2
;
2144 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2145 fra
.me
.REG
[1] = CALL_symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2146 once_value_1
= fra
.me
.REG
[1];
2147 register_static_object(&once_value_1
);
2148 } else fra
.me
.REG
[1] = once_value_1
;
2149 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2150 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]);
2153 stack_frame_head
= fra
.me
.prev
;
2154 return fra
.me
.REG
[1];
2156 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_int
[] = "syntax_base::AbsSyntaxVisitor::type_int";
2157 val_t
syntax___syntax_base___AbsSyntaxVisitor___type_int(val_t p0
){
2158 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2161 static val_t once_value_1
; /* Once value */
2162 static val_t once_value_2
; /* Once value */
2163 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2164 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2166 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_int
;
2167 fra
.me
.has_broke
= 0;
2168 fra
.me
.REG_size
= 2;
2169 fra
.me
.nitni_local_ref_head
= NULL
;
2170 fra
.me
.REG
[0] = NIT_NULL
;
2171 fra
.me
.REG
[1] = NIT_NULL
;
2173 /* syntax/syntax_base.nit:329 */
2174 if (!once_value_1
) {
2175 if (!once_value_2
) {
2176 fra
.me
.REG
[1] = BOX_NativeString("Int");
2178 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
2179 once_value_2
= fra
.me
.REG
[1];
2180 register_static_object(&once_value_2
);
2181 } else fra
.me
.REG
[1] = once_value_2
;
2182 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2183 fra
.me
.REG
[1] = CALL_symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2184 once_value_1
= fra
.me
.REG
[1];
2185 register_static_object(&once_value_1
);
2186 } else fra
.me
.REG
[1] = once_value_1
;
2187 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2188 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]);
2191 stack_frame_head
= fra
.me
.prev
;
2192 return fra
.me
.REG
[1];
2194 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_float
[] = "syntax_base::AbsSyntaxVisitor::type_float";
2195 val_t
syntax___syntax_base___AbsSyntaxVisitor___type_float(val_t p0
){
2196 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2199 static val_t once_value_1
; /* Once value */
2200 static val_t once_value_2
; /* Once value */
2201 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2202 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2204 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_float
;
2205 fra
.me
.has_broke
= 0;
2206 fra
.me
.REG_size
= 2;
2207 fra
.me
.nitni_local_ref_head
= NULL
;
2208 fra
.me
.REG
[0] = NIT_NULL
;
2209 fra
.me
.REG
[1] = NIT_NULL
;
2211 /* syntax/syntax_base.nit:335 */
2212 if (!once_value_1
) {
2213 if (!once_value_2
) {
2214 fra
.me
.REG
[1] = BOX_NativeString("Float");
2216 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
2217 once_value_2
= fra
.me
.REG
[1];
2218 register_static_object(&once_value_2
);
2219 } else fra
.me
.REG
[1] = once_value_2
;
2220 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2221 fra
.me
.REG
[1] = CALL_symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2222 once_value_1
= fra
.me
.REG
[1];
2223 register_static_object(&once_value_1
);
2224 } else fra
.me
.REG
[1] = once_value_1
;
2225 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2226 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]);
2229 stack_frame_head
= fra
.me
.prev
;
2230 return fra
.me
.REG
[1];
2232 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_char
[] = "syntax_base::AbsSyntaxVisitor::type_char";
2233 val_t
syntax___syntax_base___AbsSyntaxVisitor___type_char(val_t p0
){
2234 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2237 static val_t once_value_1
; /* Once value */
2238 static val_t once_value_2
; /* Once value */
2239 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2240 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2242 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_char
;
2243 fra
.me
.has_broke
= 0;
2244 fra
.me
.REG_size
= 2;
2245 fra
.me
.nitni_local_ref_head
= NULL
;
2246 fra
.me
.REG
[0] = NIT_NULL
;
2247 fra
.me
.REG
[1] = NIT_NULL
;
2249 /* syntax/syntax_base.nit:341 */
2250 if (!once_value_1
) {
2251 if (!once_value_2
) {
2252 fra
.me
.REG
[1] = BOX_NativeString("Char");
2254 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
2255 once_value_2
= fra
.me
.REG
[1];
2256 register_static_object(&once_value_2
);
2257 } else fra
.me
.REG
[1] = once_value_2
;
2258 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2259 fra
.me
.REG
[1] = CALL_symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2260 once_value_1
= fra
.me
.REG
[1];
2261 register_static_object(&once_value_1
);
2262 } else fra
.me
.REG
[1] = once_value_1
;
2263 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2264 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]);
2267 stack_frame_head
= fra
.me
.prev
;
2268 return fra
.me
.REG
[1];
2270 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_string
[] = "syntax_base::AbsSyntaxVisitor::type_string";
2271 val_t
syntax___syntax_base___AbsSyntaxVisitor___type_string(val_t p0
){
2272 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2275 static val_t once_value_1
; /* Once value */
2276 static val_t once_value_2
; /* Once value */
2277 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2278 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2280 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_string
;
2281 fra
.me
.has_broke
= 0;
2282 fra
.me
.REG_size
= 2;
2283 fra
.me
.nitni_local_ref_head
= NULL
;
2284 fra
.me
.REG
[0] = NIT_NULL
;
2285 fra
.me
.REG
[1] = NIT_NULL
;
2287 /* syntax/syntax_base.nit:347 */
2288 if (!once_value_1
) {
2289 if (!once_value_2
) {
2290 fra
.me
.REG
[1] = BOX_NativeString("String");
2292 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
2293 once_value_2
= fra
.me
.REG
[1];
2294 register_static_object(&once_value_2
);
2295 } else fra
.me
.REG
[1] = once_value_2
;
2296 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2297 fra
.me
.REG
[1] = CALL_symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2298 once_value_1
= fra
.me
.REG
[1];
2299 register_static_object(&once_value_1
);
2300 } else fra
.me
.REG
[1] = once_value_1
;
2301 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2302 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]);
2305 stack_frame_head
= fra
.me
.prev
;
2306 return fra
.me
.REG
[1];
2308 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_nativestring
[] = "syntax_base::AbsSyntaxVisitor::type_nativestring";
2309 val_t
syntax___syntax_base___AbsSyntaxVisitor___type_nativestring(val_t p0
){
2310 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2313 static val_t once_value_1
; /* Once value */
2314 static val_t once_value_2
; /* Once value */
2315 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2316 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2318 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_nativestring
;
2319 fra
.me
.has_broke
= 0;
2320 fra
.me
.REG_size
= 2;
2321 fra
.me
.nitni_local_ref_head
= NULL
;
2322 fra
.me
.REG
[0] = NIT_NULL
;
2323 fra
.me
.REG
[1] = NIT_NULL
;
2325 /* syntax/syntax_base.nit:353 */
2326 if (!once_value_1
) {
2327 if (!once_value_2
) {
2328 fra
.me
.REG
[1] = BOX_NativeString("NativeString");
2329 REGB0
= TAG_Int(12);
2330 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
2331 once_value_2
= fra
.me
.REG
[1];
2332 register_static_object(&once_value_2
);
2333 } else fra
.me
.REG
[1] = once_value_2
;
2334 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2335 fra
.me
.REG
[1] = CALL_symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2336 once_value_1
= fra
.me
.REG
[1];
2337 register_static_object(&once_value_1
);
2338 } else fra
.me
.REG
[1] = once_value_1
;
2339 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2340 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]);
2343 stack_frame_head
= fra
.me
.prev
;
2344 return fra
.me
.REG
[1];
2346 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_array
[] = "syntax_base::AbsSyntaxVisitor::type_array";
2347 val_t
syntax___syntax_base___AbsSyntaxVisitor___type_array(val_t p0
, val_t p1
){
2348 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2351 static val_t once_value_1
; /* Once value */
2352 static val_t once_value_2
; /* Once value */
2353 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2354 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2356 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_array
;
2357 fra
.me
.has_broke
= 0;
2358 fra
.me
.REG_size
= 4;
2359 fra
.me
.nitni_local_ref_head
= NULL
;
2360 fra
.me
.REG
[0] = NIT_NULL
;
2361 fra
.me
.REG
[1] = NIT_NULL
;
2362 fra
.me
.REG
[2] = NIT_NULL
;
2363 fra
.me
.REG
[3] = NIT_NULL
;
2366 /* syntax/syntax_base.nit:359 */
2367 if (!once_value_1
) {
2368 if (!once_value_2
) {
2369 fra
.me
.REG
[2] = BOX_NativeString("Array");
2371 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2372 once_value_2
= fra
.me
.REG
[2];
2373 register_static_object(&once_value_2
);
2374 } else fra
.me
.REG
[2] = once_value_2
;
2375 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2376 fra
.me
.REG
[2] = CALL_symbol___String___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2377 once_value_1
= fra
.me
.REG
[2];
2378 register_static_object(&once_value_1
);
2379 } else fra
.me
.REG
[2] = once_value_1
;
2380 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2382 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2383 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
2384 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]);
2387 stack_frame_head
= fra
.me
.prev
;
2388 return fra
.me
.REG
[3];
2390 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_discrete
[] = "syntax_base::AbsSyntaxVisitor::type_discrete";
2391 val_t
syntax___syntax_base___AbsSyntaxVisitor___type_discrete(val_t p0
){
2392 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2395 static val_t once_value_1
; /* Once value */
2396 static val_t once_value_2
; /* Once value */
2397 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2398 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2400 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_discrete
;
2401 fra
.me
.has_broke
= 0;
2402 fra
.me
.REG_size
= 2;
2403 fra
.me
.nitni_local_ref_head
= NULL
;
2404 fra
.me
.REG
[0] = NIT_NULL
;
2405 fra
.me
.REG
[1] = NIT_NULL
;
2407 /* syntax/syntax_base.nit:365 */
2408 if (!once_value_1
) {
2409 if (!once_value_2
) {
2410 fra
.me
.REG
[1] = BOX_NativeString("Discrete");
2412 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
2413 once_value_2
= fra
.me
.REG
[1];
2414 register_static_object(&once_value_2
);
2415 } else fra
.me
.REG
[1] = once_value_2
;
2416 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2417 fra
.me
.REG
[1] = CALL_symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2418 once_value_1
= fra
.me
.REG
[1];
2419 register_static_object(&once_value_1
);
2420 } else fra
.me
.REG
[1] = once_value_1
;
2421 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2422 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]);
2425 stack_frame_head
= fra
.me
.prev
;
2426 return fra
.me
.REG
[1];
2428 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_range
[] = "syntax_base::AbsSyntaxVisitor::type_range";
2429 val_t
syntax___syntax_base___AbsSyntaxVisitor___type_range(val_t p0
, val_t p1
){
2430 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2433 static val_t once_value_1
; /* Once value */
2434 static val_t once_value_2
; /* Once value */
2435 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2436 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2438 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_range
;
2439 fra
.me
.has_broke
= 0;
2440 fra
.me
.REG_size
= 4;
2441 fra
.me
.nitni_local_ref_head
= NULL
;
2442 fra
.me
.REG
[0] = NIT_NULL
;
2443 fra
.me
.REG
[1] = NIT_NULL
;
2444 fra
.me
.REG
[2] = NIT_NULL
;
2445 fra
.me
.REG
[3] = NIT_NULL
;
2448 /* syntax/syntax_base.nit:371 */
2449 if (!once_value_1
) {
2450 if (!once_value_2
) {
2451 fra
.me
.REG
[2] = BOX_NativeString("Range");
2453 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2454 once_value_2
= fra
.me
.REG
[2];
2455 register_static_object(&once_value_2
);
2456 } else fra
.me
.REG
[2] = once_value_2
;
2457 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2458 fra
.me
.REG
[2] = CALL_symbol___String___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2459 once_value_1
= fra
.me
.REG
[2];
2460 register_static_object(&once_value_1
);
2461 } else fra
.me
.REG
[2] = once_value_1
;
2462 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2464 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2465 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
2466 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]);
2469 stack_frame_head
= fra
.me
.prev
;
2470 return fra
.me
.REG
[3];
2472 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_none
[] = "syntax_base::AbsSyntaxVisitor::type_none";
2473 val_t
syntax___syntax_base___AbsSyntaxVisitor___type_none(val_t p0
){
2474 struct {struct stack_frame_t me
;} fra
;
2477 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2478 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2480 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___type_none
;
2481 fra
.me
.has_broke
= 0;
2482 fra
.me
.REG_size
= 1;
2483 fra
.me
.nitni_local_ref_head
= NULL
;
2484 fra
.me
.REG
[0] = NIT_NULL
;
2486 /* syntax/syntax_base.nit:377 */
2487 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra
.me
.REG
[0])!=NIT_NULL
);
2488 if (UNTAG_Bool(REGB0
)) {
2490 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base
, 377);
2492 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra
.me
.REG
[0]);
2493 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMModule___type_none(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2496 stack_frame_head
= fra
.me
.prev
;
2497 return fra
.me
.REG
[0];
2499 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___get_method
[] = "syntax_base::AbsSyntaxVisitor::get_method";
2500 val_t
syntax___syntax_base___AbsSyntaxVisitor___get_method(val_t p0
, val_t p1
, val_t p2
){
2501 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
2504 static val_t once_value_1
; /* Once value */
2505 static val_t once_value_2
; /* Once value */
2506 static val_t once_value_3
; /* Once value */
2507 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2508 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2510 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___get_method
;
2511 fra
.me
.has_broke
= 0;
2512 fra
.me
.REG_size
= 6;
2513 fra
.me
.nitni_local_ref_head
= NULL
;
2514 fra
.me
.REG
[0] = NIT_NULL
;
2515 fra
.me
.REG
[1] = NIT_NULL
;
2516 fra
.me
.REG
[2] = NIT_NULL
;
2517 fra
.me
.REG
[3] = NIT_NULL
;
2518 fra
.me
.REG
[4] = NIT_NULL
;
2519 fra
.me
.REG
[5] = NIT_NULL
;
2523 /* syntax/syntax_base.nit:382 */
2524 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2525 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2526 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2527 if (UNTAG_Bool(REGB0
)) {
2528 /* syntax/syntax_base.nit:383 */
2529 fra
.me
.REG
[3] = CALL_parser___parser_prod___Visitor___current_node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2531 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2532 if (!once_value_1
) {
2533 fra
.me
.REG
[5] = BOX_NativeString("Fatal Error: ");
2534 REGB0
= TAG_Int(13);
2535 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2536 once_value_1
= fra
.me
.REG
[5];
2537 register_static_object(&once_value_1
);
2538 } else fra
.me
.REG
[5] = once_value_1
;
2539 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2540 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2541 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2542 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2543 if (!once_value_2
) {
2544 fra
.me
.REG
[5] = BOX_NativeString(" must have a property named ");
2545 REGB0
= TAG_Int(28);
2546 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2547 once_value_2
= fra
.me
.REG
[5];
2548 register_static_object(&once_value_2
);
2549 } else fra
.me
.REG
[5] = once_value_2
;
2550 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2551 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2552 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2553 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2554 if (!once_value_3
) {
2555 fra
.me
.REG
[5] = BOX_NativeString(".");
2557 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2558 once_value_3
= fra
.me
.REG
[5];
2559 register_static_object(&once_value_3
);
2560 } else fra
.me
.REG
[5] = once_value_3
;
2561 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2562 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2563 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2564 CALL_syntax___syntax_base___AbsSyntaxVisitor___fatal_error(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], fra
.me
.REG
[4]);
2566 /* syntax/syntax_base.nit:385 */
2567 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2568 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___select_method(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2571 stack_frame_head
= fra
.me
.prev
;
2572 return fra
.me
.REG
[2];
2574 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___mmmodule
[] = "syntax_base::AbsSyntaxVisitor::mmmodule";
2575 val_t
syntax___syntax_base___AbsSyntaxVisitor___mmmodule(val_t p0
){
2576 struct {struct stack_frame_t me
;} fra
;
2579 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2580 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2582 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___mmmodule
;
2583 fra
.me
.has_broke
= 0;
2584 fra
.me
.REG_size
= 1;
2585 fra
.me
.nitni_local_ref_head
= NULL
;
2586 fra
.me
.REG
[0] = NIT_NULL
;
2588 /* syntax/syntax_base.nit:388 */
2589 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra
.me
.REG
[0])!=NIT_NULL
);
2590 if (UNTAG_Bool(REGB0
)) {
2592 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax___syntax_base
, 388);
2594 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra
.me
.REG
[0]);
2595 stack_frame_head
= fra
.me
.prev
;
2596 return fra
.me
.REG
[0];
2598 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___local_class
[] = "syntax_base::AbsSyntaxVisitor::local_class";
2599 val_t
syntax___syntax_base___AbsSyntaxVisitor___local_class(val_t p0
){
2600 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2603 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2604 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2606 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___local_class
;
2607 fra
.me
.has_broke
= 0;
2608 fra
.me
.REG_size
= 2;
2609 fra
.me
.nitni_local_ref_head
= NULL
;
2610 fra
.me
.REG
[0] = NIT_NULL
;
2611 fra
.me
.REG
[1] = NIT_NULL
;
2613 /* syntax/syntax_base.nit:391 */
2614 fra
.me
.REG
[1] = fra
.me
.REG
[0];
2615 /* syntax/syntax_base.nit:392 */
2616 fra
.me
.REG
[1] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____local_class(fra
.me
.REG
[1]);
2617 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
2618 if (UNTAG_Bool(REGB0
)) {
2620 nit_abort("Cast failed", NULL
, LOCATE_syntax___syntax_base
, 392);
2624 stack_frame_head
= fra
.me
.prev
;
2625 return fra
.me
.REG
[1];
2627 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___local_class__eq
[] = "syntax_base::AbsSyntaxVisitor::local_class=";
2628 void syntax___syntax_base___AbsSyntaxVisitor___local_class__eq(val_t p0
, val_t p1
){
2629 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2631 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2632 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2634 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___local_class__eq
;
2635 fra
.me
.has_broke
= 0;
2636 fra
.me
.REG_size
= 2;
2637 fra
.me
.nitni_local_ref_head
= NULL
;
2638 fra
.me
.REG
[0] = NIT_NULL
;
2639 fra
.me
.REG
[1] = NIT_NULL
;
2642 /* syntax/syntax_base.nit:393 */
2643 ATTR_syntax___syntax_base___AbsSyntaxVisitor____local_class(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2644 stack_frame_head
= fra
.me
.prev
;
2647 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___local_property
[] = "syntax_base::AbsSyntaxVisitor::local_property";
2648 val_t
syntax___syntax_base___AbsSyntaxVisitor___local_property(val_t p0
){
2649 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2652 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2653 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2655 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___local_property
;
2656 fra
.me
.has_broke
= 0;
2657 fra
.me
.REG_size
= 2;
2658 fra
.me
.nitni_local_ref_head
= NULL
;
2659 fra
.me
.REG
[0] = NIT_NULL
;
2660 fra
.me
.REG
[1] = NIT_NULL
;
2662 /* syntax/syntax_base.nit:395 */
2663 fra
.me
.REG
[1] = fra
.me
.REG
[0];
2664 /* syntax/syntax_base.nit:396 */
2665 fra
.me
.REG
[1] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____local_property(fra
.me
.REG
[1]);
2666 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
2667 if (UNTAG_Bool(REGB0
)) {
2669 nit_abort("Cast failed", NULL
, LOCATE_syntax___syntax_base
, 396);
2673 stack_frame_head
= fra
.me
.prev
;
2674 return fra
.me
.REG
[1];
2676 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq
[] = "syntax_base::AbsSyntaxVisitor::local_property=";
2677 void syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(val_t p0
, val_t p1
){
2678 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2680 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2681 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2683 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq
;
2684 fra
.me
.has_broke
= 0;
2685 fra
.me
.REG_size
= 2;
2686 fra
.me
.nitni_local_ref_head
= NULL
;
2687 fra
.me
.REG
[0] = NIT_NULL
;
2688 fra
.me
.REG
[1] = NIT_NULL
;
2691 /* syntax/syntax_base.nit:397 */
2692 ATTR_syntax___syntax_base___AbsSyntaxVisitor____local_property(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2693 stack_frame_head
= fra
.me
.prev
;
2696 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___tc
[] = "syntax_base::AbsSyntaxVisitor::tc";
2697 val_t
syntax___syntax_base___AbsSyntaxVisitor___tc(val_t p0
){
2698 struct {struct stack_frame_t me
;} fra
;
2701 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2702 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2704 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___tc
;
2705 fra
.me
.has_broke
= 0;
2706 fra
.me
.REG_size
= 1;
2707 fra
.me
.nitni_local_ref_head
= NULL
;
2708 fra
.me
.REG
[0] = NIT_NULL
;
2710 /* syntax/syntax_base.nit:399 */
2711 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra
.me
.REG
[0])!=NIT_NULL
);
2712 if (UNTAG_Bool(REGB0
)) {
2714 nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax___syntax_base
, 399);
2716 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra
.me
.REG
[0]);
2717 stack_frame_head
= fra
.me
.prev
;
2718 return fra
.me
.REG
[0];
2720 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___error
[] = "syntax_base::AbsSyntaxVisitor::error";
2721 void syntax___syntax_base___AbsSyntaxVisitor___error(val_t p0
, val_t p1
, val_t p2
){
2722 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
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___error
;
2730 fra
.me
.has_broke
= 0;
2731 fra
.me
.REG_size
= 4;
2732 fra
.me
.nitni_local_ref_head
= NULL
;
2733 fra
.me
.REG
[0] = NIT_NULL
;
2734 fra
.me
.REG
[1] = NIT_NULL
;
2735 fra
.me
.REG
[2] = NIT_NULL
;
2736 fra
.me
.REG
[3] = NIT_NULL
;
2740 /* syntax/syntax_base.nit:405 */
2741 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra
.me
.REG
[0])!=NIT_NULL
);
2742 if (UNTAG_Bool(REGB0
)) {
2744 nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax___syntax_base
, 405);
2746 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra
.me
.REG
[0]);
2747 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2748 if (UNTAG_Bool(REGB0
)) {
2750 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2751 if (UNTAG_Bool(REGB1
)) {
2752 REGB1
= TAG_Bool(0);
2755 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
2759 if (UNTAG_Bool(REGB0
)) {
2760 fra
.me
.REG
[3] = NIT_NULL
;
2762 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2763 if (UNTAG_Bool(REGB0
)) {
2764 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 405);
2766 fra
.me
.REG
[1] = CALL_parser___parser_nodes___ANode___hot_location(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2767 fra
.me
.REG
[3] = fra
.me
.REG
[1];
2769 CALL_toolcontext___ToolContext___error(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], fra
.me
.REG
[2]);
2770 stack_frame_head
= fra
.me
.prev
;
2773 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___fatal_error
[] = "syntax_base::AbsSyntaxVisitor::fatal_error";
2774 void syntax___syntax_base___AbsSyntaxVisitor___fatal_error(val_t p0
, val_t p1
, val_t p2
){
2775 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2779 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2780 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2782 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___fatal_error
;
2783 fra
.me
.has_broke
= 0;
2784 fra
.me
.REG_size
= 4;
2785 fra
.me
.nitni_local_ref_head
= NULL
;
2786 fra
.me
.REG
[0] = NIT_NULL
;
2787 fra
.me
.REG
[1] = NIT_NULL
;
2788 fra
.me
.REG
[2] = NIT_NULL
;
2789 fra
.me
.REG
[3] = NIT_NULL
;
2793 /* syntax/syntax_base.nit:411 */
2794 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra
.me
.REG
[0])!=NIT_NULL
);
2795 if (UNTAG_Bool(REGB0
)) {
2797 nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax___syntax_base
, 411);
2799 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra
.me
.REG
[0]);
2800 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2801 if (UNTAG_Bool(REGB0
)) {
2803 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2804 if (UNTAG_Bool(REGB1
)) {
2805 REGB1
= TAG_Bool(0);
2808 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
2812 if (UNTAG_Bool(REGB0
)) {
2813 fra
.me
.REG
[3] = NIT_NULL
;
2815 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2816 if (UNTAG_Bool(REGB0
)) {
2817 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 411);
2819 fra
.me
.REG
[1] = CALL_parser___parser_nodes___ANode___hot_location(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2820 fra
.me
.REG
[3] = fra
.me
.REG
[1];
2822 CALL_toolcontext___ToolContext___fatal_error(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], fra
.me
.REG
[2]);
2823 stack_frame_head
= fra
.me
.prev
;
2826 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___warning
[] = "syntax_base::AbsSyntaxVisitor::warning";
2827 void syntax___syntax_base___AbsSyntaxVisitor___warning(val_t p0
, val_t p1
, val_t p2
){
2828 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2832 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2833 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2835 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___warning
;
2836 fra
.me
.has_broke
= 0;
2837 fra
.me
.REG_size
= 4;
2838 fra
.me
.nitni_local_ref_head
= NULL
;
2839 fra
.me
.REG
[0] = NIT_NULL
;
2840 fra
.me
.REG
[1] = NIT_NULL
;
2841 fra
.me
.REG
[2] = NIT_NULL
;
2842 fra
.me
.REG
[3] = NIT_NULL
;
2846 /* syntax/syntax_base.nit:417 */
2847 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra
.me
.REG
[0])!=NIT_NULL
);
2848 if (UNTAG_Bool(REGB0
)) {
2850 nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax___syntax_base
, 417);
2852 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra
.me
.REG
[0]);
2853 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2854 if (UNTAG_Bool(REGB0
)) {
2856 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2857 if (UNTAG_Bool(REGB1
)) {
2858 REGB1
= TAG_Bool(0);
2861 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
2865 if (UNTAG_Bool(REGB0
)) {
2866 fra
.me
.REG
[3] = NIT_NULL
;
2868 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2869 if (UNTAG_Bool(REGB0
)) {
2870 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 417);
2872 fra
.me
.REG
[1] = CALL_parser___parser_nodes___ANode___hot_location(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2873 fra
.me
.REG
[3] = fra
.me
.REG
[1];
2875 CALL_toolcontext___ToolContext___warning(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], fra
.me
.REG
[2]);
2876 stack_frame_head
= fra
.me
.prev
;
2879 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___check_conform
[] = "syntax_base::AbsSyntaxVisitor::check_conform";
2880 val_t
syntax___syntax_base___AbsSyntaxVisitor___check_conform(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
2881 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
2886 static val_t once_value_2
; /* Once value */
2887 static val_t once_value_3
; /* Once value */
2888 static val_t once_value_4
; /* Once value */
2889 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2890 fra
.me
.file
= LOCATE_syntax___syntax_base
;
2892 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___check_conform
;
2893 fra
.me
.has_broke
= 0;
2894 fra
.me
.REG_size
= 6;
2895 fra
.me
.nitni_local_ref_head
= NULL
;
2896 fra
.me
.REG
[0] = NIT_NULL
;
2897 fra
.me
.REG
[1] = NIT_NULL
;
2898 fra
.me
.REG
[2] = NIT_NULL
;
2899 fra
.me
.REG
[3] = NIT_NULL
;
2900 fra
.me
.REG
[4] = NIT_NULL
;
2901 fra
.me
.REG
[5] = NIT_NULL
;
2906 /* syntax/syntax_base.nit:423 */
2907 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2908 if (UNTAG_Bool(REGB0
)) {
2910 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2911 if (UNTAG_Bool(REGB1
)) {
2912 REGB1
= TAG_Bool(0);
2915 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
2919 if (UNTAG_Bool(REGB0
)) {
2920 REGB0
= TAG_Bool(1);
2922 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2923 if (UNTAG_Bool(REGB1
)) {
2925 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2926 if (UNTAG_Bool(REGB2
)) {
2927 REGB2
= TAG_Bool(0);
2930 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
2936 if (UNTAG_Bool(REGB0
)) {
2937 /* syntax/syntax_base.nit:424 */
2938 REGB0
= TAG_Bool(0);
2941 /* syntax/syntax_base.nit:426 */
2942 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2943 if (UNTAG_Bool(REGB1
)) {
2944 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 426);
2946 REGB1
= CALL_metamodel___static_type___MMType_____l(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2947 if (UNTAG_Bool(REGB1
)) {
2948 /* syntax/syntax_base.nit:427 */
2949 REGB1
= TAG_Bool(1);
2953 /* syntax/syntax_base.nit:429 */
2955 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
2956 if (!once_value_2
) {
2957 fra
.me
.REG
[5] = BOX_NativeString("Type error: expected ");
2958 REGB1
= TAG_Int(21);
2959 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
2960 once_value_2
= fra
.me
.REG
[5];
2961 register_static_object(&once_value_2
);
2962 } else fra
.me
.REG
[5] = once_value_2
;
2963 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2964 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2965 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2966 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2967 if (!once_value_3
) {
2968 fra
.me
.REG
[3] = BOX_NativeString(", got ");
2970 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
2971 once_value_3
= fra
.me
.REG
[3];
2972 register_static_object(&once_value_3
);
2973 } else fra
.me
.REG
[3] = once_value_3
;
2974 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2975 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2976 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2977 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2978 if (!once_value_4
) {
2979 fra
.me
.REG
[2] = BOX_NativeString("");
2981 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
2982 once_value_4
= fra
.me
.REG
[2];
2983 register_static_object(&once_value_4
);
2984 } else fra
.me
.REG
[2] = once_value_4
;
2985 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2986 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2987 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2988 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[4]);
2989 /* syntax/syntax_base.nit:430 */
2990 REGB1
= TAG_Bool(0);
2994 stack_frame_head
= fra
.me
.prev
;
2997 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___check_expr
[] = "syntax_base::AbsSyntaxVisitor::check_expr";
2998 val_t
syntax___syntax_base___AbsSyntaxVisitor___check_expr(val_t p0
, val_t p1
){
2999 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3004 static val_t once_value_1
; /* Once value */
3005 static val_t once_value_2
; /* Once value */
3006 static val_t once_value_4
; /* Once value */
3007 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3008 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3010 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___check_expr
;
3011 fra
.me
.has_broke
= 0;
3012 fra
.me
.REG_size
= 4;
3013 fra
.me
.nitni_local_ref_head
= NULL
;
3014 fra
.me
.REG
[0] = NIT_NULL
;
3015 fra
.me
.REG
[1] = NIT_NULL
;
3016 fra
.me
.REG
[2] = NIT_NULL
;
3017 fra
.me
.REG
[3] = NIT_NULL
;
3020 /* syntax/syntax_base.nit:438 */
3021 REGB0
= CALL_syntax___syntax_base___AExpr___is_typed(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3022 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3023 if (UNTAG_Bool(REGB0
)) {
3024 /* syntax/syntax_base.nit:439 */
3025 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___tc(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3026 REGB0
= CALL_toolcontext___ToolContext___error_count(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3028 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
3029 if (UNTAG_Bool(REGB2
)) {
3031 /* ../lib/standard/kernel.nit:230 */
3032 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
3033 /* syntax/syntax_base.nit:439 */
3036 if (UNTAG_Bool(REGB2
)) {
3037 /* syntax/syntax_base.nit:440 */
3039 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
3040 if (!once_value_1
) {
3041 fra
.me
.REG
[3] = BOX_NativeString("");
3043 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
3044 once_value_1
= fra
.me
.REG
[3];
3045 register_static_object(&once_value_1
);
3046 } else fra
.me
.REG
[3] = once_value_1
;
3047 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3048 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3049 fra
.me
.REG
[3] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3050 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3051 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3052 if (!once_value_2
) {
3053 fra
.me
.REG
[3] = BOX_NativeString(" not typed but not error");
3054 REGB2
= TAG_Int(24);
3055 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
3056 once_value_2
= fra
.me
.REG
[3];
3057 register_static_object(&once_value_2
);
3058 } else fra
.me
.REG
[3] = once_value_2
;
3059 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3060 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3061 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3062 CALL_standard___file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
3063 /* syntax/syntax_base.nit:441 */
3064 nit_abort("Aborted", NULL
, LOCATE_syntax___syntax_base
, 441);
3066 /* syntax/syntax_base.nit:445 */
3067 REGB2
= TAG_Bool(0);
3070 /* syntax/syntax_base.nit:446 */
3071 REGB1
= CALL_syntax___syntax_base___AExpr___is_statement(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3072 if (UNTAG_Bool(REGB1
)) {
3073 /* syntax/syntax_base.nit:447 */
3074 if (!once_value_4
) {
3075 fra
.me
.REG
[2] = BOX_NativeString("Type error: expected expression.");
3076 REGB1
= TAG_Int(32);
3077 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
3078 once_value_4
= fra
.me
.REG
[2];
3079 register_static_object(&once_value_4
);
3080 } else fra
.me
.REG
[2] = once_value_4
;
3081 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3082 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
3083 /* syntax/syntax_base.nit:448 */
3084 REGB1
= TAG_Bool(0);
3089 /* syntax/syntax_base.nit:450 */
3090 REGB1
= TAG_Bool(1);
3094 stack_frame_head
= fra
.me
.prev
;
3097 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___check_conform_expr
[] = "syntax_base::AbsSyntaxVisitor::check_conform_expr";
3098 val_t
syntax___syntax_base___AbsSyntaxVisitor___check_conform_expr(val_t p0
, val_t p1
, val_t p2
){
3099 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3103 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3104 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3106 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___check_conform_expr
;
3107 fra
.me
.has_broke
= 0;
3108 fra
.me
.REG_size
= 4;
3109 fra
.me
.nitni_local_ref_head
= NULL
;
3110 fra
.me
.REG
[0] = NIT_NULL
;
3111 fra
.me
.REG
[1] = NIT_NULL
;
3112 fra
.me
.REG
[2] = NIT_NULL
;
3113 fra
.me
.REG
[3] = NIT_NULL
;
3117 /* syntax/syntax_base.nit:456 */
3118 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3119 if (UNTAG_Bool(REGB0
)) {
3121 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3122 if (UNTAG_Bool(REGB1
)) {
3123 REGB1
= TAG_Bool(0);
3126 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3130 if (UNTAG_Bool(REGB0
)) {
3131 REGB0
= TAG_Bool(0);
3134 /* syntax/syntax_base.nit:457 */
3135 REGB1
= CALL_syntax___syntax_base___AbsSyntaxVisitor___check_expr(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3136 if (UNTAG_Bool(REGB1
)) {
3137 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AExpr___stype(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3138 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]);
3142 REGB1
= TAG_Bool(0);
3147 stack_frame_head
= fra
.me
.prev
;
3150 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___check_conform_multiexpr
[] = "syntax_base::AbsSyntaxVisitor::check_conform_multiexpr";
3151 val_t
syntax___syntax_base___AbsSyntaxVisitor___check_conform_multiexpr(val_t p0
, val_t p1
, val_t p2
){
3152 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
3156 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3157 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3159 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___check_conform_multiexpr
;
3160 fra
.me
.has_broke
= 0;
3161 fra
.me
.REG_size
= 5;
3162 fra
.me
.nitni_local_ref_head
= NULL
;
3163 fra
.me
.REG
[0] = NIT_NULL
;
3164 fra
.me
.REG
[1] = NIT_NULL
;
3165 fra
.me
.REG
[2] = NIT_NULL
;
3166 fra
.me
.REG
[3] = NIT_NULL
;
3167 fra
.me
.REG
[4] = NIT_NULL
;
3171 /* syntax/syntax_base.nit:472 */
3172 fra
.me
.REG
[3] = NIT_NULL
;
3173 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
));
3174 switch ((&(fra
.me
))->has_broke
) {
3176 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
3178 /* syntax/syntax_base.nit:486 */
3179 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3180 if (UNTAG_Bool(REGB0
)) {
3182 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3183 if (UNTAG_Bool(REGB1
)) {
3184 REGB1
= TAG_Bool(0);
3187 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
3191 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3192 if (UNTAG_Bool(REGB0
)) {
3194 nit_abort("Assert failed", NULL
, LOCATE_syntax___syntax_base
, 486);
3196 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
));
3197 switch ((&(fra
.me
))->has_broke
) {
3199 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
3201 /* syntax/syntax_base.nit:497 */
3202 fra
.me
.REG
[4] = fra
.me
.REG
[1];
3205 stack_frame_head
= fra
.me
.prev
;
3206 return fra
.me
.REG
[4];
3208 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
){
3209 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
3215 /* syntax/syntax_base.nit:473 */
3216 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3217 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3219 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___check_conform_multiexpr
;
3220 fra
.me
.has_broke
= 0;
3221 fra
.me
.REG_size
= 3;
3222 fra
.me
.nitni_local_ref_head
= NULL
;
3223 fra
.me
.REG
[0] = NIT_NULL
;
3224 fra
.me
.REG
[1] = NIT_NULL
;
3225 fra
.me
.REG
[2] = NIT_NULL
;
3226 fra
.me
.closure_ctx
= closctx_param
;
3227 fra
.me
.closure_funs
= CREG
;
3229 CREG
[0] = clos_fun0
;
3230 /* syntax/syntax_base.nit:474 */
3231 REGB0
= CALL_syntax___syntax_base___AbsSyntaxVisitor___check_expr(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
3232 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3233 if (UNTAG_Bool(REGB0
)) {
3234 closctx
->REG
[4] = NIT_NULL
;
3235 closctx
->has_broke
= 1;
3238 /* syntax/syntax_base.nit:475 */
3239 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AExpr___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3240 /* syntax/syntax_base.nit:476 */
3241 REGB0
= TAG_Bool(closctx
->REG
[1]==NIT_NULL
);
3242 if (UNTAG_Bool(REGB0
)) {
3244 REGB1
= TAG_Bool(closctx
->REG
[1]==NIT_NULL
);
3245 if (UNTAG_Bool(REGB1
)) {
3246 REGB1
= TAG_Bool(0);
3249 REGB1
= CALL_standard___kernel___Object_____eqeq(closctx
->REG
[1])(closctx
->REG
[1], NIT_NULL
);
3253 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3254 if (UNTAG_Bool(REGB0
)) {
3255 REGB0
= TAG_Bool(closctx
->REG
[1]==NIT_NULL
);
3256 if (UNTAG_Bool(REGB0
)) {
3257 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 476);
3259 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(closctx
->REG
[1])(closctx
->REG
[1]);
3260 REGB1
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3261 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
3262 if (UNTAG_Bool(REGB2
)) {
3264 /* ../lib/standard/kernel.nit:198 */
3265 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
3266 /* syntax/syntax_base.nit:476 */
3269 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
3271 REGB1
= TAG_Bool(0);
3274 if (UNTAG_Bool(REGB2
)) {
3275 /* syntax/syntax_base.nit:478 */
3276 REGB2
= TAG_Bool(closctx
->REG
[1]==NIT_NULL
);
3277 if (UNTAG_Bool(REGB2
)) {
3278 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 478);
3280 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___as_nullable(closctx
->REG
[1])(closctx
->REG
[1]);
3281 closctx
->REG
[1] = fra
.me
.REG
[2];
3282 /* syntax/syntax_base.nit:479 */
3283 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___as_nullable(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3284 fra
.me
.REG
[1] = fra
.me
.REG
[2];
3286 /* syntax/syntax_base.nit:481 */
3287 REGB2
= TAG_Bool(closctx
->REG
[1]==NIT_NULL
);
3288 if (UNTAG_Bool(REGB2
)) {
3290 REGB1
= TAG_Bool(closctx
->REG
[1]==NIT_NULL
);
3291 if (UNTAG_Bool(REGB1
)) {
3292 REGB1
= TAG_Bool(0);
3295 REGB1
= CALL_standard___kernel___Object_____eqeq(closctx
->REG
[1])(closctx
->REG
[1], NIT_NULL
);
3299 if (UNTAG_Bool(REGB2
)) {
3300 REGB2
= TAG_Bool(1);
3302 REGB1
= TAG_Bool(closctx
->REG
[1]==NIT_NULL
);
3303 if (UNTAG_Bool(REGB1
)) {
3304 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 481);
3306 REGB1
= CALL_metamodel___static_type___MMType_____l(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[1]);
3309 if (UNTAG_Bool(REGB2
)) {
3310 /* syntax/syntax_base.nit:482 */
3311 closctx
->REG
[1] = fra
.me
.REG
[1];
3312 /* syntax/syntax_base.nit:483 */
3313 closctx
->REG
[3] = fra
.me
.REG
[0];
3316 stack_frame_head
= fra
.me
.prev
;
3319 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
){
3320 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3325 static val_t once_value_5
; /* Once value */
3326 static val_t once_value_6
; /* Once value */
3327 static val_t once_value_7
; /* Once value */
3328 static val_t once_value_8
; /* Once value */
3329 static val_t once_value_9
; /* Once value */
3330 static val_t once_value_10
; /* Once value */
3331 static val_t once_value_11
; /* Once value */
3332 /* syntax/syntax_base.nit:487 */
3333 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3334 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3336 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___check_conform_multiexpr
;
3337 fra
.me
.has_broke
= 0;
3338 fra
.me
.REG_size
= 4;
3339 fra
.me
.nitni_local_ref_head
= NULL
;
3340 fra
.me
.REG
[0] = NIT_NULL
;
3341 fra
.me
.REG
[1] = NIT_NULL
;
3342 fra
.me
.REG
[2] = NIT_NULL
;
3343 fra
.me
.REG
[3] = NIT_NULL
;
3344 fra
.me
.closure_ctx
= closctx_param
;
3345 fra
.me
.closure_funs
= CREG
;
3347 CREG
[0] = clos_fun0
;
3348 /* syntax/syntax_base.nit:488 */
3349 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AExpr___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3350 REGB0
= CALL_metamodel___static_type___MMType_____l(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[1]);
3351 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3352 if (UNTAG_Bool(REGB0
)) {
3353 /* syntax/syntax_base.nit:489 */
3354 REGB0
= TAG_Bool(closctx
->REG
[3]==NIT_NULL
);
3355 if (UNTAG_Bool(REGB0
)) {
3357 REGB1
= TAG_Bool(closctx
->REG
[3]==NIT_NULL
);
3358 if (UNTAG_Bool(REGB1
)) {
3359 REGB1
= TAG_Bool(0);
3362 REGB1
= CALL_standard___kernel___Object_____eqeq(closctx
->REG
[3])(closctx
->REG
[3], NIT_NULL
);
3366 if (UNTAG_Bool(REGB0
)) {
3367 /* syntax/syntax_base.nit:490 */
3369 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3370 if (!once_value_5
) {
3371 fra
.me
.REG
[2] = BOX_NativeString("Type error: no most general type. Got ");
3372 REGB0
= TAG_Int(38);
3373 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3374 once_value_5
= fra
.me
.REG
[2];
3375 register_static_object(&once_value_5
);
3376 } else fra
.me
.REG
[2] = once_value_5
;
3377 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3378 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3379 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AExpr___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3380 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3381 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3382 if (!once_value_6
) {
3383 fra
.me
.REG
[2] = BOX_NativeString(" and ");
3385 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3386 once_value_6
= fra
.me
.REG
[2];
3387 register_static_object(&once_value_6
);
3388 } else fra
.me
.REG
[2] = once_value_6
;
3389 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3390 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3391 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(closctx
->REG
[1])(closctx
->REG
[1]);
3392 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3393 if (!once_value_7
) {
3394 fra
.me
.REG
[2] = BOX_NativeString(".");
3396 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3397 once_value_7
= fra
.me
.REG
[2];
3398 register_static_object(&once_value_7
);
3399 } else fra
.me
.REG
[2] = once_value_7
;
3400 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3401 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3402 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3403 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0], fra
.me
.REG
[1]);
3405 /* syntax/syntax_base.nit:492 */
3407 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3408 if (!once_value_8
) {
3409 fra
.me
.REG
[2] = BOX_NativeString("Type error: no most general type. Got ");
3410 REGB0
= TAG_Int(38);
3411 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3412 once_value_8
= fra
.me
.REG
[2];
3413 register_static_object(&once_value_8
);
3414 } else fra
.me
.REG
[2] = once_value_8
;
3415 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3416 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3417 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AExpr___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3418 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3419 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3420 if (!once_value_9
) {
3421 fra
.me
.REG
[2] = BOX_NativeString(" and ");
3423 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3424 once_value_9
= fra
.me
.REG
[2];
3425 register_static_object(&once_value_9
);
3426 } else fra
.me
.REG
[2] = once_value_9
;
3427 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3428 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3429 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(closctx
->REG
[1])(closctx
->REG
[1]);
3430 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3431 if (!once_value_10
) {
3432 fra
.me
.REG
[2] = BOX_NativeString(" at ");
3434 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3435 once_value_10
= fra
.me
.REG
[2];
3436 register_static_object(&once_value_10
);
3437 } else fra
.me
.REG
[2] = once_value_10
;
3438 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3439 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3440 REGB0
= TAG_Bool(closctx
->REG
[3]==NIT_NULL
);
3441 if (UNTAG_Bool(REGB0
)) {
3442 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 492);
3444 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ANode___location(closctx
->REG
[3])(closctx
->REG
[3]);
3445 fra
.me
.REG
[3] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3446 fra
.me
.REG
[3] = CALL_location___Location___relative_to(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3447 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3448 if (!once_value_11
) {
3449 fra
.me
.REG
[3] = BOX_NativeString(".");
3451 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3452 once_value_11
= fra
.me
.REG
[3];
3453 register_static_object(&once_value_11
);
3454 } else fra
.me
.REG
[3] = once_value_11
;
3455 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3456 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3457 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3458 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0], fra
.me
.REG
[1]);
3460 /* syntax/syntax_base.nit:494 */
3461 closctx
->REG
[4] = NIT_NULL
;
3462 closctx
->has_broke
= 1;
3466 stack_frame_head
= fra
.me
.prev
;
3469 static const char LOCATE_syntax___syntax_base___AbsSyntaxVisitor___init
[] = "syntax_base::AbsSyntaxVisitor::init";
3470 void syntax___syntax_base___AbsSyntaxVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
3471 int itpos14
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___syntax_base___AbsSyntaxVisitor
].i
;
3472 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3474 if (init_table
[itpos14
]) return;
3475 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3476 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3478 fra
.me
.meth
= LOCATE_syntax___syntax_base___AbsSyntaxVisitor___init
;
3479 fra
.me
.has_broke
= 0;
3480 fra
.me
.REG_size
= 4;
3481 fra
.me
.nitni_local_ref_head
= NULL
;
3482 fra
.me
.REG
[0] = NIT_NULL
;
3483 fra
.me
.REG
[1] = NIT_NULL
;
3484 fra
.me
.REG
[2] = NIT_NULL
;
3485 fra
.me
.REG
[3] = NIT_NULL
;
3489 /* syntax/syntax_base.nit:500 */
3490 fra
.me
.REG
[3] = fra
.me
.REG
[0];
3491 CALL_parser___parser_prod___Visitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
3492 /* syntax/syntax_base.nit:502 */
3493 ATTR_syntax___syntax_base___AbsSyntaxVisitor____tc(fra
.me
.REG
[3]) = fra
.me
.REG
[1];
3494 /* syntax/syntax_base.nit:503 */
3495 ATTR_syntax___syntax_base___AbsSyntaxVisitor____mmmodule(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
3496 stack_frame_head
= fra
.me
.prev
;
3497 init_table
[itpos14
] = 1;
3500 static const char LOCATE_syntax___syntax_base___ANode___accept_abs_syntax_visitor
[] = "syntax_base::ANode::accept_abs_syntax_visitor";
3501 void syntax___syntax_base___ANode___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
3502 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3504 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3505 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3507 fra
.me
.meth
= LOCATE_syntax___syntax_base___ANode___accept_abs_syntax_visitor
;
3508 fra
.me
.has_broke
= 0;
3509 fra
.me
.REG_size
= 2;
3510 fra
.me
.nitni_local_ref_head
= NULL
;
3511 fra
.me
.REG
[0] = NIT_NULL
;
3512 fra
.me
.REG
[1] = NIT_NULL
;
3515 /* syntax/syntax_base.nit:510 */
3516 CALL_parser___parser_prod___ANode___visit_all(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3517 stack_frame_head
= fra
.me
.prev
;
3520 static const char LOCATE_syntax___syntax_base___Token___to_symbol
[] = "syntax_base::Token::to_symbol";
3521 val_t
syntax___syntax_base___Token___to_symbol(val_t p0
){
3522 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
3526 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3527 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3529 fra
.me
.meth
= LOCATE_syntax___syntax_base___Token___to_symbol
;
3530 fra
.me
.has_broke
= 0;
3531 fra
.me
.REG_size
= 3;
3532 fra
.me
.nitni_local_ref_head
= NULL
;
3533 fra
.me
.REG
[0] = NIT_NULL
;
3534 fra
.me
.REG
[1] = NIT_NULL
;
3535 fra
.me
.REG
[2] = NIT_NULL
;
3537 /* syntax/syntax_base.nit:520 */
3538 fra
.me
.REG
[1] = ATTR_syntax___syntax_base___Token____symbol_cache(fra
.me
.REG
[0]);
3539 /* syntax/syntax_base.nit:521 */
3540 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3541 if (UNTAG_Bool(REGB0
)) {
3543 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3544 if (UNTAG_Bool(REGB1
)) {
3545 REGB1
= TAG_Bool(0);
3548 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
3552 if (UNTAG_Bool(REGB0
)) {
3553 /* syntax/syntax_base.nit:522 */
3554 fra
.me
.REG
[2] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3555 fra
.me
.REG
[2] = CALL_symbol___String___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3556 fra
.me
.REG
[1] = fra
.me
.REG
[2];
3557 /* syntax/syntax_base.nit:523 */
3558 ATTR_syntax___syntax_base___Token____symbol_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
3560 /* syntax/syntax_base.nit:525 */
3563 stack_frame_head
= fra
.me
.prev
;
3564 return fra
.me
.REG
[1];
3566 static const char LOCATE_syntax___syntax_base___AClassdef___local_class
[] = "syntax_base::AClassdef::local_class";
3567 val_t
syntax___syntax_base___AClassdef___local_class(val_t p0
){
3568 struct {struct stack_frame_t me
;} fra
;
3570 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3571 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3573 fra
.me
.meth
= LOCATE_syntax___syntax_base___AClassdef___local_class
;
3574 fra
.me
.has_broke
= 0;
3575 fra
.me
.REG_size
= 0;
3576 fra
.me
.nitni_local_ref_head
= NULL
;
3577 /* syntax/syntax_base.nit:530 */
3578 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 530);
3579 stack_frame_head
= fra
.me
.prev
;
3582 static const char LOCATE_syntax___syntax_base___AClassdef___next_node
[] = "syntax_base::AClassdef::next_node";
3583 val_t
syntax___syntax_base___AClassdef___next_node(val_t p0
){
3584 struct {struct stack_frame_t me
;} fra
;
3586 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3587 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3589 fra
.me
.meth
= LOCATE_syntax___syntax_base___AClassdef___next_node
;
3590 fra
.me
.has_broke
= 0;
3591 fra
.me
.REG_size
= 1;
3592 fra
.me
.nitni_local_ref_head
= NULL
;
3593 fra
.me
.REG
[0] = NIT_NULL
;
3595 /* syntax/syntax_base.nit:533 */
3596 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___AClassdef____next_node(fra
.me
.REG
[0]);
3597 stack_frame_head
= fra
.me
.prev
;
3598 return fra
.me
.REG
[0];
3600 static const char LOCATE_syntax___syntax_base___AClassdef___next_node__eq
[] = "syntax_base::AClassdef::next_node=";
3601 void syntax___syntax_base___AClassdef___next_node__eq(val_t p0
, val_t p1
){
3602 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3604 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3605 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3607 fra
.me
.meth
= LOCATE_syntax___syntax_base___AClassdef___next_node__eq
;
3608 fra
.me
.has_broke
= 0;
3609 fra
.me
.REG_size
= 2;
3610 fra
.me
.nitni_local_ref_head
= NULL
;
3611 fra
.me
.REG
[0] = NIT_NULL
;
3612 fra
.me
.REG
[1] = NIT_NULL
;
3615 /* syntax/syntax_base.nit:533 */
3616 ATTR_syntax___syntax_base___AClassdef____next_node(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
3617 stack_frame_head
= fra
.me
.prev
;
3620 static const char LOCATE_syntax___syntax_base___APropdef___self_var
[] = "syntax_base::APropdef::self_var";
3621 val_t
syntax___syntax_base___APropdef___self_var(val_t p0
){
3622 struct {struct stack_frame_t me
;} fra
;
3624 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3625 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3627 fra
.me
.meth
= LOCATE_syntax___syntax_base___APropdef___self_var
;
3628 fra
.me
.has_broke
= 0;
3629 fra
.me
.REG_size
= 0;
3630 fra
.me
.nitni_local_ref_head
= NULL
;
3631 /* syntax/syntax_base.nit:538 */
3632 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 538);
3633 stack_frame_head
= fra
.me
.prev
;
3636 static const char LOCATE_syntax___syntax_base___AAttrPropdef___prop
[] = "syntax_base::AAttrPropdef::prop";
3637 val_t
syntax___syntax_base___AAttrPropdef___prop(val_t p0
){
3638 struct {struct stack_frame_t me
;} fra
;
3640 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3641 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3643 fra
.me
.meth
= LOCATE_syntax___syntax_base___AAttrPropdef___prop
;
3644 fra
.me
.has_broke
= 0;
3645 fra
.me
.REG_size
= 0;
3646 fra
.me
.nitni_local_ref_head
= NULL
;
3647 /* syntax/syntax_base.nit:543 */
3648 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 543);
3649 stack_frame_head
= fra
.me
.prev
;
3652 static const char LOCATE_syntax___syntax_base___AAttrPropdef___readmethod
[] = "syntax_base::AAttrPropdef::readmethod";
3653 val_t
syntax___syntax_base___AAttrPropdef___readmethod(val_t p0
){
3654 struct {struct stack_frame_t me
;} fra
;
3656 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3657 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3659 fra
.me
.meth
= LOCATE_syntax___syntax_base___AAttrPropdef___readmethod
;
3660 fra
.me
.has_broke
= 0;
3661 fra
.me
.REG_size
= 0;
3662 fra
.me
.nitni_local_ref_head
= NULL
;
3663 /* syntax/syntax_base.nit:546 */
3664 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 546);
3665 stack_frame_head
= fra
.me
.prev
;
3668 static const char LOCATE_syntax___syntax_base___AAttrPropdef___writemethod
[] = "syntax_base::AAttrPropdef::writemethod";
3669 val_t
syntax___syntax_base___AAttrPropdef___writemethod(val_t p0
){
3670 struct {struct stack_frame_t me
;} fra
;
3672 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3673 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3675 fra
.me
.meth
= LOCATE_syntax___syntax_base___AAttrPropdef___writemethod
;
3676 fra
.me
.has_broke
= 0;
3677 fra
.me
.REG_size
= 0;
3678 fra
.me
.nitni_local_ref_head
= NULL
;
3679 /* syntax/syntax_base.nit:549 */
3680 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 549);
3681 stack_frame_head
= fra
.me
.prev
;
3684 static const char LOCATE_syntax___syntax_base___AConcreteInitPropdef___super_init_calls
[] = "syntax_base::AConcreteInitPropdef::super_init_calls";
3685 val_t
syntax___syntax_base___AConcreteInitPropdef___super_init_calls(val_t p0
){
3686 struct {struct stack_frame_t me
;} fra
;
3689 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3690 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3692 fra
.me
.meth
= LOCATE_syntax___syntax_base___AConcreteInitPropdef___super_init_calls
;
3693 fra
.me
.has_broke
= 0;
3694 fra
.me
.REG_size
= 1;
3695 fra
.me
.nitni_local_ref_head
= NULL
;
3696 fra
.me
.REG
[0] = NIT_NULL
;
3698 /* syntax/syntax_base.nit:554 */
3699 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___AConcreteInitPropdef____super_init_calls(fra
.me
.REG
[0])!=NIT_NULL
);
3700 if (UNTAG_Bool(REGB0
)) {
3702 nit_abort("Uninitialized attribute %s", "_super_init_calls", LOCATE_syntax___syntax_base
, 554);
3704 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___AConcreteInitPropdef____super_init_calls(fra
.me
.REG
[0]);
3705 stack_frame_head
= fra
.me
.prev
;
3706 return fra
.me
.REG
[0];
3708 static const char LOCATE_syntax___syntax_base___AConcreteInitPropdef___explicit_super_init_calls
[] = "syntax_base::AConcreteInitPropdef::explicit_super_init_calls";
3709 val_t
syntax___syntax_base___AConcreteInitPropdef___explicit_super_init_calls(val_t p0
){
3710 struct {struct stack_frame_t me
;} fra
;
3713 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3714 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3716 fra
.me
.meth
= LOCATE_syntax___syntax_base___AConcreteInitPropdef___explicit_super_init_calls
;
3717 fra
.me
.has_broke
= 0;
3718 fra
.me
.REG_size
= 1;
3719 fra
.me
.nitni_local_ref_head
= NULL
;
3720 fra
.me
.REG
[0] = NIT_NULL
;
3722 /* syntax/syntax_base.nit:555 */
3723 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___AConcreteInitPropdef____explicit_super_init_calls(fra
.me
.REG
[0])!=NIT_NULL
);
3724 if (UNTAG_Bool(REGB0
)) {
3726 nit_abort("Uninitialized attribute %s", "_explicit_super_init_calls", LOCATE_syntax___syntax_base
, 555);
3728 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___AConcreteInitPropdef____explicit_super_init_calls(fra
.me
.REG
[0]);
3729 stack_frame_head
= fra
.me
.prev
;
3730 return fra
.me
.REG
[0];
3732 static const char LOCATE_syntax___syntax_base___AMethPropdef___method
[] = "syntax_base::AMethPropdef::method";
3733 val_t
syntax___syntax_base___AMethPropdef___method(val_t p0
){
3734 struct {struct stack_frame_t me
;} fra
;
3736 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3737 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3739 fra
.me
.meth
= LOCATE_syntax___syntax_base___AMethPropdef___method
;
3740 fra
.me
.has_broke
= 0;
3741 fra
.me
.REG_size
= 0;
3742 fra
.me
.nitni_local_ref_head
= NULL
;
3743 /* syntax/syntax_base.nit:559 */
3744 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 559);
3745 stack_frame_head
= fra
.me
.prev
;
3748 static const char LOCATE_syntax___syntax_base___ATypePropdef___prop
[] = "syntax_base::ATypePropdef::prop";
3749 val_t
syntax___syntax_base___ATypePropdef___prop(val_t p0
){
3750 struct {struct stack_frame_t me
;} fra
;
3752 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3753 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3755 fra
.me
.meth
= LOCATE_syntax___syntax_base___ATypePropdef___prop
;
3756 fra
.me
.has_broke
= 0;
3757 fra
.me
.REG_size
= 0;
3758 fra
.me
.nitni_local_ref_head
= NULL
;
3759 /* syntax/syntax_base.nit:564 */
3760 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 564);
3761 stack_frame_head
= fra
.me
.prev
;
3764 static const char LOCATE_syntax___syntax_base___AParam___position
[] = "syntax_base::AParam::position";
3765 val_t
syntax___syntax_base___AParam___position(val_t p0
){
3766 struct {struct stack_frame_t me
;} fra
;
3768 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3769 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3771 fra
.me
.meth
= LOCATE_syntax___syntax_base___AParam___position
;
3772 fra
.me
.has_broke
= 0;
3773 fra
.me
.REG_size
= 0;
3774 fra
.me
.nitni_local_ref_head
= NULL
;
3775 /* syntax/syntax_base.nit:569 */
3776 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 569);
3777 stack_frame_head
= fra
.me
.prev
;
3780 static const char LOCATE_syntax___syntax_base___AParam___variable
[] = "syntax_base::AParam::variable";
3781 val_t
syntax___syntax_base___AParam___variable(val_t p0
){
3782 struct {struct stack_frame_t me
;} fra
;
3784 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3785 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3787 fra
.me
.meth
= LOCATE_syntax___syntax_base___AParam___variable
;
3788 fra
.me
.has_broke
= 0;
3789 fra
.me
.REG_size
= 0;
3790 fra
.me
.nitni_local_ref_head
= NULL
;
3791 /* syntax/syntax_base.nit:572 */
3792 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 572);
3793 stack_frame_head
= fra
.me
.prev
;
3796 static const char LOCATE_syntax___syntax_base___AClosureDecl___position
[] = "syntax_base::AClosureDecl::position";
3797 val_t
syntax___syntax_base___AClosureDecl___position(val_t p0
){
3798 struct {struct stack_frame_t me
;} fra
;
3800 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3801 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3803 fra
.me
.meth
= LOCATE_syntax___syntax_base___AClosureDecl___position
;
3804 fra
.me
.has_broke
= 0;
3805 fra
.me
.REG_size
= 0;
3806 fra
.me
.nitni_local_ref_head
= NULL
;
3807 /* syntax/syntax_base.nit:577 */
3808 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 577);
3809 stack_frame_head
= fra
.me
.prev
;
3812 static const char LOCATE_syntax___syntax_base___AClosureDecl___variable
[] = "syntax_base::AClosureDecl::variable";
3813 val_t
syntax___syntax_base___AClosureDecl___variable(val_t p0
){
3814 struct {struct stack_frame_t me
;} fra
;
3816 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3817 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3819 fra
.me
.meth
= LOCATE_syntax___syntax_base___AClosureDecl___variable
;
3820 fra
.me
.has_broke
= 0;
3821 fra
.me
.REG_size
= 0;
3822 fra
.me
.nitni_local_ref_head
= NULL
;
3823 /* syntax/syntax_base.nit:580 */
3824 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 580);
3825 stack_frame_head
= fra
.me
.prev
;
3828 static const char LOCATE_syntax___syntax_base___AType___is_typed
[] = "syntax_base::AType::is_typed";
3829 val_t
syntax___syntax_base___AType___is_typed(val_t p0
){
3830 struct {struct stack_frame_t me
;} fra
;
3832 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3833 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3835 fra
.me
.meth
= LOCATE_syntax___syntax_base___AType___is_typed
;
3836 fra
.me
.has_broke
= 0;
3837 fra
.me
.REG_size
= 0;
3838 fra
.me
.nitni_local_ref_head
= NULL
;
3839 /* syntax/syntax_base.nit:585 */
3840 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 585);
3841 stack_frame_head
= fra
.me
.prev
;
3844 static const char LOCATE_syntax___syntax_base___AType___stype
[] = "syntax_base::AType::stype";
3845 val_t
syntax___syntax_base___AType___stype(val_t p0
){
3846 struct {struct stack_frame_t me
;} fra
;
3848 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3849 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3851 fra
.me
.meth
= LOCATE_syntax___syntax_base___AType___stype
;
3852 fra
.me
.has_broke
= 0;
3853 fra
.me
.REG_size
= 0;
3854 fra
.me
.nitni_local_ref_head
= NULL
;
3855 /* syntax/syntax_base.nit:590 */
3856 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 590);
3857 stack_frame_head
= fra
.me
.prev
;
3860 static const char LOCATE_syntax___syntax_base___AType___get_local_class
[] = "syntax_base::AType::get_local_class";
3861 val_t
syntax___syntax_base___AType___get_local_class(val_t p0
, val_t p1
){
3862 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
3866 static val_t once_value_1
; /* Once value */
3867 static val_t once_value_2
; /* Once value */
3868 static val_t once_value_4
; /* Once value */
3869 static val_t once_value_5
; /* Once value */
3870 static val_t once_value_6
; /* Once value */
3871 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3872 fra
.me
.file
= LOCATE_syntax___syntax_base
;
3874 fra
.me
.meth
= LOCATE_syntax___syntax_base___AType___get_local_class
;
3875 fra
.me
.has_broke
= 0;
3876 fra
.me
.REG_size
= 8;
3877 fra
.me
.nitni_local_ref_head
= NULL
;
3878 fra
.me
.REG
[0] = NIT_NULL
;
3879 fra
.me
.REG
[1] = NIT_NULL
;
3880 fra
.me
.REG
[2] = NIT_NULL
;
3881 fra
.me
.REG
[3] = NIT_NULL
;
3882 fra
.me
.REG
[4] = NIT_NULL
;
3883 fra
.me
.REG
[5] = NIT_NULL
;
3884 fra
.me
.REG
[6] = NIT_NULL
;
3885 fra
.me
.REG
[7] = NIT_NULL
;
3888 /* syntax/syntax_base.nit:601 */
3889 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AType___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3890 fra
.me
.REG
[2] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3891 /* syntax/syntax_base.nit:602 */
3892 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3893 /* syntax/syntax_base.nit:603 */
3894 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3895 /* syntax/syntax_base.nit:605 */
3896 fra
.me
.REG
[5] = CALL_syntax___syntax_base___MMSrcLocalClass___formal_dict(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3897 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
3898 if (UNTAG_Bool(REGB0
)) {
3899 REGB0
= TAG_Bool(1);
3901 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3904 if (UNTAG_Bool(REGB0
)) {
3905 /* syntax/syntax_base.nit:606 */
3906 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AType___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3908 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3909 if (!once_value_1
) {
3910 fra
.me
.REG
[6] = BOX_NativeString("Type error: ");
3911 REGB0
= TAG_Int(12);
3912 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3913 once_value_1
= fra
.me
.REG
[6];
3914 register_static_object(&once_value_1
);
3915 } else fra
.me
.REG
[6] = once_value_1
;
3916 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3917 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3918 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3919 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3920 if (!once_value_2
) {
3921 fra
.me
.REG
[6] = BOX_NativeString(" is a formal type");
3922 REGB0
= TAG_Int(17);
3923 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3924 once_value_2
= fra
.me
.REG
[6];
3925 register_static_object(&once_value_2
);
3926 } else fra
.me
.REG
[6] = once_value_2
;
3927 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3928 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3929 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3930 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[5]);
3931 /* syntax/syntax_base.nit:607 */
3932 REGB0
= TAG_Bool(1);
3933 ATTR_syntax___syntax_base___AType____stype_cached(fra
.me
.REG
[0]) = REGB0
;
3934 /* syntax/syntax_base.nit:608 */
3935 fra
.me
.REG
[5] = NIT_NULL
;
3938 /* syntax/syntax_base.nit:611 */
3939 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3940 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3941 if (UNTAG_Bool(REGB0
)) {
3942 /* syntax/syntax_base.nit:612 */
3943 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AType___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3945 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3946 if (!once_value_4
) {
3947 fra
.me
.REG
[7] = BOX_NativeString("Type error: class ");
3948 REGB0
= TAG_Int(18);
3949 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
3950 once_value_4
= fra
.me
.REG
[7];
3951 register_static_object(&once_value_4
);
3952 } else fra
.me
.REG
[7] = once_value_4
;
3953 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3954 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3955 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3956 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3957 if (!once_value_5
) {
3958 fra
.me
.REG
[7] = BOX_NativeString(" not found in module ");
3959 REGB0
= TAG_Int(21);
3960 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
3961 once_value_5
= fra
.me
.REG
[7];
3962 register_static_object(&once_value_5
);
3963 } else fra
.me
.REG
[7] = once_value_5
;
3964 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3965 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3966 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3967 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3968 if (!once_value_6
) {
3969 fra
.me
.REG
[7] = BOX_NativeString(".");
3971 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
3972 once_value_6
= fra
.me
.REG
[7];
3973 register_static_object(&once_value_6
);
3974 } else fra
.me
.REG
[7] = once_value_6
;
3975 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3976 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3977 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3978 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[6]);
3979 /* syntax/syntax_base.nit:613 */
3980 REGB0
= TAG_Bool(1);
3981 ATTR_syntax___syntax_base___AType____stype_cached(fra
.me
.REG
[0]) = REGB0
;
3982 /* syntax/syntax_base.nit:614 */
3983 fra
.me
.REG
[5] = NIT_NULL
;
3986 /* syntax/syntax_base.nit:617 */
3987 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___class_by_name(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3988 /* syntax/syntax_base.nit:618 */
3989 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3990 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]);
3991 /* syntax/syntax_base.nit:619 */
3992 fra
.me
.REG
[5] = fra
.me
.REG
[2];
3995 stack_frame_head
= fra
.me
.prev
;
3996 return fra
.me
.REG
[5];
3998 static const char LOCATE_syntax___syntax_base___AType___get_unchecked_stype
[] = "syntax_base::AType::get_unchecked_stype";
3999 val_t
syntax___syntax_base___AType___get_unchecked_stype(val_t p0
, val_t p1
){
4000 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
4006 static val_t once_value_2
; /* Once value */
4007 static val_t once_value_3
; /* Once value */
4008 static val_t once_value_4
; /* Once value */
4009 static val_t once_value_5
; /* Once value */
4010 static val_t once_value_6
; /* Once value */
4011 static val_t once_value_7
; /* Once value */
4012 static val_t once_value_8
; /* Once value */
4013 static val_t once_value_9
; /* Once value */
4014 static val_t once_value_10
; /* Once value */
4015 static val_t once_value_11
; /* Once value */
4016 static val_t once_value_12
; /* Once value */
4017 static val_t once_value_13
; /* Once value */
4018 static val_t once_value_14
; /* Once value */
4019 static val_t once_value_15
; /* Once value */
4020 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4021 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4023 fra
.me
.meth
= LOCATE_syntax___syntax_base___AType___get_unchecked_stype
;
4024 fra
.me
.has_broke
= 0;
4025 fra
.me
.REG_size
= 8;
4026 fra
.me
.nitni_local_ref_head
= NULL
;
4027 fra
.me
.REG
[0] = NIT_NULL
;
4028 fra
.me
.REG
[1] = NIT_NULL
;
4029 fra
.me
.REG
[2] = NIT_NULL
;
4030 fra
.me
.REG
[3] = NIT_NULL
;
4031 fra
.me
.REG
[4] = NIT_NULL
;
4032 fra
.me
.REG
[5] = NIT_NULL
;
4033 fra
.me
.REG
[6] = NIT_NULL
;
4034 fra
.me
.REG
[7] = NIT_NULL
;
4037 /* syntax/syntax_base.nit:628 */
4038 REGB0
= TAG_Bool(ATTR_syntax___syntax_base___AType____stype_cached(fra
.me
.REG
[0])!=NIT_NULL
);
4039 if (UNTAG_Bool(REGB0
)) {
4041 nit_abort("Uninitialized attribute %s", "_stype_cached", LOCATE_syntax___syntax_base
, 628);
4043 REGB0
= ATTR_syntax___syntax_base___AType____stype_cached(fra
.me
.REG
[0]);
4044 if (UNTAG_Bool(REGB0
)) {
4045 fra
.me
.REG
[2] = ATTR_syntax___syntax_base___AType____stype_cache(fra
.me
.REG
[0]);
4048 /* syntax/syntax_base.nit:629 */
4049 REGB0
= TAG_Bool(1);
4050 ATTR_syntax___syntax_base___AType____stype_cached(fra
.me
.REG
[0]) = REGB0
;
4051 /* syntax/syntax_base.nit:631 */
4052 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AType___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4053 fra
.me
.REG
[3] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4054 /* syntax/syntax_base.nit:632 */
4055 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4056 /* syntax/syntax_base.nit:633 */
4057 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4058 /* syntax/syntax_base.nit:636 */
4059 fra
.me
.REG
[5] = CALL_syntax___syntax_base___MMSrcLocalClass___formal_dict(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4060 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
4061 if (UNTAG_Bool(REGB0
)) {
4062 /* syntax/syntax_base.nit:637 */
4063 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AType___n_types(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4064 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4066 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4067 if (UNTAG_Bool(REGB2
)) {
4069 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4071 /* ../lib/standard/kernel.nit:237 */
4072 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
4073 /* syntax/syntax_base.nit:637 */
4074 if (UNTAG_Bool(REGB1
)) {
4075 /* syntax/syntax_base.nit:638 */
4077 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4078 if (!once_value_2
) {
4079 fra
.me
.REG
[6] = BOX_NativeString("Type error: formal type ");
4080 REGB1
= TAG_Int(24);
4081 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
4082 once_value_2
= fra
.me
.REG
[6];
4083 register_static_object(&once_value_2
);
4084 } else fra
.me
.REG
[6] = once_value_2
;
4085 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4086 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4087 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4088 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4089 if (!once_value_3
) {
4090 fra
.me
.REG
[6] = BOX_NativeString(" cannot have formal parameters.");
4091 REGB1
= TAG_Int(31);
4092 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
4093 once_value_3
= fra
.me
.REG
[6];
4094 register_static_object(&once_value_3
);
4095 } else fra
.me
.REG
[6] = once_value_3
;
4096 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4097 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4098 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4099 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
4100 /* syntax/syntax_base.nit:639 */
4101 fra
.me
.REG
[2] = NIT_NULL
;
4104 /* syntax/syntax_base.nit:641 */
4105 fra
.me
.REG
[5] = CALL_syntax___syntax_base___MMSrcLocalClass___formal_dict(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4106 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
4107 /* syntax/syntax_base.nit:642 */
4108 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AType___n_kwnullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4109 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
4110 if (UNTAG_Bool(REGB1
)) {
4112 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
4113 if (UNTAG_Bool(REGB0
)) {
4114 REGB0
= TAG_Bool(0);
4117 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
4121 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4122 if (UNTAG_Bool(REGB1
)) {
4123 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4124 if (UNTAG_Bool(REGB1
)) {
4125 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 642);
4127 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMType___as_nullable(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4128 fra
.me
.REG
[5] = fra
.me
.REG
[6];
4130 /* syntax/syntax_base.nit:643 */
4131 ATTR_syntax___syntax_base___AType____stype_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[5];
4132 /* syntax/syntax_base.nit:644 */
4133 fra
.me
.REG
[2] = fra
.me
.REG
[5];
4136 /* syntax/syntax_base.nit:647 */
4137 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
4138 if (UNTAG_Bool(REGB1
)) {
4139 /* syntax/syntax_base.nit:648 */
4140 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AType___n_types(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4141 REGB1
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4143 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
4144 if (UNTAG_Bool(REGB2
)) {
4146 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4148 /* ../lib/standard/kernel.nit:237 */
4149 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB0
));
4150 /* syntax/syntax_base.nit:648 */
4151 if (UNTAG_Bool(REGB0
)) {
4152 /* syntax/syntax_base.nit:649 */
4154 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4155 if (!once_value_4
) {
4156 fra
.me
.REG
[7] = BOX_NativeString("Type error: formal type ");
4157 REGB0
= TAG_Int(24);
4158 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
4159 once_value_4
= fra
.me
.REG
[7];
4160 register_static_object(&once_value_4
);
4161 } else fra
.me
.REG
[7] = once_value_4
;
4162 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4163 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4164 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4165 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4166 if (!once_value_5
) {
4167 fra
.me
.REG
[7] = BOX_NativeString(" cannot have formal parameters.");
4168 REGB0
= TAG_Int(31);
4169 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
4170 once_value_5
= fra
.me
.REG
[7];
4171 register_static_object(&once_value_5
);
4172 } else fra
.me
.REG
[7] = once_value_5
;
4173 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4174 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4175 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4176 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[6]);
4177 /* syntax/syntax_base.nit:650 */
4178 fra
.me
.REG
[2] = NIT_NULL
;
4181 /* syntax/syntax_base.nit:652 */
4182 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4183 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4184 fra
.me
.REG
[6] = CALL_metamodel___virtualtype___MMLocalClass___select_virtual_type(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
4185 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4186 fra
.me
.REG
[4] = CALL_metamodel___virtualtype___MMTypeProperty___stype_for(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
4187 fra
.me
.REG
[5] = fra
.me
.REG
[4];
4188 /* syntax/syntax_base.nit:653 */
4189 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4190 if (UNTAG_Bool(REGB0
)) {
4192 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4193 if (UNTAG_Bool(REGB1
)) {
4194 REGB1
= TAG_Bool(0);
4197 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
4201 if (UNTAG_Bool(REGB0
)) {
4202 /* syntax/syntax_base.nit:654 */
4204 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4205 if (!once_value_6
) {
4206 fra
.me
.REG
[6] = BOX_NativeString("Type error: circular definition in formal type ");
4207 REGB0
= TAG_Int(47);
4208 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4209 once_value_6
= fra
.me
.REG
[6];
4210 register_static_object(&once_value_6
);
4211 } else fra
.me
.REG
[6] = once_value_6
;
4212 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4213 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
4214 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4215 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
4216 if (!once_value_7
) {
4217 fra
.me
.REG
[3] = BOX_NativeString(".");
4219 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4220 once_value_7
= fra
.me
.REG
[3];
4221 register_static_object(&once_value_7
);
4222 } else fra
.me
.REG
[3] = once_value_7
;
4223 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4224 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
4225 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4226 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
4227 /* syntax/syntax_base.nit:655 */
4228 fra
.me
.REG
[2] = NIT_NULL
;
4231 /* syntax/syntax_base.nit:657 */
4232 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AType___n_kwnullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4233 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4234 if (UNTAG_Bool(REGB0
)) {
4236 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4237 if (UNTAG_Bool(REGB1
)) {
4238 REGB1
= TAG_Bool(0);
4241 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
4245 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4246 if (UNTAG_Bool(REGB0
)) {
4247 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4248 if (UNTAG_Bool(REGB0
)) {
4249 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 657);
4251 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMType___as_nullable(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4252 fra
.me
.REG
[5] = fra
.me
.REG
[4];
4254 /* syntax/syntax_base.nit:658 */
4255 ATTR_syntax___syntax_base___AType____stype_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[5];
4256 /* syntax/syntax_base.nit:659 */
4257 fra
.me
.REG
[2] = fra
.me
.REG
[5];
4260 /* syntax/syntax_base.nit:662 */
4261 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AType___get_local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4262 /* syntax/syntax_base.nit:663 */
4263 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4264 if (UNTAG_Bool(REGB0
)) {
4266 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4267 if (UNTAG_Bool(REGB1
)) {
4268 REGB1
= TAG_Bool(0);
4271 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
4275 if (UNTAG_Bool(REGB0
)) {
4276 fra
.me
.REG
[2] = NIT_NULL
;
4279 /* syntax/syntax_base.nit:665 */
4280 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AType___n_types(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4281 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4282 /* syntax/syntax_base.nit:666 */
4283 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4284 if (UNTAG_Bool(REGB1
)) {
4285 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 666);
4287 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4288 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
4289 if (UNTAG_Bool(REGB2
)) {
4291 /* ../lib/standard/kernel.nit:230 */
4292 REGB1
= TAG_Bool((REGB1
)==(REGB0
));
4293 /* syntax/syntax_base.nit:666 */
4296 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
4297 if (UNTAG_Bool(REGB2
)) {
4298 /* syntax/syntax_base.nit:667 */
4300 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB2
));
4301 if (UNTAG_Bool(REGB1
)) {
4303 /* ../lib/standard/kernel.nit:230 */
4304 REGB2
= TAG_Bool((REGB0
)==(REGB2
));
4305 /* syntax/syntax_base.nit:667 */
4308 if (UNTAG_Bool(REGB1
)) {
4309 /* syntax/syntax_base.nit:668 */
4311 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4312 if (!once_value_8
) {
4313 fra
.me
.REG
[6] = BOX_NativeString("Type error: '");
4314 REGB1
= TAG_Int(13);
4315 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
4316 once_value_8
= fra
.me
.REG
[6];
4317 register_static_object(&once_value_8
);
4318 } else fra
.me
.REG
[6] = once_value_8
;
4319 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4320 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4321 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4322 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4323 if (!once_value_9
) {
4324 fra
.me
.REG
[6] = BOX_NativeString("' is a generic class.");
4325 REGB1
= TAG_Int(21);
4326 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
4327 once_value_9
= fra
.me
.REG
[6];
4328 register_static_object(&once_value_9
);
4329 } else fra
.me
.REG
[6] = once_value_9
;
4330 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4331 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4332 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4333 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
4335 /* syntax/syntax_base.nit:669 */
4336 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4337 if (UNTAG_Bool(REGB1
)) {
4338 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 669);
4340 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4342 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
4343 if (UNTAG_Bool(REGB3
)) {
4345 /* ../lib/standard/kernel.nit:230 */
4346 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
4347 /* syntax/syntax_base.nit:669 */
4350 if (UNTAG_Bool(REGB3
)) {
4351 /* syntax/syntax_base.nit:670 */
4353 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
4354 if (!once_value_10
) {
4355 fra
.me
.REG
[6] = BOX_NativeString("Type error: '");
4356 REGB3
= TAG_Int(13);
4357 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB3
);
4358 once_value_10
= fra
.me
.REG
[6];
4359 register_static_object(&once_value_10
);
4360 } else fra
.me
.REG
[6] = once_value_10
;
4361 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4362 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4363 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4364 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4365 if (!once_value_11
) {
4366 fra
.me
.REG
[6] = BOX_NativeString("' is not a generic class.");
4367 REGB3
= TAG_Int(25);
4368 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB3
);
4369 once_value_11
= fra
.me
.REG
[6];
4370 register_static_object(&once_value_11
);
4371 } else fra
.me
.REG
[6] = once_value_11
;
4372 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4373 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4374 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4375 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
4377 /* syntax/syntax_base.nit:672 */
4379 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
4380 if (!once_value_12
) {
4381 fra
.me
.REG
[6] = BOX_NativeString("Type error: '");
4382 REGB3
= TAG_Int(13);
4383 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB3
);
4384 once_value_12
= fra
.me
.REG
[6];
4385 register_static_object(&once_value_12
);
4386 } else fra
.me
.REG
[6] = once_value_12
;
4387 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4388 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4389 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4390 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4391 if (!once_value_13
) {
4392 fra
.me
.REG
[6] = BOX_NativeString("' has ");
4394 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB3
);
4395 once_value_13
= fra
.me
.REG
[6];
4396 register_static_object(&once_value_13
);
4397 } else fra
.me
.REG
[6] = once_value_13
;
4398 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4399 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4400 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4401 if (UNTAG_Bool(REGB3
)) {
4402 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 672);
4404 REGB3
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4405 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(REGB3
)(REGB3
);
4406 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4407 if (!once_value_14
) {
4408 fra
.me
.REG
[6] = BOX_NativeString(" parameters (");
4409 REGB3
= TAG_Int(13);
4410 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB3
);
4411 once_value_14
= fra
.me
.REG
[6];
4412 register_static_object(&once_value_14
);
4413 } else fra
.me
.REG
[6] = once_value_14
;
4414 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4415 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4416 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
4417 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4418 if (!once_value_15
) {
4419 fra
.me
.REG
[6] = BOX_NativeString(" are provided).");
4420 REGB3
= TAG_Int(15);
4421 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB3
);
4422 once_value_15
= fra
.me
.REG
[6];
4423 register_static_object(&once_value_15
);
4424 } else fra
.me
.REG
[6] = once_value_15
;
4425 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4426 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4427 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4428 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
4431 /* syntax/syntax_base.nit:674 */
4432 fra
.me
.REG
[2] = NIT_NULL
;
4435 /* syntax/syntax_base.nit:677 */
4437 REGB2
= TAG_Bool(VAL_ISA(REGB3
, 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:237 */
4443 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB3
));
4444 /* syntax/syntax_base.nit:677 */
4445 if (UNTAG_Bool(REGB3
)) {
4446 /* syntax/syntax_base.nit:678 */
4447 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___init();
4448 /* syntax/syntax_base.nit:679 */
4449 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AType___n_types(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4450 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
));
4451 switch ((&(fra
.me
))->has_broke
) {
4453 case 1: (&(fra
.me
))->has_broke
= 0; goto label1
;
4455 /* syntax/syntax_base.nit:684 */
4456 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4457 if (UNTAG_Bool(REGB3
)) {
4458 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 684);
4460 fra
.me
.REG
[3] = CALL_metamodel___genericity___MMLocalClass___get_instantiate_type(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
4461 fra
.me
.REG
[5] = fra
.me
.REG
[3];
4463 /* syntax/syntax_base.nit:686 */
4464 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4465 if (UNTAG_Bool(REGB3
)) {
4466 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 686);
4468 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4469 fra
.me
.REG
[5] = fra
.me
.REG
[4];
4471 /* syntax/syntax_base.nit:688 */
4472 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AType___n_kwnullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4473 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4474 if (UNTAG_Bool(REGB3
)) {
4476 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4477 if (UNTAG_Bool(REGB0
)) {
4478 REGB0
= TAG_Bool(0);
4481 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
4485 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
4486 if (UNTAG_Bool(REGB3
)) {
4487 REGB3
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4488 if (UNTAG_Bool(REGB3
)) {
4489 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 688);
4491 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMType___as_nullable(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4492 fra
.me
.REG
[5] = fra
.me
.REG
[4];
4494 /* syntax/syntax_base.nit:689 */
4495 ATTR_syntax___syntax_base___AType____stype_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[5];
4496 /* syntax/syntax_base.nit:690 */
4497 fra
.me
.REG
[2] = fra
.me
.REG
[5];
4500 stack_frame_head
= fra
.me
.prev
;
4501 return fra
.me
.REG
[2];
4503 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
){
4504 struct {struct stack_frame_t me
;} fra
;
4509 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4510 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4512 fra
.me
.meth
= LOCATE_syntax___syntax_base___AType___get_unchecked_stype
;
4513 fra
.me
.has_broke
= 0;
4514 fra
.me
.REG_size
= 1;
4515 fra
.me
.nitni_local_ref_head
= NULL
;
4516 fra
.me
.REG
[0] = NIT_NULL
;
4517 fra
.me
.closure_ctx
= closctx_param
;
4518 fra
.me
.closure_funs
= CREG
;
4520 CREG
[0] = clos_fun0
;
4521 /* syntax/syntax_base.nit:680 */
4522 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_unchecked_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
4523 /* syntax/syntax_base.nit:681 */
4524 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4525 if (UNTAG_Bool(REGB0
)) {
4527 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4528 if (UNTAG_Bool(REGB1
)) {
4529 REGB1
= TAG_Bool(0);
4532 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
4536 if (UNTAG_Bool(REGB0
)) {
4537 closctx
->REG
[2] = NIT_NULL
;
4538 closctx
->has_broke
= 1;
4541 /* syntax/syntax_base.nit:682 */
4542 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[0]);
4544 stack_frame_head
= fra
.me
.prev
;
4547 static const char LOCATE_syntax___syntax_base___AType___get_stype
[] = "syntax_base::AType::get_stype";
4548 val_t
syntax___syntax_base___AType___get_stype(val_t p0
, val_t p1
){
4549 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4553 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4554 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4556 fra
.me
.meth
= LOCATE_syntax___syntax_base___AType___get_stype
;
4557 fra
.me
.has_broke
= 0;
4558 fra
.me
.REG_size
= 4;
4559 fra
.me
.nitni_local_ref_head
= NULL
;
4560 fra
.me
.REG
[0] = NIT_NULL
;
4561 fra
.me
.REG
[1] = NIT_NULL
;
4562 fra
.me
.REG
[2] = NIT_NULL
;
4563 fra
.me
.REG
[3] = NIT_NULL
;
4566 /* syntax/syntax_base.nit:697 */
4567 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AType___get_unchecked_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4568 /* syntax/syntax_base.nit:698 */
4569 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4570 if (UNTAG_Bool(REGB0
)) {
4572 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4573 if (UNTAG_Bool(REGB1
)) {
4574 REGB1
= TAG_Bool(0);
4577 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
4581 if (UNTAG_Bool(REGB0
)) {
4582 fra
.me
.REG
[3] = NIT_NULL
;
4585 /* syntax/syntax_base.nit:699 */
4586 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4587 if (UNTAG_Bool(REGB0
)) {
4588 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 699);
4590 REGB0
= CALL_metamodel___static_type___MMType___is_valid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4591 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4592 if (UNTAG_Bool(REGB0
)) {
4593 fra
.me
.REG
[3] = NIT_NULL
;
4596 /* syntax/syntax_base.nit:700 */
4597 CALL_syntax___syntax_base___AType___check_conform(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4598 /* syntax/syntax_base.nit:701 */
4599 fra
.me
.REG
[3] = fra
.me
.REG
[2];
4602 stack_frame_head
= fra
.me
.prev
;
4603 return fra
.me
.REG
[3];
4605 static const char LOCATE_syntax___syntax_base___AType___check_conform
[] = "syntax_base::AType::check_conform";
4606 void syntax___syntax_base___AType___check_conform(val_t p0
, val_t p1
){
4607 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
4612 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4613 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4615 fra
.me
.meth
= LOCATE_syntax___syntax_base___AType___check_conform
;
4616 fra
.me
.has_broke
= 0;
4617 fra
.me
.REG_size
= 8;
4618 fra
.me
.nitni_local_ref_head
= NULL
;
4619 fra
.me
.REG
[0] = NIT_NULL
;
4620 fra
.me
.REG
[1] = NIT_NULL
;
4621 fra
.me
.REG
[2] = NIT_NULL
;
4622 fra
.me
.REG
[3] = NIT_NULL
;
4623 fra
.me
.REG
[4] = NIT_NULL
;
4624 fra
.me
.REG
[5] = NIT_NULL
;
4625 fra
.me
.REG
[6] = NIT_NULL
;
4626 fra
.me
.REG
[7] = NIT_NULL
;
4629 /* syntax/syntax_base.nit:709 */
4630 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AType___get_unchecked_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4631 /* syntax/syntax_base.nit:710 */
4632 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4633 if (UNTAG_Bool(REGB0
)) {
4635 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4636 if (UNTAG_Bool(REGB1
)) {
4637 REGB1
= TAG_Bool(0);
4640 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
4644 if (UNTAG_Bool(REGB0
)) {
4647 /* syntax/syntax_base.nit:711 */
4648 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4649 if (UNTAG_Bool(REGB0
)) {
4650 nit_abort("Reciever is null", NULL
, LOCATE_syntax___syntax_base
, 711);
4652 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4653 /* syntax/syntax_base.nit:712 */
4654 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AType___n_types(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4655 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4656 /* syntax/syntax_base.nit:713 */
4658 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4659 if (UNTAG_Bool(REGB2
)) {
4661 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4663 /* ../lib/standard/kernel.nit:237 */
4664 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
4665 /* syntax/syntax_base.nit:713 */
4666 if (UNTAG_Bool(REGB1
)) {
4667 /* syntax/syntax_base.nit:714 */
4669 /* ../lib/standard/kernel.nit:355 */
4671 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
4672 if (UNTAG_Bool(REGB2
)) {
4674 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4676 /* ../lib/standard/kernel.nit:235 */
4677 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
4678 /* ../lib/standard/kernel.nit:355 */
4679 if (UNTAG_Bool(REGB2
)) {
4680 /* syntax/syntax_base.nit:714 */
4682 /* syntax/syntax_base.nit:715 */
4683 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AType___n_types(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4684 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB2
);
4685 /* syntax/syntax_base.nit:716 */
4686 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
4687 /* syntax/syntax_base.nit:717 */
4688 fra
.me
.REG
[6] = CALL_metamodel___genericity___MMLocalClass___get_formal(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB2
);
4689 /* syntax/syntax_base.nit:718 */
4690 REGB2
= CALL_metamodel___static_type___MMType___is_valid(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4691 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
4692 if (UNTAG_Bool(REGB2
)) {
4695 /* syntax/syntax_base.nit:719 */
4696 fra
.me
.REG
[6] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4697 /* syntax/syntax_base.nit:720 */
4698 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMType___adapt_to(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
4699 fra
.me
.REG
[6] = fra
.me
.REG
[7];
4700 /* syntax/syntax_base.nit:721 */
4701 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]);
4702 /* ../lib/standard/kernel.nit:357 */
4704 /* ../lib/standard/kernel.nit:238 */
4705 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
4706 /* ../lib/standard/kernel.nit:357 */
4709 /* ../lib/standard/kernel.nit:355 */
4716 stack_frame_head
= fra
.me
.prev
;
4719 static const char LOCATE_syntax___syntax_base___AExpr___is_typed
[] = "syntax_base::AExpr::is_typed";
4720 val_t
syntax___syntax_base___AExpr___is_typed(val_t p0
){
4721 struct {struct stack_frame_t me
;} fra
;
4723 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4724 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4726 fra
.me
.meth
= LOCATE_syntax___syntax_base___AExpr___is_typed
;
4727 fra
.me
.has_broke
= 0;
4728 fra
.me
.REG_size
= 0;
4729 fra
.me
.nitni_local_ref_head
= NULL
;
4730 /* syntax/syntax_base.nit:728 */
4731 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 728);
4732 stack_frame_head
= fra
.me
.prev
;
4735 static const char LOCATE_syntax___syntax_base___AExpr___is_statement
[] = "syntax_base::AExpr::is_statement";
4736 val_t
syntax___syntax_base___AExpr___is_statement(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___AExpr___is_statement
;
4743 fra
.me
.has_broke
= 0;
4744 fra
.me
.REG_size
= 0;
4745 fra
.me
.nitni_local_ref_head
= NULL
;
4746 /* syntax/syntax_base.nit:733 */
4747 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 733);
4748 stack_frame_head
= fra
.me
.prev
;
4751 static const char LOCATE_syntax___syntax_base___AExpr___stype
[] = "syntax_base::AExpr::stype";
4752 val_t
syntax___syntax_base___AExpr___stype(val_t p0
){
4753 struct {struct stack_frame_t me
;} fra
;
4755 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4756 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4758 fra
.me
.meth
= LOCATE_syntax___syntax_base___AExpr___stype
;
4759 fra
.me
.has_broke
= 0;
4760 fra
.me
.REG_size
= 0;
4761 fra
.me
.nitni_local_ref_head
= NULL
;
4762 /* syntax/syntax_base.nit:737 */
4763 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 737);
4764 stack_frame_head
= fra
.me
.prev
;
4767 static const char LOCATE_syntax___syntax_base___AAbsAbsSendExpr___prop_signature
[] = "syntax_base::AAbsAbsSendExpr::prop_signature";
4768 val_t
syntax___syntax_base___AAbsAbsSendExpr___prop_signature(val_t p0
){
4769 struct {struct stack_frame_t me
;} fra
;
4771 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4772 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4774 fra
.me
.meth
= LOCATE_syntax___syntax_base___AAbsAbsSendExpr___prop_signature
;
4775 fra
.me
.has_broke
= 0;
4776 fra
.me
.REG_size
= 0;
4777 fra
.me
.nitni_local_ref_head
= NULL
;
4778 /* syntax/syntax_base.nit:744 */
4779 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 744);
4780 stack_frame_head
= fra
.me
.prev
;
4783 static const char LOCATE_syntax___syntax_base___AAbsAbsSendExpr___raw_arguments
[] = "syntax_base::AAbsAbsSendExpr::raw_arguments";
4784 val_t
syntax___syntax_base___AAbsAbsSendExpr___raw_arguments(val_t p0
){
4785 struct {struct stack_frame_t me
;} fra
;
4787 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4788 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4790 fra
.me
.meth
= LOCATE_syntax___syntax_base___AAbsAbsSendExpr___raw_arguments
;
4791 fra
.me
.has_broke
= 0;
4792 fra
.me
.REG_size
= 0;
4793 fra
.me
.nitni_local_ref_head
= NULL
;
4794 /* syntax/syntax_base.nit:747 */
4795 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 747);
4796 stack_frame_head
= fra
.me
.prev
;
4799 static const char LOCATE_syntax___syntax_base___AAbsSendExpr___prop
[] = "syntax_base::AAbsSendExpr::prop";
4800 val_t
syntax___syntax_base___AAbsSendExpr___prop(val_t p0
){
4801 struct {struct stack_frame_t me
;} fra
;
4803 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4804 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4806 fra
.me
.meth
= LOCATE_syntax___syntax_base___AAbsSendExpr___prop
;
4807 fra
.me
.has_broke
= 0;
4808 fra
.me
.REG_size
= 0;
4809 fra
.me
.nitni_local_ref_head
= NULL
;
4810 /* syntax/syntax_base.nit:753 */
4811 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 753);
4812 stack_frame_head
= fra
.me
.prev
;
4815 static const char LOCATE_syntax___syntax_base___AAbsSendExpr___return_type
[] = "syntax_base::AAbsSendExpr::return_type";
4816 val_t
syntax___syntax_base___AAbsSendExpr___return_type(val_t p0
){
4817 struct {struct stack_frame_t me
;} fra
;
4819 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4820 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4822 fra
.me
.meth
= LOCATE_syntax___syntax_base___AAbsSendExpr___return_type
;
4823 fra
.me
.has_broke
= 0;
4824 fra
.me
.REG_size
= 0;
4825 fra
.me
.nitni_local_ref_head
= NULL
;
4826 /* syntax/syntax_base.nit:756 */
4827 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 756);
4828 stack_frame_head
= fra
.me
.prev
;
4831 static const char LOCATE_syntax___syntax_base___ASuperExpr___init_in_superclass
[] = "syntax_base::ASuperExpr::init_in_superclass";
4832 val_t
syntax___syntax_base___ASuperExpr___init_in_superclass(val_t p0
){
4833 struct {struct stack_frame_t me
;} fra
;
4835 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4836 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4838 fra
.me
.meth
= LOCATE_syntax___syntax_base___ASuperExpr___init_in_superclass
;
4839 fra
.me
.has_broke
= 0;
4840 fra
.me
.REG_size
= 0;
4841 fra
.me
.nitni_local_ref_head
= NULL
;
4842 /* syntax/syntax_base.nit:766 */
4843 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 766);
4844 stack_frame_head
= fra
.me
.prev
;
4847 static const char LOCATE_syntax___syntax_base___ASendExpr___closure_defs
[] = "syntax_base::ASendExpr::closure_defs";
4848 val_t
syntax___syntax_base___ASendExpr___closure_defs(val_t p0
){
4849 struct {struct stack_frame_t me
;} fra
;
4851 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4852 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4854 fra
.me
.meth
= LOCATE_syntax___syntax_base___ASendExpr___closure_defs
;
4855 fra
.me
.has_broke
= 0;
4856 fra
.me
.REG_size
= 0;
4857 fra
.me
.nitni_local_ref_head
= NULL
;
4858 /* syntax/syntax_base.nit:775 */
4859 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 775);
4860 stack_frame_head
= fra
.me
.prev
;
4863 static const char LOCATE_syntax___syntax_base___AReassignFormExpr___assign_method
[] = "syntax_base::AReassignFormExpr::assign_method";
4864 val_t
syntax___syntax_base___AReassignFormExpr___assign_method(val_t p0
){
4865 struct {struct stack_frame_t me
;} fra
;
4867 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4868 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4870 fra
.me
.meth
= LOCATE_syntax___syntax_base___AReassignFormExpr___assign_method
;
4871 fra
.me
.has_broke
= 0;
4872 fra
.me
.REG_size
= 0;
4873 fra
.me
.nitni_local_ref_head
= NULL
;
4874 /* syntax/syntax_base.nit:780 */
4875 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 780);
4876 stack_frame_head
= fra
.me
.prev
;
4879 static const char LOCATE_syntax___syntax_base___ASendReassignExpr___read_prop
[] = "syntax_base::ASendReassignExpr::read_prop";
4880 val_t
syntax___syntax_base___ASendReassignExpr___read_prop(val_t p0
){
4881 struct {struct stack_frame_t me
;} fra
;
4883 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4884 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4886 fra
.me
.meth
= LOCATE_syntax___syntax_base___ASendReassignExpr___read_prop
;
4887 fra
.me
.has_broke
= 0;
4888 fra
.me
.REG_size
= 0;
4889 fra
.me
.nitni_local_ref_head
= NULL
;
4890 /* syntax/syntax_base.nit:787 */
4891 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 787);
4892 stack_frame_head
= fra
.me
.prev
;
4895 static const char LOCATE_syntax___syntax_base___AAttrFormExpr___prop
[] = "syntax_base::AAttrFormExpr::prop";
4896 val_t
syntax___syntax_base___AAttrFormExpr___prop(val_t p0
){
4897 struct {struct stack_frame_t me
;} fra
;
4899 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4900 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4902 fra
.me
.meth
= LOCATE_syntax___syntax_base___AAttrFormExpr___prop
;
4903 fra
.me
.has_broke
= 0;
4904 fra
.me
.REG_size
= 0;
4905 fra
.me
.nitni_local_ref_head
= NULL
;
4906 /* syntax/syntax_base.nit:801 */
4907 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 801);
4908 stack_frame_head
= fra
.me
.prev
;
4911 static const char LOCATE_syntax___syntax_base___AAttrFormExpr___attr_type
[] = "syntax_base::AAttrFormExpr::attr_type";
4912 val_t
syntax___syntax_base___AAttrFormExpr___attr_type(val_t p0
){
4913 struct {struct stack_frame_t me
;} fra
;
4915 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4916 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4918 fra
.me
.meth
= LOCATE_syntax___syntax_base___AAttrFormExpr___attr_type
;
4919 fra
.me
.has_broke
= 0;
4920 fra
.me
.REG_size
= 0;
4921 fra
.me
.nitni_local_ref_head
= NULL
;
4922 /* syntax/syntax_base.nit:804 */
4923 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 804);
4924 stack_frame_head
= fra
.me
.prev
;
4927 static const char LOCATE_syntax___syntax_base___ASuperstringExpr___atype
[] = "syntax_base::ASuperstringExpr::atype";
4928 val_t
syntax___syntax_base___ASuperstringExpr___atype(val_t p0
){
4929 struct {struct stack_frame_t me
;} fra
;
4931 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4932 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4934 fra
.me
.meth
= LOCATE_syntax___syntax_base___ASuperstringExpr___atype
;
4935 fra
.me
.has_broke
= 0;
4936 fra
.me
.REG_size
= 0;
4937 fra
.me
.nitni_local_ref_head
= NULL
;
4938 /* syntax/syntax_base.nit:809 */
4939 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 809);
4940 stack_frame_head
= fra
.me
.prev
;
4943 static const char LOCATE_syntax___syntax_base___AVardeclExpr___variable
[] = "syntax_base::AVardeclExpr::variable";
4944 val_t
syntax___syntax_base___AVardeclExpr___variable(val_t p0
){
4945 struct {struct stack_frame_t me
;} fra
;
4947 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4948 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4950 fra
.me
.meth
= LOCATE_syntax___syntax_base___AVardeclExpr___variable
;
4951 fra
.me
.has_broke
= 0;
4952 fra
.me
.REG_size
= 0;
4953 fra
.me
.nitni_local_ref_head
= NULL
;
4954 /* syntax/syntax_base.nit:813 */
4955 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 813);
4956 stack_frame_head
= fra
.me
.prev
;
4959 static const char LOCATE_syntax___syntax_base___AForExpr___variables
[] = "syntax_base::AForExpr::variables";
4960 val_t
syntax___syntax_base___AForExpr___variables(val_t p0
){
4961 struct {struct stack_frame_t me
;} fra
;
4963 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4964 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4966 fra
.me
.meth
= LOCATE_syntax___syntax_base___AForExpr___variables
;
4967 fra
.me
.has_broke
= 0;
4968 fra
.me
.REG_size
= 0;
4969 fra
.me
.nitni_local_ref_head
= NULL
;
4970 /* syntax/syntax_base.nit:819 */
4971 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 819);
4972 stack_frame_head
= fra
.me
.prev
;
4975 static const char LOCATE_syntax___syntax_base___ASelfExpr___variable
[] = "syntax_base::ASelfExpr::variable";
4976 val_t
syntax___syntax_base___ASelfExpr___variable(val_t p0
){
4977 struct {struct stack_frame_t me
;} fra
;
4979 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4980 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4982 fra
.me
.meth
= LOCATE_syntax___syntax_base___ASelfExpr___variable
;
4983 fra
.me
.has_broke
= 0;
4984 fra
.me
.REG_size
= 0;
4985 fra
.me
.nitni_local_ref_head
= NULL
;
4986 /* syntax/syntax_base.nit:824 */
4987 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 824);
4988 stack_frame_head
= fra
.me
.prev
;
4991 static const char LOCATE_syntax___syntax_base___AVarFormExpr___variable
[] = "syntax_base::AVarFormExpr::variable";
4992 val_t
syntax___syntax_base___AVarFormExpr___variable(val_t p0
){
4993 struct {struct stack_frame_t me
;} fra
;
4995 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4996 fra
.me
.file
= LOCATE_syntax___syntax_base
;
4998 fra
.me
.meth
= LOCATE_syntax___syntax_base___AVarFormExpr___variable
;
4999 fra
.me
.has_broke
= 0;
5000 fra
.me
.REG_size
= 0;
5001 fra
.me
.nitni_local_ref_head
= NULL
;
5002 /* syntax/syntax_base.nit:829 */
5003 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 829);
5004 stack_frame_head
= fra
.me
.prev
;
5007 static const char LOCATE_syntax___syntax_base___AClosureCallExpr___variable
[] = "syntax_base::AClosureCallExpr::variable";
5008 val_t
syntax___syntax_base___AClosureCallExpr___variable(val_t p0
){
5009 struct {struct stack_frame_t me
;} fra
;
5011 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5012 fra
.me
.file
= LOCATE_syntax___syntax_base
;
5014 fra
.me
.meth
= LOCATE_syntax___syntax_base___AClosureCallExpr___variable
;
5015 fra
.me
.has_broke
= 0;
5016 fra
.me
.REG_size
= 0;
5017 fra
.me
.nitni_local_ref_head
= NULL
;
5018 /* syntax/syntax_base.nit:835 */
5019 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 835);
5020 stack_frame_head
= fra
.me
.prev
;
5023 static const char LOCATE_syntax___syntax_base___AClosureDef___closure
[] = "syntax_base::AClosureDef::closure";
5024 val_t
syntax___syntax_base___AClosureDef___closure(val_t p0
){
5025 struct {struct stack_frame_t me
;} fra
;
5027 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5028 fra
.me
.file
= LOCATE_syntax___syntax_base
;
5030 fra
.me
.meth
= LOCATE_syntax___syntax_base___AClosureDef___closure
;
5031 fra
.me
.has_broke
= 0;
5032 fra
.me
.REG_size
= 0;
5033 fra
.me
.nitni_local_ref_head
= NULL
;
5034 /* syntax/syntax_base.nit:840 */
5035 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 840);
5036 stack_frame_head
= fra
.me
.prev
;
5039 static const char LOCATE_syntax___syntax_base___AClosureDef___variables
[] = "syntax_base::AClosureDef::variables";
5040 val_t
syntax___syntax_base___AClosureDef___variables(val_t p0
){
5041 struct {struct stack_frame_t me
;} fra
;
5043 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5044 fra
.me
.file
= LOCATE_syntax___syntax_base
;
5046 fra
.me
.meth
= LOCATE_syntax___syntax_base___AClosureDef___variables
;
5047 fra
.me
.has_broke
= 0;
5048 fra
.me
.REG_size
= 1;
5049 fra
.me
.nitni_local_ref_head
= NULL
;
5050 fra
.me
.REG
[0] = NIT_NULL
;
5052 /* syntax/syntax_base.nit:843 */
5053 fra
.me
.REG
[0] = ATTR_syntax___syntax_base___AClosureDef____variables(fra
.me
.REG
[0]);
5054 stack_frame_head
= fra
.me
.prev
;
5055 return fra
.me
.REG
[0];
5057 static const char LOCATE_syntax___syntax_base___AClosureDef___variables__eq
[] = "syntax_base::AClosureDef::variables=";
5058 void syntax___syntax_base___AClosureDef___variables__eq(val_t p0
, val_t p1
){
5059 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
5061 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5062 fra
.me
.file
= LOCATE_syntax___syntax_base
;
5064 fra
.me
.meth
= LOCATE_syntax___syntax_base___AClosureDef___variables__eq
;
5065 fra
.me
.has_broke
= 0;
5066 fra
.me
.REG_size
= 2;
5067 fra
.me
.nitni_local_ref_head
= NULL
;
5068 fra
.me
.REG
[0] = NIT_NULL
;
5069 fra
.me
.REG
[1] = NIT_NULL
;
5072 /* syntax/syntax_base.nit:843 */
5073 ATTR_syntax___syntax_base___AClosureDef____variables(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
5074 stack_frame_head
= fra
.me
.prev
;
5077 static const char LOCATE_syntax___syntax_base___AMethid___name
[] = "syntax_base::AMethid::name";
5078 val_t
syntax___syntax_base___AMethid___name(val_t p0
){
5079 struct {struct stack_frame_t me
;} fra
;
5081 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5082 fra
.me
.file
= LOCATE_syntax___syntax_base
;
5084 fra
.me
.meth
= LOCATE_syntax___syntax_base___AMethid___name
;
5085 fra
.me
.has_broke
= 0;
5086 fra
.me
.REG_size
= 0;
5087 fra
.me
.nitni_local_ref_head
= NULL
;
5088 /* syntax/syntax_base.nit:848 */
5089 nit_abort("Deferred method called", NULL
, LOCATE_syntax___syntax_base
, 848);
5090 stack_frame_head
= fra
.me
.prev
;
5093 static const char LOCATE_syntax___syntax_base___AExprs___to_a
[] = "syntax_base::AExprs::to_a";
5094 val_t
syntax___syntax_base___AExprs___to_a(val_t p0
){
5095 struct {struct stack_frame_t me
;} fra
;
5097 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5098 fra
.me
.file
= LOCATE_syntax___syntax_base
;
5100 fra
.me
.meth
= LOCATE_syntax___syntax_base___AExprs___to_a
;
5101 fra
.me
.has_broke
= 0;
5102 fra
.me
.REG_size
= 1;
5103 fra
.me
.nitni_local_ref_head
= NULL
;
5104 fra
.me
.REG
[0] = NIT_NULL
;
5106 /* syntax/syntax_base.nit:854 */
5107 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AExprs___n_exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5108 fra
.me
.REG
[0] = CALL_standard___collection___array___Collection___to_a(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5111 stack_frame_head
= fra
.me
.prev
;
5112 return fra
.me
.REG
[0];