1 /* This C file is generated by NIT to compile module syntax___mmbuilder. */
2 #include "syntax___mmbuilder._sep.h"
3 static const char LOCATE_syntax___mmbuilder___ToolContext___handle_property_conflict
[] = "mmbuilder::ToolContext::(inheritance::MMContext::handle_property_conflict)";
4 void syntax___mmbuilder___ToolContext___handle_property_conflict(val_t p0
, val_t p1
, val_t p2
){
5 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
10 static val_t once_value_2
; /* Once value */
11 static val_t once_value_3
; /* Once value */
12 static val_t once_value_4
; /* Once value */
13 static val_t once_value_5
; /* Once value */
14 static val_t once_value_6
; /* Once value */
15 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
18 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ToolContext___handle_property_conflict
;
21 fra
.me
.nitni_local_ref_head
= NULL
;
22 fra
.me
.REG
[0] = NIT_NULL
;
23 fra
.me
.REG
[1] = NIT_NULL
;
24 fra
.me
.REG
[2] = NIT_NULL
;
25 fra
.me
.REG
[3] = NIT_NULL
;
26 fra
.me
.REG
[4] = NIT_NULL
;
27 fra
.me
.REG
[5] = NIT_NULL
;
28 fra
.me
.REG
[6] = NIT_NULL
;
29 fra
.me
.REG
[7] = NIT_NULL
;
33 /* syntax/mmbuilder.nit:28 */
34 fra
.me
.REG
[3] = NIT_NULL
;
35 /* syntax/mmbuilder.nit:29 */
36 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], COLOR_syntax___syntax_base___MMSrcLocalClass
, ID_syntax___syntax_base___MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
37 if (UNTAG_Bool(REGB0
)) {
38 /* syntax/mmbuilder.nit:30 */
39 fra
.me
.REG
[4] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
40 /* syntax/mmbuilder.nit:31 */
41 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
42 if (UNTAG_Bool(REGB0
)) {
44 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
45 if (UNTAG_Bool(REGB1
)) {
49 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
53 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
54 if (UNTAG_Bool(REGB0
)) {
55 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
56 if (UNTAG_Bool(REGB0
)) {
57 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 31);
59 CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
62 /* syntax/mmbuilder.nit:34 */
63 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___init();
64 /* ../lib/standard/collection/array.nit:266 */
65 fra
.me
.REG
[5] = fra
.me
.REG
[2];
66 /* ../lib/standard/collection/array.nit:269 */
68 /* ../lib/standard/collection/array.nit:270 */
69 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
70 if (UNTAG_Bool(REGB1
)) {
72 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
74 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
75 /* ../lib/standard/collection/array.nit:271 */
76 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
77 /* ../lib/standard/collection/array.nit:272 */
79 /* ../lib/standard/collection/array.nit:24 */
80 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
81 if (UNTAG_Bool(REGB1
)) {
83 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
85 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
86 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
87 if (UNTAG_Bool(REGB2
)) {
89 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
91 /* ../lib/standard/kernel.nit:235 */
92 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
93 /* ../lib/standard/collection/array.nit:272 */
94 if (UNTAG_Bool(REGB1
)) {
95 /* ../lib/standard/collection/array.nit:273 */
96 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
97 if (UNTAG_Bool(REGB1
)) {
98 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
100 /* ../lib/standard/collection/array.nit:718 */
101 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
102 /* syntax/mmbuilder.nit:36 */
103 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
104 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
105 /* ../lib/standard/collection/array.nit:274 */
107 /* ../lib/standard/kernel.nit:238 */
108 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
109 /* ../lib/standard/collection/array.nit:274 */
112 /* ../lib/standard/collection/array.nit:272 */
117 /* syntax/mmbuilder.nit:38 */
119 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
121 fra
.me
.REG
[5] = BOX_NativeString("Property inheritance conflict in class ");
123 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
124 once_value_2
= fra
.me
.REG
[5];
125 register_static_object(&once_value_2
);
126 } else fra
.me
.REG
[5] = once_value_2
;
127 fra
.me
.REG
[5] = fra
.me
.REG
[5];
128 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
129 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
130 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1]);
132 fra
.me
.REG
[1] = BOX_NativeString(" for `");
134 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
135 once_value_3
= fra
.me
.REG
[1];
136 register_static_object(&once_value_3
);
137 } else fra
.me
.REG
[1] = once_value_3
;
138 fra
.me
.REG
[1] = fra
.me
.REG
[1];
139 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1]);
140 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
141 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
142 if (UNTAG_Bool(REGB0
)) {
143 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 38);
145 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
146 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
147 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
149 fra
.me
.REG
[2] = BOX_NativeString("': conflicting properties are defined in ");
151 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
152 once_value_4
= fra
.me
.REG
[2];
153 register_static_object(&once_value_4
);
154 } else fra
.me
.REG
[2] = once_value_4
;
155 fra
.me
.REG
[2] = fra
.me
.REG
[2];
156 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
158 fra
.me
.REG
[2] = BOX_NativeString(", ");
160 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
161 once_value_5
= fra
.me
.REG
[2];
162 register_static_object(&once_value_5
);
163 } else fra
.me
.REG
[2] = once_value_5
;
164 fra
.me
.REG
[2] = fra
.me
.REG
[2];
165 fra
.me
.REG
[2] = CALL_standard___string___Collection___join(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
166 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
168 fra
.me
.REG
[2] = BOX_NativeString("");
170 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
171 once_value_6
= fra
.me
.REG
[2];
172 register_static_object(&once_value_6
);
173 } else fra
.me
.REG
[2] = once_value_6
;
174 fra
.me
.REG
[2] = fra
.me
.REG
[2];
175 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
176 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
177 CALL_toolcontext___ToolContext___fatal_error(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], fra
.me
.REG
[6]);
178 stack_frame_head
= fra
.me
.prev
;
181 static const char LOCATE_syntax___mmbuilder___CSHSorter___compare
[] = "mmbuilder::CSHSorter::(sorter::AbstractSorter::compare)";
182 val_t
syntax___mmbuilder___CSHSorter___compare(val_t p0
, val_t p1
, val_t p2
){
183 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
187 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
188 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
190 fra
.me
.meth
= LOCATE_syntax___mmbuilder___CSHSorter___compare
;
191 fra
.me
.has_broke
= 0;
193 fra
.me
.nitni_local_ref_head
= NULL
;
194 fra
.me
.REG
[0] = NIT_NULL
;
195 fra
.me
.REG
[1] = NIT_NULL
;
196 fra
.me
.REG
[2] = NIT_NULL
;
200 /* syntax/mmbuilder.nit:47 */
201 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
202 REGB0
= CALL_metamodel___partial_order___PartialOrderElement___rank(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
203 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
204 REGB1
= CALL_metamodel___partial_order___PartialOrderElement___rank(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
205 REGB1
= CALL_standard___kernel___Comparable_____leqg(REGB0
)(REGB0
, REGB1
);
208 stack_frame_head
= fra
.me
.prev
;
211 static const char LOCATE_syntax___mmbuilder___CSHSorter___init
[] = "mmbuilder::CSHSorter::init";
212 void syntax___mmbuilder___CSHSorter___init(val_t p0
, int* init_table
){
213 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___CSHSorter
].i
;
214 struct {struct stack_frame_t me
;} fra
;
216 if (init_table
[itpos0
]) return;
217 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
218 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
220 fra
.me
.meth
= LOCATE_syntax___mmbuilder___CSHSorter___init
;
221 fra
.me
.has_broke
= 0;
223 fra
.me
.nitni_local_ref_head
= NULL
;
224 fra
.me
.REG
[0] = NIT_NULL
;
226 stack_frame_head
= fra
.me
.prev
;
227 init_table
[itpos0
] = 1;
230 static const char LOCATE_syntax___mmbuilder___MMSrcModule___do_mmbuilder
[] = "mmbuilder::MMSrcModule::do_mmbuilder";
231 void syntax___mmbuilder___MMSrcModule___do_mmbuilder(val_t p0
, val_t p1
){
232 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
237 static val_t once_value_3
; /* Once value */
238 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
239 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
241 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcModule___do_mmbuilder
;
242 fra
.me
.has_broke
= 0;
244 fra
.me
.nitni_local_ref_head
= NULL
;
245 fra
.me
.REG
[0] = NIT_NULL
;
246 fra
.me
.REG
[1] = NIT_NULL
;
247 fra
.me
.REG
[2] = NIT_NULL
;
248 fra
.me
.REG
[3] = NIT_NULL
;
249 fra
.me
.REG
[4] = NIT_NULL
;
250 fra
.me
.REG
[5] = NIT_NULL
;
251 fra
.me
.REG
[6] = NIT_NULL
;
252 fra
.me
.REG
[7] = NIT_NULL
;
255 /* syntax/mmbuilder.nit:59 */
256 CALL_metamodel___inheritance___MMModule___import_global_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
257 /* syntax/mmbuilder.nit:62 */
258 fra
.me
.REG
[2] = NEW_ClassBuilderVisitor_syntax___mmbuilder___ClassBuilderVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
259 /* syntax/mmbuilder.nit:63 */
260 fra
.me
.REG
[3] = CALL_syntax___syntax_base___MMSrcModule___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
261 CALL_parser___parser_prod___Visitor___enter_visit(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
262 /* syntax/mmbuilder.nit:64 */
263 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
264 /* syntax/mmbuilder.nit:66 */
265 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___mhe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
266 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
267 if (UNTAG_Bool(REGB0
)) {
268 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 66);
270 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
271 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
272 if (UNTAG_Bool(REGB0
)) {
273 /* syntax/mmbuilder.nit:67 */
274 CALL_syntax___mmbuilder___MMSrcModule___process_default_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
276 /* syntax/mmbuilder.nit:71 */
277 CALL_metamodel___inheritance___MMModule___import_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
278 /* syntax/mmbuilder.nit:74 */
279 fra
.me
.REG
[3] = NEW_ClassSpecializationBuilderVisitor_syntax___mmbuilder___ClassSpecializationBuilderVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
280 /* syntax/mmbuilder.nit:75 */
281 fra
.me
.REG
[2] = CALL_syntax___syntax_base___MMSrcModule___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
282 CALL_parser___parser_prod___Visitor___enter_visit(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
283 /* syntax/mmbuilder.nit:76 */
284 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
285 /* syntax/mmbuilder.nit:79 */
286 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
287 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___MMSrcModule___do_mmbuilder_1
));
288 /* syntax/mmbuilder.nit:85 */
289 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
290 /* syntax/mmbuilder.nit:90 */
291 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___class_specialization_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
292 fra
.me
.REG
[2] = CALL_standard___collection___array___Collection___to_a(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
293 /* syntax/mmbuilder.nit:93 */
295 fra
.me
.REG
[3] = NEW_CSHSorter_syntax___mmbuilder___CSHSorter___init();
296 once_value_3
= fra
.me
.REG
[3];
297 register_static_object(&once_value_3
);
298 } else fra
.me
.REG
[3] = once_value_3
;
299 fra
.me
.REG
[3] = fra
.me
.REG
[3];
300 /* syntax/mmbuilder.nit:94 */
301 CALL_standard___collection___sorter___AbstractSorter___sort(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
302 /* syntax/mmbuilder.nit:97 */
303 fra
.me
.REG
[3] = NEW_ClassAncestorBuilder_syntax___mmbuilder___ClassAncestorBuilder___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
304 /* ../lib/standard/collection/array.nit:266 */
305 fra
.me
.REG
[4] = fra
.me
.REG
[2];
306 /* ../lib/standard/collection/array.nit:269 */
308 /* ../lib/standard/collection/array.nit:270 */
309 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
310 if (UNTAG_Bool(REGB1
)) {
312 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
314 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
315 /* ../lib/standard/collection/array.nit:271 */
316 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
317 /* ../lib/standard/collection/array.nit:272 */
319 /* ../lib/standard/collection/array.nit:24 */
320 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
321 if (UNTAG_Bool(REGB1
)) {
323 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
325 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
326 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
327 if (UNTAG_Bool(REGB2
)) {
329 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
331 /* ../lib/standard/kernel.nit:235 */
332 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
333 /* ../lib/standard/collection/array.nit:272 */
334 if (UNTAG_Bool(REGB1
)) {
335 /* ../lib/standard/collection/array.nit:273 */
336 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
337 if (UNTAG_Bool(REGB1
)) {
338 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
340 /* ../lib/standard/collection/array.nit:718 */
341 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
342 /* syntax/mmbuilder.nit:99 */
343 CALL_syntax___mmbuilder___MMLocalClass___accept_class_visitor(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
344 /* syntax/mmbuilder.nit:100 */
345 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
346 /* syntax/mmbuilder.nit:101 */
347 CALL_metamodel___inheritance___MMLocalClass___compute_ancestors(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
348 /* ../lib/standard/collection/array.nit:274 */
350 /* ../lib/standard/kernel.nit:238 */
351 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
352 /* ../lib/standard/collection/array.nit:274 */
355 /* ../lib/standard/collection/array.nit:272 */
360 /* syntax/mmbuilder.nit:105 */
361 fra
.me
.REG
[3] = NEW_ClassVerifierVisitor_syntax___mmbuilder___ClassVerifierVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
362 /* ../lib/standard/collection/array.nit:266 */
363 fra
.me
.REG
[5] = fra
.me
.REG
[2];
364 /* ../lib/standard/collection/array.nit:269 */
366 /* ../lib/standard/collection/array.nit:270 */
367 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
368 if (UNTAG_Bool(REGB1
)) {
370 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
372 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
373 /* ../lib/standard/collection/array.nit:271 */
374 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
375 /* ../lib/standard/collection/array.nit:272 */
377 /* ../lib/standard/collection/array.nit:24 */
378 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
379 if (UNTAG_Bool(REGB1
)) {
381 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
383 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
384 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
385 if (UNTAG_Bool(REGB2
)) {
387 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
389 /* ../lib/standard/kernel.nit:235 */
390 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
391 /* ../lib/standard/collection/array.nit:272 */
392 if (UNTAG_Bool(REGB1
)) {
393 /* ../lib/standard/collection/array.nit:273 */
394 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
395 if (UNTAG_Bool(REGB1
)) {
396 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
398 /* ../lib/standard/collection/array.nit:718 */
399 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
400 /* syntax/mmbuilder.nit:107 */
401 CALL_syntax___mmbuilder___MMLocalClass___accept_class_visitor(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
402 /* ../lib/standard/collection/array.nit:274 */
404 /* ../lib/standard/kernel.nit:238 */
405 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
406 /* ../lib/standard/collection/array.nit:274 */
409 /* ../lib/standard/collection/array.nit:272 */
414 /* syntax/mmbuilder.nit:109 */
415 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
416 /* syntax/mmbuilder.nit:112 */
417 fra
.me
.REG
[3] = NEW_PropertyBuilderVisitor_syntax___mmbuilder___PropertyBuilderVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
418 /* ../lib/standard/collection/array.nit:266 */
419 fra
.me
.REG
[4] = fra
.me
.REG
[2];
420 /* ../lib/standard/collection/array.nit:269 */
422 /* ../lib/standard/collection/array.nit:270 */
423 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
424 if (UNTAG_Bool(REGB1
)) {
426 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
428 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
429 /* ../lib/standard/collection/array.nit:271 */
430 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
431 /* ../lib/standard/collection/array.nit:272 */
433 /* ../lib/standard/collection/array.nit:24 */
434 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
435 if (UNTAG_Bool(REGB1
)) {
437 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
439 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
440 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
441 if (UNTAG_Bool(REGB2
)) {
443 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
445 /* ../lib/standard/kernel.nit:235 */
446 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
447 /* ../lib/standard/collection/array.nit:272 */
448 if (UNTAG_Bool(REGB1
)) {
449 /* ../lib/standard/collection/array.nit:273 */
450 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
451 if (UNTAG_Bool(REGB1
)) {
452 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
454 /* ../lib/standard/collection/array.nit:718 */
455 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
456 /* syntax/mmbuilder.nit:115 */
457 CALL_syntax___mmbuilder___MMLocalClass___accept_class_visitor(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
458 /* syntax/mmbuilder.nit:118 */
459 REGB1
= TAG_Bool(VAL_ISA(fra
.me
.REG
[6], COLOR_syntax___syntax_base___MMSrcLocalClass
, ID_syntax___syntax_base___MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
460 if (UNTAG_Bool(REGB1
)) {
461 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
462 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
463 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[7],fra
.me
.REG
[6]));
464 if (UNTAG_Bool(REGB1
)) {
466 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
473 if (UNTAG_Bool(REGB1
)) {
474 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
475 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
476 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
481 if (UNTAG_Bool(REGB1
)) {
482 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
483 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
484 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
489 if (UNTAG_Bool(REGB1
)) {
490 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
491 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
492 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
497 if (UNTAG_Bool(REGB1
)) {
498 /* syntax/mmbuilder.nit:119 */
499 CALL_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
501 /* ../lib/standard/collection/array.nit:274 */
503 /* ../lib/standard/kernel.nit:238 */
504 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
505 /* ../lib/standard/collection/array.nit:274 */
508 /* ../lib/standard/collection/array.nit:272 */
513 /* syntax/mmbuilder.nit:124 */
514 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
515 /* syntax/mmbuilder.nit:127 */
516 fra
.me
.REG
[0] = NEW_PropertyVerifierVisitor_syntax___mmbuilder___PropertyVerifierVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
517 /* ../lib/standard/collection/array.nit:269 */
519 /* ../lib/standard/collection/array.nit:270 */
520 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
521 if (UNTAG_Bool(REGB1
)) {
523 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
525 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
526 /* ../lib/standard/collection/array.nit:271 */
527 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
528 /* ../lib/standard/collection/array.nit:272 */
530 /* ../lib/standard/collection/array.nit:24 */
531 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
532 if (UNTAG_Bool(REGB1
)) {
534 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
536 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
537 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
538 if (UNTAG_Bool(REGB2
)) {
540 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
542 /* ../lib/standard/kernel.nit:235 */
543 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
544 /* ../lib/standard/collection/array.nit:272 */
545 if (UNTAG_Bool(REGB1
)) {
546 /* ../lib/standard/collection/array.nit:273 */
547 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
548 if (UNTAG_Bool(REGB1
)) {
549 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
551 /* ../lib/standard/collection/array.nit:718 */
552 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
553 /* syntax/mmbuilder.nit:129 */
554 CALL_syntax___mmbuilder___MMLocalClass___accept_properties_visitor(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
555 /* ../lib/standard/collection/array.nit:274 */
557 /* ../lib/standard/kernel.nit:238 */
558 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
559 /* ../lib/standard/collection/array.nit:274 */
562 /* ../lib/standard/collection/array.nit:272 */
567 /* syntax/mmbuilder.nit:132 */
568 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
569 stack_frame_head
= fra
.me
.prev
;
572 void OC_syntax___mmbuilder___MMSrcModule___do_mmbuilder_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
573 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
579 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
580 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
582 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcModule___do_mmbuilder
;
583 fra
.me
.has_broke
= 0;
585 fra
.me
.nitni_local_ref_head
= NULL
;
586 fra
.me
.REG
[0] = NIT_NULL
;
587 fra
.me
.REG
[1] = NIT_NULL
;
588 fra
.me
.closure_ctx
= closctx_param
;
589 fra
.me
.closure_funs
= CREG
;
592 /* syntax/mmbuilder.nit:80 */
593 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
594 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
595 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
596 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___visibility_for(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[1]);
597 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
598 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
599 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
600 if (UNTAG_Bool(REGB2
)) {
602 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
604 /* ../lib/standard/kernel.nit:235 */
605 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
606 /* syntax/mmbuilder.nit:80 */
607 if (UNTAG_Bool(REGB1
)) {
608 /* syntax/mmbuilder.nit:81 */
611 /* syntax/mmbuilder.nit:83 */
612 CALL_metamodel___inheritance___MMLocalClass___compute_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
614 stack_frame_head
= fra
.me
.prev
;
617 static const char LOCATE_syntax___mmbuilder___MMSrcModule___process_default_classes
[] = "mmbuilder::MMSrcModule::process_default_classes";
618 void syntax___mmbuilder___MMSrcModule___process_default_classes(val_t p0
, val_t p1
){
619 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
622 static val_t once_value_1
; /* Once value */
623 static val_t once_value_2
; /* Once value */
624 static val_t once_value_3
; /* Once value */
625 static val_t once_value_4
; /* Once value */
626 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
627 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
629 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcModule___process_default_classes
;
630 fra
.me
.has_broke
= 0;
632 fra
.me
.nitni_local_ref_head
= NULL
;
633 fra
.me
.REG
[0] = NIT_NULL
;
634 fra
.me
.REG
[1] = NIT_NULL
;
635 fra
.me
.REG
[2] = NIT_NULL
;
636 fra
.me
.REG
[3] = NIT_NULL
;
639 /* syntax/mmbuilder.nit:138 */
642 fra
.me
.REG
[1] = BOX_NativeString("Object");
644 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
645 once_value_2
= fra
.me
.REG
[1];
646 register_static_object(&once_value_2
);
647 } else fra
.me
.REG
[1] = once_value_2
;
648 fra
.me
.REG
[1] = fra
.me
.REG
[1];
649 fra
.me
.REG
[1] = CALL_symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
650 once_value_1
= fra
.me
.REG
[1];
651 register_static_object(&once_value_1
);
652 } else fra
.me
.REG
[1] = once_value_1
;
653 fra
.me
.REG
[1] = fra
.me
.REG
[1];
654 /* syntax/mmbuilder.nit:139 */
655 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
656 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
657 if (UNTAG_Bool(REGB0
)) {
658 /* syntax/mmbuilder.nit:140 */
660 fra
.me
.REG
[2] = NEW_MMSrcLocalClass_syntax___syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[0], fra
.me
.REG
[1], NIT_NULL
, REGB0
);
661 /* syntax/mmbuilder.nit:141 */
662 CALL_metamodel___abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
663 /* syntax/mmbuilder.nit:142 */
664 fra
.me
.REG
[3] = CALL_syntax___syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
665 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[2]);
667 /* syntax/mmbuilder.nit:144 */
670 fra
.me
.REG
[2] = BOX_NativeString("Bool");
672 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
673 once_value_4
= fra
.me
.REG
[2];
674 register_static_object(&once_value_4
);
675 } else fra
.me
.REG
[2] = once_value_4
;
676 fra
.me
.REG
[2] = fra
.me
.REG
[2];
677 fra
.me
.REG
[2] = CALL_symbol___String___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
678 once_value_3
= fra
.me
.REG
[2];
679 register_static_object(&once_value_3
);
680 } else fra
.me
.REG
[2] = once_value_3
;
681 fra
.me
.REG
[2] = fra
.me
.REG
[2];
682 fra
.me
.REG
[1] = fra
.me
.REG
[2];
683 /* syntax/mmbuilder.nit:145 */
684 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
685 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
686 if (UNTAG_Bool(REGB0
)) {
687 /* syntax/mmbuilder.nit:146 */
689 fra
.me
.REG
[2] = NEW_MMSrcLocalClass_syntax___syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[0], fra
.me
.REG
[1], NIT_NULL
, REGB0
);
690 /* syntax/mmbuilder.nit:147 */
691 CALL_metamodel___abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
692 /* syntax/mmbuilder.nit:148 */
693 fra
.me
.REG
[0] = CALL_syntax___syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
694 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
696 stack_frame_head
= fra
.me
.prev
;
699 static const char LOCATE_syntax___mmbuilder___MMLocalClass___accept_class_visitor
[] = "mmbuilder::MMLocalClass::accept_class_visitor";
700 void syntax___mmbuilder___MMLocalClass___accept_class_visitor(val_t p0
, val_t p1
){
701 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
703 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
704 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
706 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMLocalClass___accept_class_visitor
;
707 fra
.me
.has_broke
= 0;
709 fra
.me
.nitni_local_ref_head
= NULL
;
710 fra
.me
.REG
[0] = NIT_NULL
;
711 fra
.me
.REG
[1] = NIT_NULL
;
714 stack_frame_head
= fra
.me
.prev
;
717 static const char LOCATE_syntax___mmbuilder___MMLocalClass___accept_properties_visitor
[] = "mmbuilder::MMLocalClass::accept_properties_visitor";
718 void syntax___mmbuilder___MMLocalClass___accept_properties_visitor(val_t p0
, val_t p1
){
719 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
721 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
722 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
724 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMLocalClass___accept_properties_visitor
;
725 fra
.me
.has_broke
= 0;
727 fra
.me
.nitni_local_ref_head
= NULL
;
728 fra
.me
.REG
[0] = NIT_NULL
;
729 fra
.me
.REG
[1] = NIT_NULL
;
732 stack_frame_head
= fra
.me
.prev
;
735 static const char LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_class_visitor
[] = "mmbuilder::MMSrcLocalClass::(mmbuilder::MMLocalClass::accept_class_visitor)";
736 void syntax___mmbuilder___MMSrcLocalClass___accept_class_visitor(val_t p0
, val_t p1
){
737 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
741 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
742 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
744 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_class_visitor
;
745 fra
.me
.has_broke
= 0;
747 fra
.me
.nitni_local_ref_head
= NULL
;
748 fra
.me
.REG
[0] = NIT_NULL
;
749 fra
.me
.REG
[1] = NIT_NULL
;
750 fra
.me
.REG
[2] = NIT_NULL
;
753 /* syntax/mmbuilder.nit:168 */
754 fra
.me
.REG
[0] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
755 /* syntax/mmbuilder.nit:169 */
757 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
758 if (UNTAG_Bool(REGB0
)) {
760 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
761 if (UNTAG_Bool(REGB1
)) {
765 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
769 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
770 if (UNTAG_Bool(REGB0
)) {
771 /* syntax/mmbuilder.nit:170 */
772 CALL_parser___parser_prod___Visitor___enter_visit(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
773 /* syntax/mmbuilder.nit:171 */
774 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
775 if (UNTAG_Bool(REGB0
)) {
776 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 171);
778 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AClassdef___next_node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
779 fra
.me
.REG
[0] = fra
.me
.REG
[2];
781 /* syntax/mmbuilder.nit:169 */
786 stack_frame_head
= fra
.me
.prev
;
789 static const char LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor
[] = "mmbuilder::MMSrcLocalClass::(mmbuilder::MMLocalClass::accept_properties_visitor)";
790 void syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor(val_t p0
, val_t p1
){
791 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
795 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
796 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
798 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor
;
799 fra
.me
.has_broke
= 0;
801 fra
.me
.nitni_local_ref_head
= NULL
;
802 fra
.me
.REG
[0] = NIT_NULL
;
803 fra
.me
.REG
[1] = NIT_NULL
;
804 fra
.me
.REG
[2] = NIT_NULL
;
805 fra
.me
.REG
[3] = NIT_NULL
;
808 /* syntax/mmbuilder.nit:178 */
809 fra
.me
.REG
[2] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
810 /* syntax/mmbuilder.nit:179 */
812 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
813 if (UNTAG_Bool(REGB0
)) {
815 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
816 if (UNTAG_Bool(REGB1
)) {
820 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
824 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
825 if (UNTAG_Bool(REGB0
)) {
826 /* syntax/mmbuilder.nit:180 */
827 CALL_parser___parser_prod___Visitor___enter_visit(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
828 /* syntax/mmbuilder.nit:181 */
829 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
830 if (UNTAG_Bool(REGB0
)) {
831 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 181);
833 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AClassdef___next_node(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
834 fra
.me
.REG
[2] = fra
.me
.REG
[3];
836 /* syntax/mmbuilder.nit:179 */
841 /* syntax/mmbuilder.nit:184 */
842 fra
.me
.REG
[0] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
843 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead___values(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
844 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor_2
));
845 stack_frame_head
= fra
.me
.prev
;
848 void OC_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor_2(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
849 struct {struct stack_frame_t me
;} fra
;
852 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
853 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
855 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor
;
856 fra
.me
.has_broke
= 0;
858 fra
.me
.nitni_local_ref_head
= NULL
;
859 fra
.me
.REG
[0] = NIT_NULL
;
860 fra
.me
.closure_ctx
= closctx_param
;
861 fra
.me
.closure_funs
= CREG
;
864 /* syntax/mmbuilder.nit:185 */
865 CALL_syntax___mmbuilder___MMLocalProperty___accept_property_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
866 stack_frame_head
= fra
.me
.prev
;
869 static const char LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
[] = "mmbuilder::MMSrcLocalClass::process_default_constructors";
870 void syntax___mmbuilder___MMSrcLocalClass___process_default_constructors(val_t p0
, val_t p1
){
871 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
876 static val_t once_value_7
; /* Once value */
877 static val_t once_value_8
; /* Once value */
878 static val_t once_value_13
; /* Once value */
879 static val_t once_value_14
; /* Once value */
880 static val_t once_value_15
; /* Once value */
881 static val_t once_value_16
; /* Once value */
882 static val_t once_value_17
; /* Once value */
883 static val_t once_value_18
; /* Once value */
884 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
885 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
887 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
888 fra
.me
.has_broke
= 0;
889 fra
.me
.REG_size
= 11;
890 fra
.me
.nitni_local_ref_head
= NULL
;
891 fra
.me
.REG
[0] = NIT_NULL
;
892 fra
.me
.REG
[1] = NIT_NULL
;
893 fra
.me
.REG
[2] = NIT_NULL
;
894 fra
.me
.REG
[3] = NIT_NULL
;
895 fra
.me
.REG
[4] = NIT_NULL
;
896 fra
.me
.REG
[5] = NIT_NULL
;
897 fra
.me
.REG
[6] = NIT_NULL
;
898 fra
.me
.REG
[7] = NIT_NULL
;
899 fra
.me
.REG
[8] = NIT_NULL
;
900 fra
.me
.REG
[9] = NIT_NULL
;
901 fra
.me
.REG
[10] = NIT_NULL
;
904 /* syntax/mmbuilder.nit:189 */
905 fra
.me
.REG
[2] = fra
.me
.REG
[0];
906 /* syntax/mmbuilder.nit:193 */
907 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
908 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[3])(fra
.me
.REG
[3], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_1
));
909 switch ((&(fra
.me
))->has_broke
) {
911 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
913 /* syntax/mmbuilder.nit:201 */
914 fra
.me
.REG
[3] = NEW_ArraySet_standard___collection___array___ArraySet___init();
915 /* syntax/mmbuilder.nit:202 */
916 fra
.me
.REG
[4] = NEW_ArraySet_standard___collection___array___ArraySet___init();
917 /* syntax/mmbuilder.nit:203 */
918 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
919 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
920 /* ../lib/standard/collection/array.nit:269 */
922 /* ../lib/standard/collection/array.nit:270 */
923 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
924 if (UNTAG_Bool(REGB1
)) {
926 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
928 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
929 /* ../lib/standard/collection/array.nit:271 */
930 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
931 /* ../lib/standard/collection/array.nit:272 */
933 /* ../lib/standard/collection/array.nit:24 */
934 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
935 if (UNTAG_Bool(REGB1
)) {
937 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
939 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
940 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
941 if (UNTAG_Bool(REGB2
)) {
943 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
945 /* ../lib/standard/kernel.nit:235 */
946 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
947 /* ../lib/standard/collection/array.nit:272 */
948 if (UNTAG_Bool(REGB1
)) {
949 /* ../lib/standard/collection/array.nit:273 */
950 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
951 if (UNTAG_Bool(REGB1
)) {
952 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
954 /* ../lib/standard/collection/array.nit:718 */
955 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
956 /* syntax/mmbuilder.nit:204 */
957 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
958 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
959 if (UNTAG_Bool(REGB1
)) {
960 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
961 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
962 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
967 if (UNTAG_Bool(REGB1
)) {
970 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
971 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
974 if (UNTAG_Bool(REGB1
)) {
977 /* syntax/mmbuilder.nit:205 */
978 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
979 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[8])(fra
.me
.REG
[8], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_5
));
980 /* syntax/mmbuilder.nit:209 */
983 fra
.me
.REG
[8] = BOX_NativeString("init");
985 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
986 once_value_8
= fra
.me
.REG
[8];
987 register_static_object(&once_value_8
);
988 } else fra
.me
.REG
[8] = once_value_8
;
989 fra
.me
.REG
[8] = fra
.me
.REG
[8];
990 fra
.me
.REG
[8] = CALL_symbol___String___to_symbol(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
991 once_value_7
= fra
.me
.REG
[8];
992 register_static_object(&once_value_7
);
993 } else fra
.me
.REG
[8] = once_value_7
;
994 fra
.me
.REG
[8] = fra
.me
.REG
[8];
995 /* syntax/mmbuilder.nit:210 */
996 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
997 if (UNTAG_Bool(REGB1
)) {
998 /* syntax/mmbuilder.nit:211 */
999 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___get_property_by_name(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1000 /* syntax/mmbuilder.nit:212 */
1001 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[8]);
1002 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[8]);
1005 /* ../lib/standard/collection/array.nit:274 */
1007 /* ../lib/standard/kernel.nit:238 */
1008 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1009 /* ../lib/standard/collection/array.nit:274 */
1012 /* ../lib/standard/collection/array.nit:272 */
1017 /* syntax/mmbuilder.nit:217 */
1018 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___init();
1019 /* syntax/mmbuilder.nit:218 */
1020 fra
.me
.REG
[5] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1021 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___MapRead___values(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1022 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[5])(fra
.me
.REG
[5], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_10
));
1023 /* syntax/mmbuilder.nit:225 */
1024 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1025 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1026 if (UNTAG_Bool(REGB0
)) {
1027 /* syntax/mmbuilder.nit:228 */
1028 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___init();
1029 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[4])(fra
.me
.REG
[4], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_11
));
1030 /* syntax/mmbuilder.nit:236 */
1031 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1032 fra
.me
.REG
[8] = CALL_metamodel___partial_order___PartialOrderElement___order(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1033 fra
.me
.REG
[8] = CALL_metamodel___partial_order___PartialOrder___select_smallests(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
1034 fra
.me
.REG
[5] = fra
.me
.REG
[8];
1035 /* syntax/mmbuilder.nit:239 */
1036 fra
.me
.REG
[8] = NIT_NULL
;
1037 /* ../lib/standard/collection/array.nit:24 */
1038 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
1039 if (UNTAG_Bool(REGB0
)) {
1041 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1043 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
1044 /* syntax/mmbuilder.nit:241 */
1046 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1047 if (UNTAG_Bool(REGB2
)) {
1049 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1051 /* ../lib/standard/kernel.nit:237 */
1052 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
1053 /* syntax/mmbuilder.nit:241 */
1054 if (UNTAG_Bool(REGB1
)) {
1055 /* syntax/mmbuilder.nit:242 */
1056 fra
.me
.REG
[7] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1058 fra
.me
.REG
[9] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1059 if (!once_value_13
) {
1060 fra
.me
.REG
[10] = BOX_NativeString("Error: Explicit constructor required in ");
1061 REGB1
= TAG_Int(40);
1062 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
1063 once_value_13
= fra
.me
.REG
[10];
1064 register_static_object(&once_value_13
);
1065 } else fra
.me
.REG
[10] = once_value_13
;
1066 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1067 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1068 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1069 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1070 if (!once_value_14
) {
1071 fra
.me
.REG
[10] = BOX_NativeString(" since multiple inheritance of constructor is forbiden. Conflicting classes are ");
1072 REGB1
= TAG_Int(80);
1073 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
1074 once_value_14
= fra
.me
.REG
[10];
1075 register_static_object(&once_value_14
);
1076 } else fra
.me
.REG
[10] = once_value_14
;
1077 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1078 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1079 if (!once_value_15
) {
1080 fra
.me
.REG
[10] = BOX_NativeString(", ");
1082 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
1083 once_value_15
= fra
.me
.REG
[10];
1084 register_static_object(&once_value_15
);
1085 } else fra
.me
.REG
[10] = once_value_15
;
1086 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1087 fra
.me
.REG
[10] = CALL_standard___string___Collection___join(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[10]);
1088 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1089 if (!once_value_16
) {
1090 fra
.me
.REG
[10] = BOX_NativeString(". Costructors are ");
1091 REGB1
= TAG_Int(18);
1092 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
1093 once_value_16
= fra
.me
.REG
[10];
1094 register_static_object(&once_value_16
);
1095 } else fra
.me
.REG
[10] = once_value_16
;
1096 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1097 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1098 if (!once_value_17
) {
1099 fra
.me
.REG
[10] = BOX_NativeString(", ");
1101 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
1102 once_value_17
= fra
.me
.REG
[10];
1103 register_static_object(&once_value_17
);
1104 } else fra
.me
.REG
[10] = once_value_17
;
1105 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1106 fra
.me
.REG
[10] = CALL_standard___string___Collection___join(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[10]);
1107 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1108 if (!once_value_18
) {
1109 fra
.me
.REG
[10] = BOX_NativeString(".");
1111 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
1112 once_value_18
= fra
.me
.REG
[10];
1113 register_static_object(&once_value_18
);
1114 } else fra
.me
.REG
[10] = once_value_18
;
1115 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1116 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1117 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1118 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7], fra
.me
.REG
[9]);
1119 /* syntax/mmbuilder.nit:243 */
1122 /* ../lib/standard/collection/array.nit:24 */
1123 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
1124 if (UNTAG_Bool(REGB1
)) {
1126 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1128 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
1129 /* syntax/mmbuilder.nit:244 */
1131 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
1132 if (UNTAG_Bool(REGB2
)) {
1134 /* ../lib/standard/kernel.nit:230 */
1135 REGB0
= TAG_Bool((REGB1
)==(REGB0
));
1136 /* syntax/mmbuilder.nit:244 */
1139 if (UNTAG_Bool(REGB2
)) {
1140 /* syntax/mmbuilder.nit:245 */
1141 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1142 fra
.me
.REG
[8] = fra
.me
.REG
[5];
1145 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[4])(fra
.me
.REG
[4], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_19
));
1146 /* syntax/mmbuilder.nit:254 */
1147 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1148 REGB2
= TAG_Bool(fra
.me
.REG
[8]!=NIT_NULL
);
1149 if (UNTAG_Bool(REGB2
)) {
1151 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 254);
1153 REGB2
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1154 if (UNTAG_Bool(REGB2
)) {
1155 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 254);
1157 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1158 CALL_metamodel___abstractmetamodel___MMGlobalClass___mixin_of__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1160 /* syntax/mmbuilder.nit:259 */
1161 fra
.me
.REG
[3] = CALL_standard___collection___array___Collection___to_a(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1162 fra
.me
.REG
[3] = NEW_MMImplicitInit_syntax___syntax_base___MMImplicitInit___init(fra
.me
.REG
[2], fra
.me
.REG
[6], fra
.me
.REG
[3]);
1163 /* syntax/mmbuilder.nit:260 */
1164 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1], fra
.me
.REG
[3]);
1167 stack_frame_head
= fra
.me
.prev
;
1170 void OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
1171 struct {struct stack_frame_t me
;} fra
;
1176 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1177 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1179 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1180 fra
.me
.has_broke
= 0;
1181 fra
.me
.REG_size
= 1;
1182 fra
.me
.nitni_local_ref_head
= NULL
;
1183 fra
.me
.REG
[0] = NIT_NULL
;
1184 fra
.me
.closure_ctx
= closctx_param
;
1185 fra
.me
.closure_funs
= CREG
;
1187 CREG
[0] = clos_fun0
;
1188 /* syntax/mmbuilder.nit:194 */
1189 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1190 if (UNTAG_Bool(REGB0
)) {
1191 /* syntax/mmbuilder.nit:196 */
1192 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1193 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1194 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],closctx
->REG
[2]));
1195 if (UNTAG_Bool(REGB0
)) {
1197 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[2]);
1200 if (UNTAG_Bool(REGB0
)) {
1201 closctx
->has_broke
= 1;
1206 stack_frame_head
= fra
.me
.prev
;
1209 void OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_5(struct stack_frame_t
*closctx
, val_t p0
){
1210 struct {struct stack_frame_t me
;} fra
;
1213 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1214 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1216 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1217 fra
.me
.has_broke
= 0;
1218 fra
.me
.REG_size
= 1;
1219 fra
.me
.nitni_local_ref_head
= NULL
;
1220 fra
.me
.REG
[0] = NIT_NULL
;
1222 /* syntax/mmbuilder.nit:206 */
1223 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1224 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1225 if (UNTAG_Bool(REGB0
)) {
1228 /* syntax/mmbuilder.nit:207 */
1229 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[4])(closctx
->REG
[4], fra
.me
.REG
[0]);
1231 stack_frame_head
= fra
.me
.prev
;
1234 void OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_10(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
1235 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1240 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1241 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1243 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1244 fra
.me
.has_broke
= 0;
1245 fra
.me
.REG_size
= 2;
1246 fra
.me
.nitni_local_ref_head
= NULL
;
1247 fra
.me
.REG
[0] = NIT_NULL
;
1248 fra
.me
.REG
[1] = NIT_NULL
;
1249 fra
.me
.closure_ctx
= closctx_param
;
1250 fra
.me
.closure_funs
= CREG
;
1252 CREG
[0] = clos_fun0
;
1253 /* syntax/mmbuilder.nit:219 */
1254 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_syntax___syntax_base___MMSrcAttribute
, ID_syntax___syntax_base___MMSrcAttribute
)) /*cast MMSrcAttribute*/;
1255 if (UNTAG_Bool(REGB0
)) {
1256 /* syntax/mmbuilder.nit:220 */
1257 fra
.me
.REG
[1] = CALL_syntax___syntax_base___MMLocalProperty___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1258 /* syntax/mmbuilder.nit:221 */
1259 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1260 if (UNTAG_Bool(REGB0
)) {
1261 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 221);
1263 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AAttrPropdef___n_expr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1264 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1265 if (UNTAG_Bool(REGB0
)) {
1267 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1268 if (UNTAG_Bool(REGB1
)) {
1269 REGB1
= TAG_Bool(0);
1272 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1276 if (UNTAG_Bool(REGB0
)) {
1277 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[6])(closctx
->REG
[6], fra
.me
.REG
[0]);
1280 stack_frame_head
= fra
.me
.prev
;
1283 void OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_11(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
1284 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1288 /* syntax/mmbuilder.nit:229 */
1289 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1290 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1292 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1293 fra
.me
.has_broke
= 0;
1294 fra
.me
.REG_size
= 2;
1295 fra
.me
.nitni_local_ref_head
= NULL
;
1296 fra
.me
.REG
[0] = NIT_NULL
;
1297 fra
.me
.REG
[1] = NIT_NULL
;
1298 fra
.me
.closure_ctx
= closctx_param
;
1299 fra
.me
.closure_funs
= CREG
;
1301 CREG
[0] = clos_fun0
;
1302 /* syntax/mmbuilder.nit:230 */
1303 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1304 /* syntax/mmbuilder.nit:231 */
1305 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(closctx
->REG
[5])(closctx
->REG
[5], fra
.me
.REG
[0]);
1306 if (UNTAG_Bool(REGB0
)) {
1309 /* syntax/mmbuilder.nit:232 */
1310 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1311 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_mixin(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1312 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1313 if (UNTAG_Bool(REGB0
)) {
1314 /* syntax/mmbuilder.nit:233 */
1315 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[5])(closctx
->REG
[5], fra
.me
.REG
[0]);
1318 stack_frame_head
= fra
.me
.prev
;
1321 void OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_19(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
1322 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1328 /* syntax/mmbuilder.nit:248 */
1329 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1330 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1332 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1333 fra
.me
.has_broke
= 0;
1334 fra
.me
.REG_size
= 2;
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
.closure_ctx
= closctx_param
;
1339 fra
.me
.closure_funs
= CREG
;
1341 CREG
[0] = clos_fun0
;
1342 /* syntax/mmbuilder.nit:250 */
1343 REGB0
= TAG_Bool(closctx
->REG
[8]==NIT_NULL
);
1344 if (UNTAG_Bool(REGB0
)) {
1346 REGB1
= TAG_Bool(closctx
->REG
[8]==NIT_NULL
);
1347 if (UNTAG_Bool(REGB1
)) {
1348 REGB1
= TAG_Bool(0);
1351 REGB1
= CALL_standard___kernel___Object_____eqeq(closctx
->REG
[8])(closctx
->REG
[8], NIT_NULL
);
1355 if (UNTAG_Bool(REGB0
)) {
1356 REGB0
= TAG_Bool(1);
1358 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1359 REGB1
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[1],closctx
->REG
[8]));
1360 if (UNTAG_Bool(REGB1
)) {
1362 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[8]);
1367 if (UNTAG_Bool(REGB0
)) {
1368 /* syntax/mmbuilder.nit:251 */
1369 CALL_metamodel___inheritance___MMLocalClass___make_visible_an_inherited_global_property(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
1371 stack_frame_head
= fra
.me
.prev
;
1374 static const char LOCATE_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property
[] = "mmbuilder::MMSrcLocalClass::add_src_local_property";
1375 void syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(val_t p0
, val_t p1
, val_t p2
){
1376 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1379 static val_t once_value_1
; /* Once value */
1380 static val_t once_value_2
; /* Once value */
1381 static val_t once_value_3
; /* Once value */
1382 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1383 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1385 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property
;
1386 fra
.me
.has_broke
= 0;
1387 fra
.me
.REG_size
= 7;
1388 fra
.me
.nitni_local_ref_head
= NULL
;
1389 fra
.me
.REG
[0] = NIT_NULL
;
1390 fra
.me
.REG
[1] = NIT_NULL
;
1391 fra
.me
.REG
[2] = NIT_NULL
;
1392 fra
.me
.REG
[3] = NIT_NULL
;
1393 fra
.me
.REG
[4] = NIT_NULL
;
1394 fra
.me
.REG
[5] = NIT_NULL
;
1395 fra
.me
.REG
[6] = NIT_NULL
;
1399 /* syntax/mmbuilder.nit:269 */
1400 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1401 /* syntax/mmbuilder.nit:271 */
1402 fra
.me
.REG
[4] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1403 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1404 if (UNTAG_Bool(REGB0
)) {
1405 /* syntax/mmbuilder.nit:272 */
1406 fra
.me
.REG
[4] = CALL_syntax___syntax_base___MMLocalProperty___node(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1408 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1409 if (!once_value_1
) {
1410 fra
.me
.REG
[6] = BOX_NativeString("Error: A property ");
1411 REGB0
= TAG_Int(18);
1412 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1413 once_value_1
= fra
.me
.REG
[6];
1414 register_static_object(&once_value_1
);
1415 } else fra
.me
.REG
[6] = once_value_1
;
1416 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1417 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1418 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1419 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1420 if (!once_value_2
) {
1421 fra
.me
.REG
[6] = BOX_NativeString(" is already defined in class ");
1422 REGB0
= TAG_Int(29);
1423 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1424 once_value_2
= fra
.me
.REG
[6];
1425 register_static_object(&once_value_2
);
1426 } else fra
.me
.REG
[6] = once_value_2
;
1427 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1428 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1429 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1430 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1431 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1432 if (!once_value_3
) {
1433 fra
.me
.REG
[6] = BOX_NativeString(".");
1435 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1436 once_value_3
= fra
.me
.REG
[6];
1437 register_static_object(&once_value_3
);
1438 } else fra
.me
.REG
[6] = once_value_3
;
1439 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1440 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1441 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1442 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[5]);
1443 /* syntax/mmbuilder.nit:273 */
1446 /* syntax/mmbuilder.nit:275 */
1447 fra
.me
.REG
[5] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1448 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[2]);
1449 /* syntax/mmbuilder.nit:278 */
1450 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1451 if (UNTAG_Bool(REGB0
)) {
1452 /* syntax/mmbuilder.nit:279 */
1453 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___get_property_by_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1454 /* syntax/mmbuilder.nit:280 */
1455 CALL_metamodel___inheritance___MMLocalProperty___inherit_global(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1457 /* syntax/mmbuilder.nit:283 */
1458 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalProperty___is_global_set(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1459 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1460 if (UNTAG_Bool(REGB0
)) {
1461 /* syntax/mmbuilder.nit:284 */
1462 CALL_metamodel___abstractmetamodel___MMLocalProperty___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1463 /* syntax/mmbuilder.nit:285 */
1464 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1465 REGB0
= CALL_syntax___syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1466 CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
1469 stack_frame_head
= fra
.me
.prev
;
1472 static const char LOCATE_syntax___mmbuilder___MMLocalProperty___accept_property_visitor
[] = "mmbuilder::MMLocalProperty::accept_property_visitor";
1473 void syntax___mmbuilder___MMLocalProperty___accept_property_visitor(val_t p0
, val_t p1
){
1474 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1476 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1477 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1479 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMLocalProperty___accept_property_visitor
;
1480 fra
.me
.has_broke
= 0;
1481 fra
.me
.REG_size
= 2;
1482 fra
.me
.nitni_local_ref_head
= NULL
;
1483 fra
.me
.REG
[0] = NIT_NULL
;
1484 fra
.me
.REG
[1] = NIT_NULL
;
1487 stack_frame_head
= fra
.me
.prev
;
1490 static const char LOCATE_syntax___mmbuilder___MMImplicitInit___super_init
[] = "mmbuilder::MMImplicitInit::(syntax_base::MMImplicitInit::super_init)";
1491 val_t
syntax___mmbuilder___MMImplicitInit___super_init(val_t p0
){
1492 struct {struct stack_frame_t me
;} fra
;
1494 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1495 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1497 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMImplicitInit___super_init
;
1498 fra
.me
.has_broke
= 0;
1499 fra
.me
.REG_size
= 1;
1500 fra
.me
.nitni_local_ref_head
= NULL
;
1501 fra
.me
.REG
[0] = NIT_NULL
;
1503 /* syntax/mmbuilder.nit:297 */
1504 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___MMImplicitInit____super_init(fra
.me
.REG
[0]);
1505 stack_frame_head
= fra
.me
.prev
;
1506 return fra
.me
.REG
[0];
1508 static const char LOCATE_syntax___mmbuilder___MMImplicitInit___accept_property_visitor
[] = "mmbuilder::MMImplicitInit::(mmbuilder::MMLocalProperty::accept_property_visitor)";
1509 void syntax___mmbuilder___MMImplicitInit___accept_property_visitor(val_t p0
, val_t p1
){
1510 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
1517 static val_t once_value_1
; /* Once value */
1518 static val_t once_value_2
; /* Once value */
1519 static val_t once_value_3
; /* Once value */
1520 static val_t once_value_4
; /* Once value */
1521 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1522 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1524 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMImplicitInit___accept_property_visitor
;
1525 fra
.me
.has_broke
= 0;
1526 fra
.me
.REG_size
= 9;
1527 fra
.me
.nitni_local_ref_head
= NULL
;
1528 fra
.me
.REG
[0] = NIT_NULL
;
1529 fra
.me
.REG
[1] = NIT_NULL
;
1530 fra
.me
.REG
[2] = NIT_NULL
;
1531 fra
.me
.REG
[3] = NIT_NULL
;
1532 fra
.me
.REG
[4] = NIT_NULL
;
1533 fra
.me
.REG
[5] = NIT_NULL
;
1534 fra
.me
.REG
[6] = NIT_NULL
;
1535 fra
.me
.REG
[7] = NIT_NULL
;
1536 fra
.me
.REG
[8] = NIT_NULL
;
1539 /* syntax/mmbuilder.nit:298 */
1540 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1541 /* syntax/mmbuilder.nit:300 */
1542 fra
.me
.REG
[3] = NIT_NULL
;
1543 /* syntax/mmbuilder.nit:301 */
1544 fra
.me
.REG
[4] = CALL_syntax___syntax_base___MMImplicitInit___super_inits(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1545 /* ../lib/standard/collection/array.nit:269 */
1547 /* ../lib/standard/collection/array.nit:270 */
1548 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1549 if (UNTAG_Bool(REGB1
)) {
1551 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1553 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1554 /* ../lib/standard/collection/array.nit:271 */
1555 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
1556 /* ../lib/standard/collection/array.nit:272 */
1558 /* ../lib/standard/collection/array.nit:24 */
1559 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1560 if (UNTAG_Bool(REGB1
)) {
1562 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1564 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1565 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1566 if (UNTAG_Bool(REGB2
)) {
1568 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1570 /* ../lib/standard/kernel.nit:235 */
1571 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1572 /* ../lib/standard/collection/array.nit:272 */
1573 if (UNTAG_Bool(REGB1
)) {
1574 /* ../lib/standard/collection/array.nit:273 */
1575 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1576 if (UNTAG_Bool(REGB1
)) {
1577 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1579 /* ../lib/standard/collection/array.nit:718 */
1580 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
1581 /* syntax/mmbuilder.nit:302 */
1582 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1583 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1584 if (UNTAG_Bool(REGB1
)) {
1585 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 302);
1587 REGB1
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1589 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1590 if (UNTAG_Bool(REGB3
)) {
1592 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1594 /* ../lib/standard/kernel.nit:237 */
1595 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
1596 /* syntax/mmbuilder.nit:302 */
1597 if (UNTAG_Bool(REGB2
)) {
1598 /* syntax/mmbuilder.nit:303 */
1599 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1600 if (UNTAG_Bool(REGB2
)) {
1602 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1603 if (UNTAG_Bool(REGB1
)) {
1604 REGB1
= TAG_Bool(0);
1607 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1611 if (UNTAG_Bool(REGB2
)) {
1612 /* syntax/mmbuilder.nit:304 */
1613 fra
.me
.REG
[3] = fra
.me
.REG
[6];
1615 /* syntax/mmbuilder.nit:306 */
1617 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
1618 if (!once_value_1
) {
1619 fra
.me
.REG
[8] = BOX_NativeString("Error: explicit constructor needed in ");
1620 REGB2
= TAG_Int(38);
1621 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
1622 once_value_1
= fra
.me
.REG
[8];
1623 register_static_object(&once_value_1
);
1624 } else fra
.me
.REG
[8] = once_value_1
;
1625 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1626 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1627 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1628 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1629 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1630 if (!once_value_2
) {
1631 fra
.me
.REG
[8] = BOX_NativeString(" since both super-constructor ");
1632 REGB2
= TAG_Int(30);
1633 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
1634 once_value_2
= fra
.me
.REG
[8];
1635 register_static_object(&once_value_2
);
1636 } else fra
.me
.REG
[8] = once_value_2
;
1637 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1638 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1639 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1640 if (UNTAG_Bool(REGB2
)) {
1641 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 306);
1643 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1644 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1645 if (!once_value_3
) {
1646 fra
.me
.REG
[8] = BOX_NativeString(" and ");
1648 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
1649 once_value_3
= fra
.me
.REG
[8];
1650 register_static_object(&once_value_3
);
1651 } else fra
.me
.REG
[8] = once_value_3
;
1652 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1653 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1654 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1655 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1656 if (!once_value_4
) {
1657 fra
.me
.REG
[6] = BOX_NativeString(" have paramters");
1658 REGB2
= TAG_Int(15);
1659 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
1660 once_value_4
= fra
.me
.REG
[6];
1661 register_static_object(&once_value_4
);
1662 } else fra
.me
.REG
[6] = once_value_4
;
1663 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1664 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1665 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1666 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[7]);
1667 /* syntax/mmbuilder.nit:307 */
1671 /* ../lib/standard/collection/array.nit:274 */
1673 /* ../lib/standard/kernel.nit:238 */
1674 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1675 /* ../lib/standard/collection/array.nit:274 */
1678 /* ../lib/standard/collection/array.nit:272 */
1683 /* syntax/mmbuilder.nit:311 */
1684 ATTR_syntax___mmbuilder___MMImplicitInit____super_init(fra
.me
.REG
[2]) = fra
.me
.REG
[3];
1685 /* syntax/mmbuilder.nit:313 */
1686 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
1687 /* syntax/mmbuilder.nit:314 */
1688 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1689 if (UNTAG_Bool(REGB0
)) {
1691 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1692 if (UNTAG_Bool(REGB2
)) {
1693 REGB2
= TAG_Bool(0);
1696 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1700 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1701 if (UNTAG_Bool(REGB0
)) {
1702 /* syntax/mmbuilder.nit:315 */
1703 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1704 if (UNTAG_Bool(REGB0
)) {
1705 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 315);
1707 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1708 /* syntax/mmbuilder.nit:316 */
1710 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1711 if (UNTAG_Bool(REGB2
)) {
1712 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 316);
1714 REGB2
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1715 /* ../lib/standard/kernel.nit:355 */
1717 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1718 if (UNTAG_Bool(REGB1
)) {
1720 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1722 /* ../lib/standard/kernel.nit:235 */
1723 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1724 /* ../lib/standard/kernel.nit:355 */
1725 if (UNTAG_Bool(REGB1
)) {
1726 /* syntax/mmbuilder.nit:316 */
1728 /* syntax/mmbuilder.nit:317 */
1729 REGB3
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1730 if (UNTAG_Bool(REGB3
)) {
1731 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 317);
1733 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___params(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1734 /* ../lib/standard/collection/array.nit:280 */
1736 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1737 if (UNTAG_Bool(REGB4
)) {
1739 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1741 /* ../lib/standard/kernel.nit:236 */
1742 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB3
));
1743 /* ../lib/standard/collection/array.nit:280 */
1744 if (UNTAG_Bool(REGB3
)) {
1745 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
1746 if (UNTAG_Bool(REGB3
)) {
1748 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1750 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
1751 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1752 if (UNTAG_Bool(REGB4
)) {
1754 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1756 /* ../lib/standard/kernel.nit:235 */
1757 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB3
));
1759 /* ../lib/standard/collection/array.nit:280 */
1760 REGB4
= TAG_Bool(0);
1763 if (UNTAG_Bool(REGB3
)) {
1765 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
1767 /* ../lib/standard/collection/array.nit:281 */
1768 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
1769 REGB3
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1770 if (UNTAG_Bool(REGB3
)) {
1771 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1773 /* ../lib/standard/collection/array.nit:718 */
1774 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB1
)];
1775 /* ../lib/standard/collection/array.nit:281 */
1778 /* syntax/mmbuilder.nit:317 */
1779 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
1780 /* ../lib/standard/kernel.nit:357 */
1782 /* ../lib/standard/kernel.nit:238 */
1783 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1784 /* ../lib/standard/kernel.nit:357 */
1787 /* ../lib/standard/kernel.nit:355 */
1793 /* syntax/mmbuilder.nit:320 */
1794 fra
.me
.REG
[3] = CALL_syntax___syntax_base___MMImplicitInit___unassigned_attributes(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1795 /* ../lib/standard/collection/array.nit:269 */
1797 /* ../lib/standard/collection/array.nit:270 */
1798 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1799 if (UNTAG_Bool(REGB2
)) {
1801 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1803 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1804 /* ../lib/standard/collection/array.nit:271 */
1805 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1806 /* ../lib/standard/collection/array.nit:272 */
1808 /* ../lib/standard/collection/array.nit:24 */
1809 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1810 if (UNTAG_Bool(REGB2
)) {
1812 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1814 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1815 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1816 if (UNTAG_Bool(REGB1
)) {
1818 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1820 /* ../lib/standard/kernel.nit:235 */
1821 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1822 /* ../lib/standard/collection/array.nit:272 */
1823 if (UNTAG_Bool(REGB2
)) {
1824 /* ../lib/standard/collection/array.nit:273 */
1825 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1826 if (UNTAG_Bool(REGB2
)) {
1827 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1829 /* ../lib/standard/collection/array.nit:718 */
1830 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
1831 /* syntax/mmbuilder.nit:321 */
1832 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1833 /* syntax/mmbuilder.nit:322 */
1834 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1835 if (UNTAG_Bool(REGB2
)) {
1837 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1838 if (UNTAG_Bool(REGB1
)) {
1839 REGB1
= TAG_Bool(0);
1842 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
1846 if (UNTAG_Bool(REGB2
)) {
1849 /* syntax/mmbuilder.nit:323 */
1850 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1851 /* syntax/mmbuilder.nit:324 */
1852 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1853 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1854 REGB2
= TAG_Char('_');
1855 REGB1
= TAG_Bool(IS_EQUAL_ON(REGB2
,fra
.me
.REG
[8]));
1856 if (UNTAG_Bool(REGB1
)) {
1858 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1859 if (UNTAG_Bool(REGB3
)) {
1860 REGB3
= TAG_Bool(0);
1863 /* ../lib/standard/kernel.nit:381 */
1864 REGB2
= TAG_Bool((fra
.me
.REG
[8])==(REGB2
));
1865 /* syntax/mmbuilder.nit:324 */
1869 if (UNTAG_Bool(REGB1
)) {
1870 REGB1
= TAG_Bool(1);
1872 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1873 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1874 REGB2
= TAG_Char('@');
1875 REGB3
= TAG_Bool(IS_EQUAL_ON(REGB2
,fra
.me
.REG
[8]));
1876 if (UNTAG_Bool(REGB3
)) {
1878 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1879 if (UNTAG_Bool(REGB4
)) {
1880 REGB4
= TAG_Bool(0);
1883 /* ../lib/standard/kernel.nit:381 */
1884 REGB2
= TAG_Bool((fra
.me
.REG
[8])==(REGB2
));
1885 /* syntax/mmbuilder.nit:324 */
1891 if (UNTAG_Bool(REGB1
)) {
1892 /* syntax/mmbuilder.nit:325 */
1893 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1895 fra
.me
.REG
[4] = CALL_standard___string___AbstractString___substring_from(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
1896 fra
.me
.REG
[4] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1897 fra
.me
.REG
[6] = fra
.me
.REG
[4];
1899 /* syntax/mmbuilder.nit:327 */
1900 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1901 if (UNTAG_Bool(REGB1
)) {
1902 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 327);
1904 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1905 REGB1
= TAG_Bool((fra
.me
.REG
[7]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[7], COLOR_metamodel___static_type___MMType
, ID_metamodel___static_type___MMType
)) /*cast MMType*/;
1906 if (UNTAG_Bool(REGB1
)) {
1908 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 327);
1910 fra
.me
.REG
[6] = NEW_MMParam_metamodel___static_type___MMParam___init(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1911 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
1912 /* ../lib/standard/collection/array.nit:274 */
1914 /* ../lib/standard/kernel.nit:238 */
1915 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1916 /* ../lib/standard/collection/array.nit:274 */
1919 /* ../lib/standard/collection/array.nit:272 */
1924 /* syntax/mmbuilder.nit:329 */
1925 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1926 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1927 fra
.me
.REG
[0] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[0]);
1928 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1930 stack_frame_head
= fra
.me
.prev
;
1933 static const char LOCATE_syntax___mmbuilder___MMSrcAncestor___local_class
[] = "mmbuilder::MMSrcAncestor::(static_type::MMAncestor::local_class)";
1934 val_t
syntax___mmbuilder___MMSrcAncestor___local_class(val_t p0
){
1935 struct {struct stack_frame_t me
;} fra
;
1938 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1939 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1941 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcAncestor___local_class
;
1942 fra
.me
.has_broke
= 0;
1943 fra
.me
.REG_size
= 1;
1944 fra
.me
.nitni_local_ref_head
= NULL
;
1945 fra
.me
.REG
[0] = NIT_NULL
;
1947 /* syntax/mmbuilder.nit:337 */
1948 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
1949 if (UNTAG_Bool(REGB0
)) {
1951 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_syntax___mmbuilder
, 337);
1953 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[0]);
1954 stack_frame_head
= fra
.me
.prev
;
1955 return fra
.me
.REG
[0];
1957 static const char LOCATE_syntax___mmbuilder___MMSrcAncestor___init
[] = "mmbuilder::MMSrcAncestor::init";
1958 void syntax___mmbuilder___MMSrcAncestor___init(val_t p0
, val_t p1
, int* init_table
){
1959 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___MMSrcAncestor
].i
;
1960 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1962 if (init_table
[itpos1
]) return;
1963 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1964 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1966 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcAncestor___init
;
1967 fra
.me
.has_broke
= 0;
1968 fra
.me
.REG_size
= 3;
1969 fra
.me
.nitni_local_ref_head
= NULL
;
1970 fra
.me
.REG
[0] = NIT_NULL
;
1971 fra
.me
.REG
[1] = NIT_NULL
;
1972 fra
.me
.REG
[2] = NIT_NULL
;
1975 /* syntax/mmbuilder.nit:339 */
1976 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1977 CALL_metamodel___static_type___MMAncestor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
1978 /* syntax/mmbuilder.nit:341 */
1979 ATTR_syntax___mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
1980 stack_frame_head
= fra
.me
.prev
;
1981 init_table
[itpos1
] = 1;
1984 static const char LOCATE_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity
[] = "mmbuilder::ClassBuilderVisitor::local_class_arity";
1985 val_t
syntax___mmbuilder___ClassBuilderVisitor___local_class_arity(val_t p0
){
1986 struct {struct stack_frame_t me
;} fra
;
1989 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1990 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1992 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity
;
1993 fra
.me
.has_broke
= 0;
1994 fra
.me
.REG_size
= 1;
1995 fra
.me
.nitni_local_ref_head
= NULL
;
1996 fra
.me
.REG
[0] = NIT_NULL
;
1998 /* syntax/mmbuilder.nit:352 */
1999 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0])!=NIT_NULL
);
2000 if (UNTAG_Bool(REGB0
)) {
2002 nit_abort("Uninitialized attribute %s", "_local_class_arity", LOCATE_syntax___mmbuilder
, 352);
2004 REGB0
= ATTR_syntax___mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0]);
2005 stack_frame_head
= fra
.me
.prev
;
2008 static const char LOCATE_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq
[] = "mmbuilder::ClassBuilderVisitor::local_class_arity=";
2009 void syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq(val_t p0
, val_t p1
){
2010 struct {struct stack_frame_t me
;} fra
;
2013 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2014 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2016 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq
;
2017 fra
.me
.has_broke
= 0;
2018 fra
.me
.REG_size
= 1;
2019 fra
.me
.nitni_local_ref_head
= NULL
;
2020 fra
.me
.REG
[0] = NIT_NULL
;
2023 /* syntax/mmbuilder.nit:352 */
2024 ATTR_syntax___mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0]) = REGB0
;
2025 stack_frame_head
= fra
.me
.prev
;
2028 static const char LOCATE_syntax___mmbuilder___ClassBuilderVisitor___formals
[] = "mmbuilder::ClassBuilderVisitor::formals";
2029 val_t
syntax___mmbuilder___ClassBuilderVisitor___formals(val_t p0
){
2030 struct {struct stack_frame_t me
;} fra
;
2032 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2033 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2035 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___formals
;
2036 fra
.me
.has_broke
= 0;
2037 fra
.me
.REG_size
= 1;
2038 fra
.me
.nitni_local_ref_head
= NULL
;
2039 fra
.me
.REG
[0] = NIT_NULL
;
2041 /* syntax/mmbuilder.nit:355 */
2042 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___ClassBuilderVisitor____formals(fra
.me
.REG
[0]);
2043 stack_frame_head
= fra
.me
.prev
;
2044 return fra
.me
.REG
[0];
2046 static const char LOCATE_syntax___mmbuilder___ClassBuilderVisitor___formals__eq
[] = "mmbuilder::ClassBuilderVisitor::formals=";
2047 void syntax___mmbuilder___ClassBuilderVisitor___formals__eq(val_t p0
, val_t p1
){
2048 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2050 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2051 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2053 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___formals__eq
;
2054 fra
.me
.has_broke
= 0;
2055 fra
.me
.REG_size
= 2;
2056 fra
.me
.nitni_local_ref_head
= NULL
;
2057 fra
.me
.REG
[0] = NIT_NULL
;
2058 fra
.me
.REG
[1] = NIT_NULL
;
2061 /* syntax/mmbuilder.nit:355 */
2062 ATTR_syntax___mmbuilder___ClassBuilderVisitor____formals(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2063 stack_frame_head
= fra
.me
.prev
;
2066 static const char LOCATE_syntax___mmbuilder___ClassBuilderVisitor___visit
[] = "mmbuilder::ClassBuilderVisitor::(parser_prod::Visitor::visit)";
2067 void syntax___mmbuilder___ClassBuilderVisitor___visit(val_t p0
, val_t p1
){
2068 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2071 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2072 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2074 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___visit
;
2075 fra
.me
.has_broke
= 0;
2076 fra
.me
.REG_size
= 2;
2077 fra
.me
.nitni_local_ref_head
= NULL
;
2078 fra
.me
.REG
[0] = NIT_NULL
;
2079 fra
.me
.REG
[1] = NIT_NULL
;
2082 /* syntax/mmbuilder.nit:358 */
2083 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2084 if (UNTAG_Bool(REGB0
)) {
2085 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 358);
2087 CALL_syntax___mmbuilder___ANode___accept_class_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2088 stack_frame_head
= fra
.me
.prev
;
2091 static const char LOCATE_syntax___mmbuilder___ClassBuilderVisitor___init
[] = "mmbuilder::ClassBuilderVisitor::init";
2092 void syntax___mmbuilder___ClassBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2093 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___ClassBuilderVisitor
].i
;
2094 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2096 if (init_table
[itpos2
]) return;
2097 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2098 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2100 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___init
;
2101 fra
.me
.has_broke
= 0;
2102 fra
.me
.REG_size
= 3;
2103 fra
.me
.nitni_local_ref_head
= NULL
;
2104 fra
.me
.REG
[0] = NIT_NULL
;
2105 fra
.me
.REG
[1] = NIT_NULL
;
2106 fra
.me
.REG
[2] = NIT_NULL
;
2110 /* syntax/mmbuilder.nit:359 */
2111 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2112 stack_frame_head
= fra
.me
.prev
;
2113 init_table
[itpos2
] = 1;
2116 static const char LOCATE_syntax___mmbuilder___ClassSpecializationBuilderVisitor___visit
[] = "mmbuilder::ClassSpecializationBuilderVisitor::(parser_prod::Visitor::visit)";
2117 void syntax___mmbuilder___ClassSpecializationBuilderVisitor___visit(val_t p0
, val_t p1
){
2118 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2121 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2122 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2124 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassSpecializationBuilderVisitor___visit
;
2125 fra
.me
.has_broke
= 0;
2126 fra
.me
.REG_size
= 2;
2127 fra
.me
.nitni_local_ref_head
= NULL
;
2128 fra
.me
.REG
[0] = NIT_NULL
;
2129 fra
.me
.REG
[1] = NIT_NULL
;
2132 /* syntax/mmbuilder.nit:366 */
2133 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2134 if (UNTAG_Bool(REGB0
)) {
2135 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 366);
2137 CALL_syntax___mmbuilder___ANode___accept_class_specialization_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2138 stack_frame_head
= fra
.me
.prev
;
2141 static const char LOCATE_syntax___mmbuilder___ClassSpecializationBuilderVisitor___init
[] = "mmbuilder::ClassSpecializationBuilderVisitor::init";
2142 void syntax___mmbuilder___ClassSpecializationBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2143 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___ClassSpecializationBuilderVisitor
].i
;
2144 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2146 if (init_table
[itpos3
]) return;
2147 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2148 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2150 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassSpecializationBuilderVisitor___init
;
2151 fra
.me
.has_broke
= 0;
2152 fra
.me
.REG_size
= 3;
2153 fra
.me
.nitni_local_ref_head
= NULL
;
2154 fra
.me
.REG
[0] = NIT_NULL
;
2155 fra
.me
.REG
[1] = NIT_NULL
;
2156 fra
.me
.REG
[2] = NIT_NULL
;
2160 /* syntax/mmbuilder.nit:367 */
2161 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2162 stack_frame_head
= fra
.me
.prev
;
2163 init_table
[itpos3
] = 1;
2166 static const char LOCATE_syntax___mmbuilder___ClassAncestorBuilder___visit
[] = "mmbuilder::ClassAncestorBuilder::(parser_prod::Visitor::visit)";
2167 void syntax___mmbuilder___ClassAncestorBuilder___visit(val_t p0
, val_t p1
){
2168 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2171 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2172 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2174 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassAncestorBuilder___visit
;
2175 fra
.me
.has_broke
= 0;
2176 fra
.me
.REG_size
= 2;
2177 fra
.me
.nitni_local_ref_head
= NULL
;
2178 fra
.me
.REG
[0] = NIT_NULL
;
2179 fra
.me
.REG
[1] = NIT_NULL
;
2182 /* syntax/mmbuilder.nit:374 */
2183 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2184 if (UNTAG_Bool(REGB0
)) {
2185 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 374);
2187 CALL_syntax___mmbuilder___ANode___accept_class_ancestor_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2188 stack_frame_head
= fra
.me
.prev
;
2191 static const char LOCATE_syntax___mmbuilder___ClassAncestorBuilder___init
[] = "mmbuilder::ClassAncestorBuilder::init";
2192 void syntax___mmbuilder___ClassAncestorBuilder___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2193 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___ClassAncestorBuilder
].i
;
2194 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2196 if (init_table
[itpos4
]) return;
2197 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2198 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2200 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassAncestorBuilder___init
;
2201 fra
.me
.has_broke
= 0;
2202 fra
.me
.REG_size
= 3;
2203 fra
.me
.nitni_local_ref_head
= NULL
;
2204 fra
.me
.REG
[0] = NIT_NULL
;
2205 fra
.me
.REG
[1] = NIT_NULL
;
2206 fra
.me
.REG
[2] = NIT_NULL
;
2210 /* syntax/mmbuilder.nit:375 */
2211 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2212 stack_frame_head
= fra
.me
.prev
;
2213 init_table
[itpos4
] = 1;
2216 static const char LOCATE_syntax___mmbuilder___ClassVerifierVisitor___visit
[] = "mmbuilder::ClassVerifierVisitor::(parser_prod::Visitor::visit)";
2217 void syntax___mmbuilder___ClassVerifierVisitor___visit(val_t p0
, val_t p1
){
2218 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2221 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2222 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2224 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassVerifierVisitor___visit
;
2225 fra
.me
.has_broke
= 0;
2226 fra
.me
.REG_size
= 2;
2227 fra
.me
.nitni_local_ref_head
= NULL
;
2228 fra
.me
.REG
[0] = NIT_NULL
;
2229 fra
.me
.REG
[1] = NIT_NULL
;
2232 /* syntax/mmbuilder.nit:382 */
2233 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2234 if (UNTAG_Bool(REGB0
)) {
2235 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 382);
2237 CALL_syntax___mmbuilder___ANode___accept_class_verifier(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2238 stack_frame_head
= fra
.me
.prev
;
2241 static const char LOCATE_syntax___mmbuilder___ClassVerifierVisitor___init
[] = "mmbuilder::ClassVerifierVisitor::init";
2242 void syntax___mmbuilder___ClassVerifierVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2243 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___ClassVerifierVisitor
].i
;
2244 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2246 if (init_table
[itpos5
]) return;
2247 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2248 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2250 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassVerifierVisitor___init
;
2251 fra
.me
.has_broke
= 0;
2252 fra
.me
.REG_size
= 3;
2253 fra
.me
.nitni_local_ref_head
= NULL
;
2254 fra
.me
.REG
[0] = NIT_NULL
;
2255 fra
.me
.REG
[1] = NIT_NULL
;
2256 fra
.me
.REG
[2] = NIT_NULL
;
2260 /* syntax/mmbuilder.nit:383 */
2261 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2262 stack_frame_head
= fra
.me
.prev
;
2263 init_table
[itpos5
] = 1;
2266 static const char LOCATE_syntax___mmbuilder___PropertyBuilderVisitor___visit
[] = "mmbuilder::PropertyBuilderVisitor::(parser_prod::Visitor::visit)";
2267 void syntax___mmbuilder___PropertyBuilderVisitor___visit(val_t p0
, val_t p1
){
2268 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2271 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2272 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2274 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyBuilderVisitor___visit
;
2275 fra
.me
.has_broke
= 0;
2276 fra
.me
.REG_size
= 2;
2277 fra
.me
.nitni_local_ref_head
= NULL
;
2278 fra
.me
.REG
[0] = NIT_NULL
;
2279 fra
.me
.REG
[1] = NIT_NULL
;
2282 /* syntax/mmbuilder.nit:393 */
2283 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2284 if (UNTAG_Bool(REGB0
)) {
2285 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 393);
2287 CALL_syntax___mmbuilder___ANode___accept_property_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2288 stack_frame_head
= fra
.me
.prev
;
2291 static const char LOCATE_syntax___mmbuilder___PropertyBuilderVisitor___init
[] = "mmbuilder::PropertyBuilderVisitor::init";
2292 void syntax___mmbuilder___PropertyBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2293 int itpos6
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___PropertyBuilderVisitor
].i
;
2294 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2296 if (init_table
[itpos6
]) return;
2297 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2298 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2300 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyBuilderVisitor___init
;
2301 fra
.me
.has_broke
= 0;
2302 fra
.me
.REG_size
= 3;
2303 fra
.me
.nitni_local_ref_head
= NULL
;
2304 fra
.me
.REG
[0] = NIT_NULL
;
2305 fra
.me
.REG
[1] = NIT_NULL
;
2306 fra
.me
.REG
[2] = NIT_NULL
;
2310 /* syntax/mmbuilder.nit:394 */
2311 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2312 stack_frame_head
= fra
.me
.prev
;
2313 init_table
[itpos6
] = 1;
2316 static const char LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder
[] = "mmbuilder::PropertyVerifierVisitor::signature_builder";
2317 val_t
syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(val_t p0
){
2318 struct {struct stack_frame_t me
;} fra
;
2321 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2322 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2324 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder
;
2325 fra
.me
.has_broke
= 0;
2326 fra
.me
.REG_size
= 1;
2327 fra
.me
.nitni_local_ref_head
= NULL
;
2328 fra
.me
.REG
[0] = NIT_NULL
;
2330 /* syntax/mmbuilder.nit:402 */
2331 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0])!=NIT_NULL
);
2332 if (UNTAG_Bool(REGB0
)) {
2334 nit_abort("Uninitialized attribute %s", "_signature_builder", LOCATE_syntax___mmbuilder
, 402);
2336 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0]);
2337 stack_frame_head
= fra
.me
.prev
;
2338 return fra
.me
.REG
[0];
2340 static const char LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq
[] = "mmbuilder::PropertyVerifierVisitor::signature_builder=";
2341 void syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(val_t p0
, val_t p1
){
2342 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2344 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2345 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2347 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq
;
2348 fra
.me
.has_broke
= 0;
2349 fra
.me
.REG_size
= 2;
2350 fra
.me
.nitni_local_ref_head
= NULL
;
2351 fra
.me
.REG
[0] = NIT_NULL
;
2352 fra
.me
.REG
[1] = NIT_NULL
;
2355 /* syntax/mmbuilder.nit:402 */
2356 ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2357 stack_frame_head
= fra
.me
.prev
;
2360 static const char LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___visit
[] = "mmbuilder::PropertyVerifierVisitor::(parser_prod::Visitor::visit)";
2361 void syntax___mmbuilder___PropertyVerifierVisitor___visit(val_t p0
, val_t p1
){
2362 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2365 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2366 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2368 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___visit
;
2369 fra
.me
.has_broke
= 0;
2370 fra
.me
.REG_size
= 2;
2371 fra
.me
.nitni_local_ref_head
= NULL
;
2372 fra
.me
.REG
[0] = NIT_NULL
;
2373 fra
.me
.REG
[1] = NIT_NULL
;
2376 /* syntax/mmbuilder.nit:405 */
2377 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2378 if (UNTAG_Bool(REGB0
)) {
2379 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 405);
2381 CALL_syntax___mmbuilder___ANode___accept_property_verifier(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2382 stack_frame_head
= fra
.me
.prev
;
2385 static const char LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___init
[] = "mmbuilder::PropertyVerifierVisitor::init";
2386 void syntax___mmbuilder___PropertyVerifierVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2387 int itpos7
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___PropertyVerifierVisitor
].i
;
2388 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2390 if (init_table
[itpos7
]) return;
2391 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2392 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2394 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___init
;
2395 fra
.me
.has_broke
= 0;
2396 fra
.me
.REG_size
= 4;
2397 fra
.me
.nitni_local_ref_head
= NULL
;
2398 fra
.me
.REG
[0] = NIT_NULL
;
2399 fra
.me
.REG
[1] = NIT_NULL
;
2400 fra
.me
.REG
[2] = NIT_NULL
;
2401 fra
.me
.REG
[3] = NIT_NULL
;
2405 /* syntax/mmbuilder.nit:407 */
2406 fra
.me
.REG
[3] = fra
.me
.REG
[0];
2407 /* syntax/mmbuilder.nit:409 */
2408 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2409 /* syntax/mmbuilder.nit:410 */
2410 fra
.me
.REG
[2] = NEW_SignatureBuilder_syntax___mmbuilder___SignatureBuilder___init();
2411 ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
2412 stack_frame_head
= fra
.me
.prev
;
2413 init_table
[itpos7
] = 1;
2416 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___params
[] = "mmbuilder::SignatureBuilder::params";
2417 val_t
syntax___mmbuilder___SignatureBuilder___params(val_t p0
){
2418 struct {struct stack_frame_t me
;} fra
;
2421 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2422 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2424 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___params
;
2425 fra
.me
.has_broke
= 0;
2426 fra
.me
.REG_size
= 1;
2427 fra
.me
.nitni_local_ref_head
= NULL
;
2428 fra
.me
.REG
[0] = NIT_NULL
;
2430 /* syntax/mmbuilder.nit:416 */
2431 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0])!=NIT_NULL
);
2432 if (UNTAG_Bool(REGB0
)) {
2434 nit_abort("Uninitialized attribute %s", "_params", LOCATE_syntax___mmbuilder
, 416);
2436 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0]);
2437 stack_frame_head
= fra
.me
.prev
;
2438 return fra
.me
.REG
[0];
2440 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___params__eq
[] = "mmbuilder::SignatureBuilder::params=";
2441 void syntax___mmbuilder___SignatureBuilder___params__eq(val_t p0
, val_t p1
){
2442 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2444 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2445 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2447 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___params__eq
;
2448 fra
.me
.has_broke
= 0;
2449 fra
.me
.REG_size
= 2;
2450 fra
.me
.nitni_local_ref_head
= NULL
;
2451 fra
.me
.REG
[0] = NIT_NULL
;
2452 fra
.me
.REG
[1] = NIT_NULL
;
2455 /* syntax/mmbuilder.nit:416 */
2456 ATTR_syntax___mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2457 stack_frame_head
= fra
.me
.prev
;
2460 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___untyped_params
[] = "mmbuilder::SignatureBuilder::untyped_params";
2461 val_t
syntax___mmbuilder___SignatureBuilder___untyped_params(val_t p0
){
2462 struct {struct stack_frame_t me
;} fra
;
2465 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2466 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2468 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___untyped_params
;
2469 fra
.me
.has_broke
= 0;
2470 fra
.me
.REG_size
= 1;
2471 fra
.me
.nitni_local_ref_head
= NULL
;
2472 fra
.me
.REG
[0] = NIT_NULL
;
2474 /* syntax/mmbuilder.nit:419 */
2475 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0])!=NIT_NULL
);
2476 if (UNTAG_Bool(REGB0
)) {
2478 nit_abort("Uninitialized attribute %s", "_untyped_params", LOCATE_syntax___mmbuilder
, 419);
2480 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0]);
2481 stack_frame_head
= fra
.me
.prev
;
2482 return fra
.me
.REG
[0];
2484 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___untyped_params__eq
[] = "mmbuilder::SignatureBuilder::untyped_params=";
2485 void syntax___mmbuilder___SignatureBuilder___untyped_params__eq(val_t p0
, val_t p1
){
2486 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2488 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2489 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2491 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___untyped_params__eq
;
2492 fra
.me
.has_broke
= 0;
2493 fra
.me
.REG_size
= 2;
2494 fra
.me
.nitni_local_ref_head
= NULL
;
2495 fra
.me
.REG
[0] = NIT_NULL
;
2496 fra
.me
.REG
[1] = NIT_NULL
;
2499 /* syntax/mmbuilder.nit:419 */
2500 ATTR_syntax___mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2501 stack_frame_head
= fra
.me
.prev
;
2504 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___vararg_rank
[] = "mmbuilder::SignatureBuilder::vararg_rank";
2505 val_t
syntax___mmbuilder___SignatureBuilder___vararg_rank(val_t p0
){
2506 struct {struct stack_frame_t me
;} fra
;
2509 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2510 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2512 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___vararg_rank
;
2513 fra
.me
.has_broke
= 0;
2514 fra
.me
.REG_size
= 1;
2515 fra
.me
.nitni_local_ref_head
= NULL
;
2516 fra
.me
.REG
[0] = NIT_NULL
;
2518 /* syntax/mmbuilder.nit:422 */
2519 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0])!=NIT_NULL
);
2520 if (UNTAG_Bool(REGB0
)) {
2522 nit_abort("Uninitialized attribute %s", "_vararg_rank", LOCATE_syntax___mmbuilder
, 422);
2524 REGB0
= ATTR_syntax___mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0]);
2525 stack_frame_head
= fra
.me
.prev
;
2528 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___vararg_rank__eq
[] = "mmbuilder::SignatureBuilder::vararg_rank=";
2529 void syntax___mmbuilder___SignatureBuilder___vararg_rank__eq(val_t p0
, val_t p1
){
2530 struct {struct stack_frame_t me
;} fra
;
2533 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2534 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2536 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___vararg_rank__eq
;
2537 fra
.me
.has_broke
= 0;
2538 fra
.me
.REG_size
= 1;
2539 fra
.me
.nitni_local_ref_head
= NULL
;
2540 fra
.me
.REG
[0] = NIT_NULL
;
2543 /* syntax/mmbuilder.nit:422 */
2544 ATTR_syntax___mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0]) = REGB0
;
2545 stack_frame_head
= fra
.me
.prev
;
2548 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___closure_decls
[] = "mmbuilder::SignatureBuilder::closure_decls";
2549 val_t
syntax___mmbuilder___SignatureBuilder___closure_decls(val_t p0
){
2550 struct {struct stack_frame_t me
;} fra
;
2553 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2554 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2556 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___closure_decls
;
2557 fra
.me
.has_broke
= 0;
2558 fra
.me
.REG_size
= 1;
2559 fra
.me
.nitni_local_ref_head
= NULL
;
2560 fra
.me
.REG
[0] = NIT_NULL
;
2562 /* syntax/mmbuilder.nit:425 */
2563 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0])!=NIT_NULL
);
2564 if (UNTAG_Bool(REGB0
)) {
2566 nit_abort("Uninitialized attribute %s", "_closure_decls", LOCATE_syntax___mmbuilder
, 425);
2568 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0]);
2569 stack_frame_head
= fra
.me
.prev
;
2570 return fra
.me
.REG
[0];
2572 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___closure_decls__eq
[] = "mmbuilder::SignatureBuilder::closure_decls=";
2573 void syntax___mmbuilder___SignatureBuilder___closure_decls__eq(val_t p0
, val_t p1
){
2574 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2576 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2577 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2579 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___closure_decls__eq
;
2580 fra
.me
.has_broke
= 0;
2581 fra
.me
.REG_size
= 2;
2582 fra
.me
.nitni_local_ref_head
= NULL
;
2583 fra
.me
.REG
[0] = NIT_NULL
;
2584 fra
.me
.REG
[1] = NIT_NULL
;
2587 /* syntax/mmbuilder.nit:425 */
2588 ATTR_syntax___mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2589 stack_frame_head
= fra
.me
.prev
;
2592 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___has_error_occured
[] = "mmbuilder::SignatureBuilder::has_error_occured";
2593 val_t
syntax___mmbuilder___SignatureBuilder___has_error_occured(val_t p0
){
2594 struct {struct stack_frame_t me
;} fra
;
2597 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2598 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2600 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___has_error_occured
;
2601 fra
.me
.has_broke
= 0;
2602 fra
.me
.REG_size
= 1;
2603 fra
.me
.nitni_local_ref_head
= NULL
;
2604 fra
.me
.REG
[0] = NIT_NULL
;
2606 /* syntax/mmbuilder.nit:428 */
2607 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0])!=NIT_NULL
);
2608 if (UNTAG_Bool(REGB0
)) {
2610 nit_abort("Uninitialized attribute %s", "_has_error_occured", LOCATE_syntax___mmbuilder
, 428);
2612 REGB0
= ATTR_syntax___mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0]);
2613 stack_frame_head
= fra
.me
.prev
;
2616 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq
[] = "mmbuilder::SignatureBuilder::has_error_occured=";
2617 void syntax___mmbuilder___SignatureBuilder___has_error_occured__eq(val_t p0
, val_t p1
){
2618 struct {struct stack_frame_t me
;} fra
;
2621 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2622 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2624 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq
;
2625 fra
.me
.has_broke
= 0;
2626 fra
.me
.REG_size
= 1;
2627 fra
.me
.nitni_local_ref_head
= NULL
;
2628 fra
.me
.REG
[0] = NIT_NULL
;
2631 /* syntax/mmbuilder.nit:428 */
2632 ATTR_syntax___mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0]) = REGB0
;
2633 stack_frame_head
= fra
.me
.prev
;
2636 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___signature
[] = "mmbuilder::SignatureBuilder::signature";
2637 val_t
syntax___mmbuilder___SignatureBuilder___signature(val_t p0
){
2638 struct {struct stack_frame_t me
;} fra
;
2640 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2641 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2643 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___signature
;
2644 fra
.me
.has_broke
= 0;
2645 fra
.me
.REG_size
= 1;
2646 fra
.me
.nitni_local_ref_head
= NULL
;
2647 fra
.me
.REG
[0] = NIT_NULL
;
2649 /* syntax/mmbuilder.nit:431 */
2650 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___SignatureBuilder____signature(fra
.me
.REG
[0]);
2651 stack_frame_head
= fra
.me
.prev
;
2652 return fra
.me
.REG
[0];
2654 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___signature__eq
[] = "mmbuilder::SignatureBuilder::signature=";
2655 void syntax___mmbuilder___SignatureBuilder___signature__eq(val_t p0
, val_t p1
){
2656 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2658 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2659 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2661 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___signature__eq
;
2662 fra
.me
.has_broke
= 0;
2663 fra
.me
.REG_size
= 2;
2664 fra
.me
.nitni_local_ref_head
= NULL
;
2665 fra
.me
.REG
[0] = NIT_NULL
;
2666 fra
.me
.REG
[1] = NIT_NULL
;
2669 /* syntax/mmbuilder.nit:431 */
2670 ATTR_syntax___mmbuilder___SignatureBuilder____signature(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2671 stack_frame_head
= fra
.me
.prev
;
2674 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___init
[] = "mmbuilder::SignatureBuilder::init";
2675 void syntax___mmbuilder___SignatureBuilder___init(val_t p0
, int* init_table
){
2676 int itpos8
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___SignatureBuilder
].i
;
2677 struct {struct stack_frame_t me
;} fra
;
2679 if (init_table
[itpos8
]) return;
2680 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2681 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2683 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___init
;
2684 fra
.me
.has_broke
= 0;
2685 fra
.me
.REG_size
= 0;
2686 fra
.me
.nitni_local_ref_head
= NULL
;
2687 stack_frame_head
= fra
.me
.prev
;
2688 init_table
[itpos8
] = 1;
2691 static const char LOCATE_syntax___mmbuilder___ANode___accept_class_builder
[] = "mmbuilder::ANode::accept_class_builder";
2692 void syntax___mmbuilder___ANode___accept_class_builder(val_t p0
, val_t p1
){
2693 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2695 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2696 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2698 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_class_builder
;
2699 fra
.me
.has_broke
= 0;
2700 fra
.me
.REG_size
= 2;
2701 fra
.me
.nitni_local_ref_head
= NULL
;
2702 fra
.me
.REG
[0] = NIT_NULL
;
2703 fra
.me
.REG
[1] = NIT_NULL
;
2706 /* syntax/mmbuilder.nit:438 */
2707 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2708 stack_frame_head
= fra
.me
.prev
;
2711 static const char LOCATE_syntax___mmbuilder___ANode___accept_class_specialization_builder
[] = "mmbuilder::ANode::accept_class_specialization_builder";
2712 void syntax___mmbuilder___ANode___accept_class_specialization_builder(val_t p0
, val_t p1
){
2713 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2715 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2716 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2718 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_class_specialization_builder
;
2719 fra
.me
.has_broke
= 0;
2720 fra
.me
.REG_size
= 2;
2721 fra
.me
.nitni_local_ref_head
= NULL
;
2722 fra
.me
.REG
[0] = NIT_NULL
;
2723 fra
.me
.REG
[1] = NIT_NULL
;
2726 /* syntax/mmbuilder.nit:439 */
2727 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2728 stack_frame_head
= fra
.me
.prev
;
2731 static const char LOCATE_syntax___mmbuilder___ANode___accept_class_ancestor_builder
[] = "mmbuilder::ANode::accept_class_ancestor_builder";
2732 void syntax___mmbuilder___ANode___accept_class_ancestor_builder(val_t p0
, val_t p1
){
2733 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2735 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2736 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2738 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_class_ancestor_builder
;
2739 fra
.me
.has_broke
= 0;
2740 fra
.me
.REG_size
= 2;
2741 fra
.me
.nitni_local_ref_head
= NULL
;
2742 fra
.me
.REG
[0] = NIT_NULL
;
2743 fra
.me
.REG
[1] = NIT_NULL
;
2746 /* syntax/mmbuilder.nit:440 */
2747 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2748 stack_frame_head
= fra
.me
.prev
;
2751 static const char LOCATE_syntax___mmbuilder___ANode___accept_class_verifier
[] = "mmbuilder::ANode::accept_class_verifier";
2752 void syntax___mmbuilder___ANode___accept_class_verifier(val_t p0
, val_t p1
){
2753 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2755 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2756 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2758 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_class_verifier
;
2759 fra
.me
.has_broke
= 0;
2760 fra
.me
.REG_size
= 2;
2761 fra
.me
.nitni_local_ref_head
= NULL
;
2762 fra
.me
.REG
[0] = NIT_NULL
;
2763 fra
.me
.REG
[1] = NIT_NULL
;
2766 /* syntax/mmbuilder.nit:441 */
2767 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2768 stack_frame_head
= fra
.me
.prev
;
2771 static const char LOCATE_syntax___mmbuilder___ANode___accept_property_builder
[] = "mmbuilder::ANode::accept_property_builder";
2772 void syntax___mmbuilder___ANode___accept_property_builder(val_t p0
, val_t p1
){
2773 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2775 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2776 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2778 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_property_builder
;
2779 fra
.me
.has_broke
= 0;
2780 fra
.me
.REG_size
= 2;
2781 fra
.me
.nitni_local_ref_head
= NULL
;
2782 fra
.me
.REG
[0] = NIT_NULL
;
2783 fra
.me
.REG
[1] = NIT_NULL
;
2786 /* syntax/mmbuilder.nit:442 */
2787 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2788 stack_frame_head
= fra
.me
.prev
;
2791 static const char LOCATE_syntax___mmbuilder___ANode___accept_property_verifier
[] = "mmbuilder::ANode::accept_property_verifier";
2792 void syntax___mmbuilder___ANode___accept_property_verifier(val_t p0
, val_t p1
){
2793 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2795 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2796 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2798 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_property_verifier
;
2799 fra
.me
.has_broke
= 0;
2800 fra
.me
.REG_size
= 2;
2801 fra
.me
.nitni_local_ref_head
= NULL
;
2802 fra
.me
.REG
[0] = NIT_NULL
;
2803 fra
.me
.REG
[1] = NIT_NULL
;
2806 /* syntax/mmbuilder.nit:443 */
2807 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2808 stack_frame_head
= fra
.me
.prev
;
2811 static const char LOCATE_syntax___mmbuilder___AModule___import_super_modules
[] = "mmbuilder::AModule::import_super_modules";
2812 void syntax___mmbuilder___AModule___import_super_modules(val_t p0
, val_t p1
, val_t p2
){
2813 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2817 static val_t once_value_2
; /* Once value */
2818 static val_t once_value_3
; /* Once value */
2819 static val_t once_value_4
; /* Once value */
2820 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2821 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2823 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AModule___import_super_modules
;
2824 fra
.me
.has_broke
= 0;
2825 fra
.me
.REG_size
= 5;
2826 fra
.me
.nitni_local_ref_head
= NULL
;
2827 fra
.me
.REG
[0] = NIT_NULL
;
2828 fra
.me
.REG
[1] = NIT_NULL
;
2829 fra
.me
.REG
[2] = NIT_NULL
;
2830 fra
.me
.REG
[3] = NIT_NULL
;
2831 fra
.me
.REG
[4] = NIT_NULL
;
2835 /* syntax/mmbuilder.nit:451 */
2836 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___init();
2837 /* syntax/mmbuilder.nit:452 */
2838 fra
.me
.REG
[4] = NIT_NULL
;
2839 /* syntax/mmbuilder.nit:453 */
2840 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AModule___n_imports(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2841 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___AModule___import_super_modules_1
));
2842 /* syntax/mmbuilder.nit:463 */
2843 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2844 if (UNTAG_Bool(REGB0
)) {
2846 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2847 if (UNTAG_Bool(REGB1
)) {
2848 REGB1
= TAG_Bool(0);
2851 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
2855 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2856 if (UNTAG_Bool(REGB0
)) {
2857 /* syntax/mmbuilder.nit:464 */
2858 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2859 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2860 if (UNTAG_Bool(REGB0
)) {
2861 /* syntax/mmbuilder.nit:465 */
2862 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2863 if (UNTAG_Bool(REGB0
)) {
2864 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 465);
2866 fra
.me
.REG
[4] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2867 if (!once_value_2
) {
2868 fra
.me
.REG
[0] = BOX_NativeString("Error: Top modules cannot import other modules.");
2869 REGB0
= TAG_Int(47);
2870 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2871 once_value_2
= fra
.me
.REG
[0];
2872 register_static_object(&once_value_2
);
2873 } else fra
.me
.REG
[0] = once_value_2
;
2874 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2875 CALL_toolcontext___ToolContext___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[0]);
2878 /* syntax/mmbuilder.nit:467 */
2879 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2880 if (UNTAG_Bool(REGB0
)) {
2881 /* syntax/mmbuilder.nit:468 */
2882 if (!once_value_3
) {
2883 if (!once_value_4
) {
2884 fra
.me
.REG
[0] = BOX_NativeString("standard");
2886 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2887 once_value_4
= fra
.me
.REG
[0];
2888 register_static_object(&once_value_4
);
2889 } else fra
.me
.REG
[0] = once_value_4
;
2890 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2891 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2892 once_value_3
= fra
.me
.REG
[0];
2893 register_static_object(&once_value_3
);
2894 } else fra
.me
.REG
[0] = once_value_3
;
2895 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2896 /* syntax/mmbuilder.nit:469 */
2897 fra
.me
.REG
[0] = CALL_mmloader___ToolContext___get_module(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
2898 /* syntax/mmbuilder.nit:470 */
2899 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2900 /* syntax/mmbuilder.nit:471 */
2902 CALL_metamodel___abstractmetamodel___MMModule___add_super_module(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0], REGB0
);
2905 /* syntax/mmbuilder.nit:474 */
2906 CALL_metamodel___abstractmetamodel___MMContext___add_module(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[3]);
2907 stack_frame_head
= fra
.me
.prev
;
2910 void OC_syntax___mmbuilder___AModule___import_super_modules_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
2911 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2916 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2917 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2919 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AModule___import_super_modules
;
2920 fra
.me
.has_broke
= 0;
2921 fra
.me
.REG_size
= 2;
2922 fra
.me
.nitni_local_ref_head
= NULL
;
2923 fra
.me
.REG
[0] = NIT_NULL
;
2924 fra
.me
.REG
[1] = NIT_NULL
;
2925 fra
.me
.closure_ctx
= closctx_param
;
2926 fra
.me
.closure_funs
= CREG
;
2928 CREG
[0] = clos_fun0
;
2929 /* syntax/mmbuilder.nit:454 */
2930 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___AImport___module_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2931 /* syntax/mmbuilder.nit:455 */
2932 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2933 if (UNTAG_Bool(REGB0
)) {
2935 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2936 if (UNTAG_Bool(REGB1
)) {
2937 REGB1
= TAG_Bool(0);
2940 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
2944 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2945 if (UNTAG_Bool(REGB0
)) {
2946 /* syntax/mmbuilder.nit:456 */
2947 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___get_module(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[1], closctx
->REG
[2]);
2948 /* syntax/mmbuilder.nit:457 */
2949 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[1]);
2950 /* syntax/mmbuilder.nit:458 */
2951 REGB0
= CALL_syntax___mmbuilder___AImport___visibility_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2952 CALL_metamodel___abstractmetamodel___MMModule___add_super_module(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[1], REGB0
);
2954 /* syntax/mmbuilder.nit:460 */
2955 closctx
->REG
[4] = fra
.me
.REG
[0];
2957 stack_frame_head
= fra
.me
.prev
;
2960 static const char LOCATE_syntax___mmbuilder___AModuledecl___accept_class_builder
[] = "mmbuilder::AModuledecl::(mmbuilder::ANode::accept_class_builder)";
2961 void syntax___mmbuilder___AModuledecl___accept_class_builder(val_t p0
, val_t p1
){
2962 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2966 static val_t once_value_1
; /* Once value */
2967 static val_t once_value_2
; /* Once value */
2968 static val_t once_value_3
; /* Once value */
2969 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2970 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2972 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AModuledecl___accept_class_builder
;
2973 fra
.me
.has_broke
= 0;
2974 fra
.me
.REG_size
= 5;
2975 fra
.me
.nitni_local_ref_head
= NULL
;
2976 fra
.me
.REG
[0] = NIT_NULL
;
2977 fra
.me
.REG
[1] = NIT_NULL
;
2978 fra
.me
.REG
[2] = NIT_NULL
;
2979 fra
.me
.REG
[3] = NIT_NULL
;
2980 fra
.me
.REG
[4] = NIT_NULL
;
2983 /* syntax/mmbuilder.nit:481 */
2984 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AModuledecl___n_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2985 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AModuleName___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2986 fra
.me
.REG
[2] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2987 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2988 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2989 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[3]));
2990 if (UNTAG_Bool(REGB0
)) {
2992 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2995 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2996 if (UNTAG_Bool(REGB0
)) {
2997 /* syntax/mmbuilder.nit:482 */
2998 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AModuledecl___n_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2999 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AModuleName___n_id(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3001 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3002 if (!once_value_1
) {
3003 fra
.me
.REG
[4] = BOX_NativeString("Error: Module name mismatch between ");
3004 REGB0
= TAG_Int(36);
3005 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3006 once_value_1
= fra
.me
.REG
[4];
3007 register_static_object(&once_value_1
);
3008 } else fra
.me
.REG
[4] = once_value_1
;
3009 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3010 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
3011 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3012 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3013 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3014 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
3015 if (!once_value_2
) {
3016 fra
.me
.REG
[4] = BOX_NativeString(" and ");
3018 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3019 once_value_2
= fra
.me
.REG
[4];
3020 register_static_object(&once_value_2
);
3021 } else fra
.me
.REG
[4] = once_value_2
;
3022 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3023 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
3024 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AModuledecl___n_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3025 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AModuleName___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3026 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3027 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3028 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3029 if (!once_value_3
) {
3030 fra
.me
.REG
[0] = BOX_NativeString("");
3032 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3033 once_value_3
= fra
.me
.REG
[0];
3034 register_static_object(&once_value_3
);
3035 } else fra
.me
.REG
[0] = once_value_3
;
3036 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3037 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3038 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3039 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3], fra
.me
.REG
[2]);
3041 stack_frame_head
= fra
.me
.prev
;
3044 static const char LOCATE_syntax___mmbuilder___AImport___module_name
[] = "mmbuilder::AImport::module_name";
3045 val_t
syntax___mmbuilder___AImport___module_name(val_t p0
){
3046 struct {struct stack_frame_t me
;} fra
;
3048 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3049 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3051 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AImport___module_name
;
3052 fra
.me
.has_broke
= 0;
3053 fra
.me
.REG_size
= 0;
3054 fra
.me
.nitni_local_ref_head
= NULL
;
3055 /* syntax/mmbuilder.nit:488 */
3056 nit_abort("Deferred method called", NULL
, LOCATE_syntax___mmbuilder
, 488);
3057 stack_frame_head
= fra
.me
.prev
;
3060 static const char LOCATE_syntax___mmbuilder___AImport___visibility_level
[] = "mmbuilder::AImport::visibility_level";
3061 val_t
syntax___mmbuilder___AImport___visibility_level(val_t p0
){
3062 struct {struct stack_frame_t me
;} fra
;
3064 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3065 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3067 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AImport___visibility_level
;
3068 fra
.me
.has_broke
= 0;
3069 fra
.me
.REG_size
= 0;
3070 fra
.me
.nitni_local_ref_head
= NULL
;
3071 /* syntax/mmbuilder.nit:491 */
3072 nit_abort("Deferred method called", NULL
, LOCATE_syntax___mmbuilder
, 491);
3073 stack_frame_head
= fra
.me
.prev
;
3076 static const char LOCATE_syntax___mmbuilder___AStdImport___module_name
[] = "mmbuilder::AStdImport::(mmbuilder::AImport::module_name)";
3077 val_t
syntax___mmbuilder___AStdImport___module_name(val_t p0
){
3078 struct {struct stack_frame_t me
;} fra
;
3080 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3081 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3083 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdImport___module_name
;
3084 fra
.me
.has_broke
= 0;
3085 fra
.me
.REG_size
= 1;
3086 fra
.me
.nitni_local_ref_head
= NULL
;
3087 fra
.me
.REG
[0] = NIT_NULL
;
3089 /* syntax/mmbuilder.nit:497 */
3090 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdImport___n_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3091 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AModuleName___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3092 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3095 stack_frame_head
= fra
.me
.prev
;
3096 return fra
.me
.REG
[0];
3098 static const char LOCATE_syntax___mmbuilder___AStdImport___visibility_level
[] = "mmbuilder::AStdImport::(mmbuilder::AImport::visibility_level)";
3099 val_t
syntax___mmbuilder___AStdImport___visibility_level(val_t p0
){
3100 struct {struct stack_frame_t me
;} fra
;
3103 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3104 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3106 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdImport___visibility_level
;
3107 fra
.me
.has_broke
= 0;
3108 fra
.me
.REG_size
= 1;
3109 fra
.me
.nitni_local_ref_head
= NULL
;
3110 fra
.me
.REG
[0] = NIT_NULL
;
3112 /* syntax/mmbuilder.nit:501 */
3113 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdImport___n_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3114 REGB0
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3117 stack_frame_head
= fra
.me
.prev
;
3120 static const char LOCATE_syntax___mmbuilder___ANoImport___module_name
[] = "mmbuilder::ANoImport::(mmbuilder::AImport::module_name)";
3121 val_t
syntax___mmbuilder___ANoImport___module_name(val_t p0
){
3122 struct {struct stack_frame_t me
;} fra
;
3124 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3125 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3127 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANoImport___module_name
;
3128 fra
.me
.has_broke
= 0;
3129 fra
.me
.REG_size
= 1;
3130 fra
.me
.nitni_local_ref_head
= NULL
;
3131 fra
.me
.REG
[0] = NIT_NULL
;
3133 /* syntax/mmbuilder.nit:507 */
3134 fra
.me
.REG
[0] = NIT_NULL
;
3137 stack_frame_head
= fra
.me
.prev
;
3138 return fra
.me
.REG
[0];
3140 static const char LOCATE_syntax___mmbuilder___AVisibility___level
[] = "mmbuilder::AVisibility::level";
3141 val_t
syntax___mmbuilder___AVisibility___level(val_t p0
){
3142 struct {struct stack_frame_t me
;} fra
;
3144 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3145 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3147 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AVisibility___level
;
3148 fra
.me
.has_broke
= 0;
3149 fra
.me
.REG_size
= 0;
3150 fra
.me
.nitni_local_ref_head
= NULL
;
3151 /* syntax/mmbuilder.nit:512 */
3152 nit_abort("Deferred method called", NULL
, LOCATE_syntax___mmbuilder
, 512);
3153 stack_frame_head
= fra
.me
.prev
;
3156 static const char LOCATE_syntax___mmbuilder___APublicVisibility___level
[] = "mmbuilder::APublicVisibility::(mmbuilder::AVisibility::level)";
3157 val_t
syntax___mmbuilder___APublicVisibility___level(val_t p0
){
3158 struct {struct stack_frame_t me
;} fra
;
3161 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3162 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3164 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APublicVisibility___level
;
3165 fra
.me
.has_broke
= 0;
3166 fra
.me
.REG_size
= 1;
3167 fra
.me
.nitni_local_ref_head
= NULL
;
3168 fra
.me
.REG
[0] = NIT_NULL
;
3170 /* syntax/mmbuilder.nit:516 */
3174 stack_frame_head
= fra
.me
.prev
;
3177 static const char LOCATE_syntax___mmbuilder___AProtectedVisibility___level
[] = "mmbuilder::AProtectedVisibility::(mmbuilder::AVisibility::level)";
3178 val_t
syntax___mmbuilder___AProtectedVisibility___level(val_t p0
){
3179 struct {struct stack_frame_t me
;} fra
;
3182 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3183 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3185 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AProtectedVisibility___level
;
3186 fra
.me
.has_broke
= 0;
3187 fra
.me
.REG_size
= 1;
3188 fra
.me
.nitni_local_ref_head
= NULL
;
3189 fra
.me
.REG
[0] = NIT_NULL
;
3191 /* syntax/mmbuilder.nit:519 */
3195 stack_frame_head
= fra
.me
.prev
;
3198 static const char LOCATE_syntax___mmbuilder___APrivateVisibility___level
[] = "mmbuilder::APrivateVisibility::(mmbuilder::AVisibility::level)";
3199 val_t
syntax___mmbuilder___APrivateVisibility___level(val_t p0
){
3200 struct {struct stack_frame_t me
;} fra
;
3203 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3204 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3206 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APrivateVisibility___level
;
3207 fra
.me
.has_broke
= 0;
3208 fra
.me
.REG_size
= 1;
3209 fra
.me
.nitni_local_ref_head
= NULL
;
3210 fra
.me
.REG
[0] = NIT_NULL
;
3212 /* syntax/mmbuilder.nit:522 */
3216 stack_frame_head
= fra
.me
.prev
;
3219 static const char LOCATE_syntax___mmbuilder___AIntrudeVisibility___level
[] = "mmbuilder::AIntrudeVisibility::(mmbuilder::AVisibility::level)";
3220 val_t
syntax___mmbuilder___AIntrudeVisibility___level(val_t p0
){
3221 struct {struct stack_frame_t me
;} fra
;
3224 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3225 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3227 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AIntrudeVisibility___level
;
3228 fra
.me
.has_broke
= 0;
3229 fra
.me
.REG_size
= 1;
3230 fra
.me
.nitni_local_ref_head
= NULL
;
3231 fra
.me
.REG
[0] = NIT_NULL
;
3233 /* syntax/mmbuilder.nit:525 */
3237 stack_frame_head
= fra
.me
.prev
;
3240 static const char LOCATE_syntax___mmbuilder___AClassdef___local_class
[] = "mmbuilder::AClassdef::(syntax_base::AClassdef::local_class)";
3241 val_t
syntax___mmbuilder___AClassdef___local_class(val_t p0
){
3242 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3245 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3246 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3248 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___local_class
;
3249 fra
.me
.has_broke
= 0;
3250 fra
.me
.REG_size
= 2;
3251 fra
.me
.nitni_local_ref_head
= NULL
;
3252 fra
.me
.REG
[0] = NIT_NULL
;
3253 fra
.me
.REG
[1] = NIT_NULL
;
3255 /* syntax/mmbuilder.nit:530 */
3256 fra
.me
.REG
[1] = fra
.me
.REG
[0];
3257 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[1]);
3258 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
3259 if (UNTAG_Bool(REGB0
)) {
3261 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 530);
3265 stack_frame_head
= fra
.me
.prev
;
3266 return fra
.me
.REG
[1];
3268 static const char LOCATE_syntax___mmbuilder___AClassdef___name
[] = "mmbuilder::AClassdef::name";
3269 val_t
syntax___mmbuilder___AClassdef___name(val_t p0
){
3270 struct {struct stack_frame_t me
;} fra
;
3272 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3273 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3275 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___name
;
3276 fra
.me
.has_broke
= 0;
3277 fra
.me
.REG_size
= 0;
3278 fra
.me
.nitni_local_ref_head
= NULL
;
3279 /* syntax/mmbuilder.nit:533 */
3280 nit_abort("Deferred method called", NULL
, LOCATE_syntax___mmbuilder
, 533);
3281 stack_frame_head
= fra
.me
.prev
;
3284 static const char LOCATE_syntax___mmbuilder___AClassdef___arity
[] = "mmbuilder::AClassdef::arity";
3285 val_t
syntax___mmbuilder___AClassdef___arity(val_t p0
){
3286 struct {struct stack_frame_t me
;} fra
;
3289 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3290 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3292 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___arity
;
3293 fra
.me
.has_broke
= 0;
3294 fra
.me
.REG_size
= 1;
3295 fra
.me
.nitni_local_ref_head
= NULL
;
3296 fra
.me
.REG
[0] = NIT_NULL
;
3298 /* syntax/mmbuilder.nit:537 */
3302 stack_frame_head
= fra
.me
.prev
;
3305 static const char LOCATE_syntax___mmbuilder___AClassdef___visibility_level
[] = "mmbuilder::AClassdef::visibility_level";
3306 val_t
syntax___mmbuilder___AClassdef___visibility_level(val_t p0
){
3307 struct {struct stack_frame_t me
;} fra
;
3310 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3311 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3313 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___visibility_level
;
3314 fra
.me
.has_broke
= 0;
3315 fra
.me
.REG_size
= 1;
3316 fra
.me
.nitni_local_ref_head
= NULL
;
3317 fra
.me
.REG
[0] = NIT_NULL
;
3319 /* syntax/mmbuilder.nit:540 */
3323 stack_frame_head
= fra
.me
.prev
;
3326 static const char LOCATE_syntax___mmbuilder___AClassdef___accept_class_builder
[] = "mmbuilder::AClassdef::(mmbuilder::ANode::accept_class_builder)";
3327 void syntax___mmbuilder___AClassdef___accept_class_builder(val_t p0
, val_t p1
){
3328 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
3332 static val_t once_value_1
; /* Once value */
3333 static val_t once_value_2
; /* Once value */
3334 static val_t once_value_3
; /* Once value */
3335 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3336 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3338 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___accept_class_builder
;
3339 fra
.me
.has_broke
= 0;
3340 fra
.me
.REG_size
= 9;
3341 fra
.me
.nitni_local_ref_head
= NULL
;
3342 fra
.me
.REG
[0] = NIT_NULL
;
3343 fra
.me
.REG
[1] = NIT_NULL
;
3344 fra
.me
.REG
[2] = NIT_NULL
;
3345 fra
.me
.REG
[3] = NIT_NULL
;
3346 fra
.me
.REG
[4] = NIT_NULL
;
3347 fra
.me
.REG
[5] = NIT_NULL
;
3348 fra
.me
.REG
[6] = NIT_NULL
;
3349 fra
.me
.REG
[7] = NIT_NULL
;
3350 fra
.me
.REG
[8] = NIT_NULL
;
3353 /* syntax/mmbuilder.nit:542 */
3354 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3355 fra
.me
.REG
[3] = fra
.me
.REG
[1];
3356 /* syntax/mmbuilder.nit:545 */
3357 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3358 /* syntax/mmbuilder.nit:546 */
3359 fra
.me
.REG
[5] = CALL_syntax___syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3360 /* syntax/mmbuilder.nit:547 */
3361 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3362 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3363 if (UNTAG_Bool(REGB0
)) {
3364 /* syntax/mmbuilder.nit:548 */
3365 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3366 fra
.me
.REG
[6] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3367 /* syntax/mmbuilder.nit:549 */
3368 ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[6];
3369 /* syntax/mmbuilder.nit:550 */
3370 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_parser___parser_nodes___AStdClassdef
, ID_parser___parser_nodes___AStdClassdef
)) /*cast AStdClassdef*/;
3371 if (UNTAG_Bool(REGB0
)) {
3372 /* syntax/mmbuilder.nit:552 */
3374 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3375 if (!once_value_1
) {
3376 fra
.me
.REG
[8] = BOX_NativeString("Error: A class ");
3377 REGB0
= TAG_Int(15);
3378 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3379 once_value_1
= fra
.me
.REG
[8];
3380 register_static_object(&once_value_1
);
3381 } else fra
.me
.REG
[8] = once_value_1
;
3382 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3383 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3384 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3385 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3386 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3387 if (!once_value_2
) {
3388 fra
.me
.REG
[8] = BOX_NativeString(" is already defined at line ");
3389 REGB0
= TAG_Int(28);
3390 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3391 once_value_2
= fra
.me
.REG
[8];
3392 register_static_object(&once_value_2
);
3393 } else fra
.me
.REG
[8] = once_value_2
;
3394 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3395 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3396 fra
.me
.REG
[8] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3397 REGB0
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
3398 if (UNTAG_Bool(REGB0
)) {
3399 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 552);
3401 fra
.me
.REG
[8] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3402 REGB0
= CALL_location___Location___line_start(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3403 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
3404 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3405 if (!once_value_3
) {
3406 fra
.me
.REG
[8] = BOX_NativeString(".");
3408 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3409 once_value_3
= fra
.me
.REG
[8];
3410 register_static_object(&once_value_3
);
3411 } else fra
.me
.REG
[8] = once_value_3
;
3412 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3413 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3414 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3415 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3416 /* syntax/mmbuilder.nit:553 */
3419 /* syntax/mmbuilder.nit:556 */
3420 fra
.me
.REG
[7] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3421 /* syntax/mmbuilder.nit:557 */
3423 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3424 if (UNTAG_Bool(REGB0
)) {
3425 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 557);
3427 fra
.me
.REG
[8] = CALL_syntax___syntax_base___AClassdef___next_node(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3428 REGB0
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
3429 if (UNTAG_Bool(REGB0
)) {
3431 REGB1
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
3432 if (UNTAG_Bool(REGB1
)) {
3433 REGB1
= TAG_Bool(0);
3436 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
3440 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3441 if (UNTAG_Bool(REGB0
)) {
3442 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3443 if (UNTAG_Bool(REGB0
)) {
3444 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 557);
3446 fra
.me
.REG
[8] = CALL_syntax___syntax_base___AClassdef___next_node(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3447 fra
.me
.REG
[7] = fra
.me
.REG
[8];
3453 /* syntax/mmbuilder.nit:558 */
3454 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3455 if (UNTAG_Bool(REGB0
)) {
3456 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 558);
3458 CALL_syntax___syntax_base___AClassdef___next_node__eq(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2]);
3460 /* syntax/mmbuilder.nit:560 */
3461 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3462 REGB0
= CALL_syntax___mmbuilder___AClassdef___arity(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3463 fra
.me
.REG
[7] = NEW_MMSrcLocalClass_syntax___syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[4], fra
.me
.REG
[7], fra
.me
.REG
[2], REGB0
);
3464 fra
.me
.REG
[6] = fra
.me
.REG
[7];
3465 /* syntax/mmbuilder.nit:561 */
3466 ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[6];
3467 /* syntax/mmbuilder.nit:562 */
3468 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3469 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7], fra
.me
.REG
[6]);
3470 /* syntax/mmbuilder.nit:563 */
3471 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3472 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
3473 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3474 if (UNTAG_Bool(REGB0
)) {
3475 /* syntax/mmbuilder.nit:564 */
3476 CALL_syntax___mmbuilder___AClassdef___build_class_introduction(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3478 /* syntax/mmbuilder.nit:566 */
3479 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3480 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMModule___global_class_named(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
3481 /* syntax/mmbuilder.nit:567 */
3482 CALL_syntax___mmbuilder___AClassdef___build_class_refinement(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[7]);
3485 /* syntax/mmbuilder.nit:571 */
3487 CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
3488 /* syntax/mmbuilder.nit:572 */
3489 fra
.me
.REG
[6] = CALL_syntax___syntax_base___MMSrcLocalClass___formal_dict(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3490 CALL_syntax___mmbuilder___ClassBuilderVisitor___formals__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3491 /* syntax/mmbuilder.nit:575 */
3492 CALL_SUPER_syntax___mmbuilder___AClassdef___accept_class_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3493 /* syntax/mmbuilder.nit:578 */
3494 CALL_syntax___mmbuilder___ClassBuilderVisitor___formals__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3496 stack_frame_head
= fra
.me
.prev
;
3499 static const char LOCATE_syntax___mmbuilder___AClassdef___build_class_introduction
[] = "mmbuilder::AClassdef::build_class_introduction";
3500 void syntax___mmbuilder___AClassdef___build_class_introduction(val_t p0
, val_t p1
){
3501 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
3505 static val_t once_value_1
; /* Once value */
3506 static val_t once_value_2
; /* Once value */
3507 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3508 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3510 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___build_class_introduction
;
3511 fra
.me
.has_broke
= 0;
3512 fra
.me
.REG_size
= 5;
3513 fra
.me
.nitni_local_ref_head
= NULL
;
3514 fra
.me
.REG
[0] = NIT_NULL
;
3515 fra
.me
.REG
[1] = NIT_NULL
;
3516 fra
.me
.REG
[2] = NIT_NULL
;
3517 fra
.me
.REG
[3] = NIT_NULL
;
3518 fra
.me
.REG
[4] = NIT_NULL
;
3521 /* syntax/mmbuilder.nit:583 */
3522 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3523 CALL_metamodel___abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3524 /* syntax/mmbuilder.nit:584 */
3525 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3526 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3527 /* syntax/mmbuilder.nit:586 */
3528 REGB0
= CALL_syntax___mmbuilder___AClassdef___visibility_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3529 CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3530 /* syntax/mmbuilder.nit:587 */
3531 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AStdClassdef
, ID_parser___parser_nodes___AStdClassdef
)) /*cast AStdClassdef*/;
3532 if (UNTAG_Bool(REGB0
)) {
3533 /* syntax/mmbuilder.nit:588 */
3534 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3535 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3536 if (UNTAG_Bool(REGB0
)) {
3538 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3539 if (UNTAG_Bool(REGB1
)) {
3540 REGB1
= TAG_Bool(0);
3543 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3547 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3548 if (UNTAG_Bool(REGB0
)) {
3549 /* syntax/mmbuilder.nit:589 */
3551 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3552 if (!once_value_1
) {
3553 fra
.me
.REG
[4] = BOX_NativeString("Redef error: No class ");
3554 REGB0
= TAG_Int(22);
3555 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3556 once_value_1
= fra
.me
.REG
[4];
3557 register_static_object(&once_value_1
);
3558 } else fra
.me
.REG
[4] = once_value_1
;
3559 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3560 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3561 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3562 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3563 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3564 if (!once_value_2
) {
3565 fra
.me
.REG
[4] = BOX_NativeString(" is imported. Remove the redef keyword to define a new class.");
3566 REGB0
= TAG_Int(61);
3567 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3568 once_value_2
= fra
.me
.REG
[4];
3569 register_static_object(&once_value_2
);
3570 } else fra
.me
.REG
[4] = once_value_2
;
3571 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3572 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3573 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3574 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
3575 /* syntax/mmbuilder.nit:590 */
3578 /* syntax/mmbuilder.nit:592 */
3579 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3580 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_interface(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3581 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3582 /* syntax/mmbuilder.nit:593 */
3583 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3584 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3585 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3586 /* syntax/mmbuilder.nit:594 */
3587 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3588 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_enum(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3589 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3592 stack_frame_head
= fra
.me
.prev
;
3595 static const char LOCATE_syntax___mmbuilder___AClassdef___build_class_refinement
[] = "mmbuilder::AClassdef::build_class_refinement";
3596 void syntax___mmbuilder___AClassdef___build_class_refinement(val_t p0
, val_t p1
, val_t p2
){
3597 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
3602 static val_t once_value_1
; /* Once value */
3603 static val_t once_value_2
; /* Once value */
3604 static val_t once_value_4
; /* Once value */
3605 static val_t once_value_5
; /* Once value */
3606 static val_t once_value_6
; /* Once value */
3607 static val_t once_value_7
; /* Once value */
3608 static val_t once_value_8
; /* Once value */
3609 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3610 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3612 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___build_class_refinement
;
3613 fra
.me
.has_broke
= 0;
3614 fra
.me
.REG_size
= 5;
3615 fra
.me
.nitni_local_ref_head
= NULL
;
3616 fra
.me
.REG
[0] = NIT_NULL
;
3617 fra
.me
.REG
[1] = NIT_NULL
;
3618 fra
.me
.REG
[2] = NIT_NULL
;
3619 fra
.me
.REG
[3] = NIT_NULL
;
3620 fra
.me
.REG
[4] = NIT_NULL
;
3624 /* syntax/mmbuilder.nit:600 */
3625 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3626 CALL_metamodel___abstractmetamodel___MMLocalClass___set_global(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3627 /* syntax/mmbuilder.nit:602 */
3628 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3629 CALL_syntax___syntax_base___MMGlobalClass___check_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
3630 /* syntax/mmbuilder.nit:603 */
3631 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AStdClassdef
, ID_parser___parser_nodes___AStdClassdef
)) /*cast AStdClassdef*/;
3632 if (UNTAG_Bool(REGB0
)) {
3633 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3634 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3635 if (UNTAG_Bool(REGB0
)) {
3637 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3638 if (UNTAG_Bool(REGB1
)) {
3639 REGB1
= TAG_Bool(0);
3642 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3647 REGB1
= TAG_Bool(0);
3650 if (UNTAG_Bool(REGB0
)) {
3651 /* syntax/mmbuilder.nit:604 */
3653 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3654 if (!once_value_1
) {
3655 fra
.me
.REG
[4] = BOX_NativeString("Redef error: ");
3656 REGB0
= TAG_Int(13);
3657 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3658 once_value_1
= fra
.me
.REG
[4];
3659 register_static_object(&once_value_1
);
3660 } else fra
.me
.REG
[4] = once_value_1
;
3661 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3662 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3663 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3664 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3665 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3666 if (!once_value_2
) {
3667 fra
.me
.REG
[4] = BOX_NativeString(" is an imported class. Add the redef keyword to refine it.");
3668 REGB0
= TAG_Int(58);
3669 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3670 once_value_2
= fra
.me
.REG
[4];
3671 register_static_object(&once_value_2
);
3672 } else fra
.me
.REG
[4] = once_value_2
;
3673 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3674 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3675 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3676 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
3677 /* syntax/mmbuilder.nit:605 */
3680 /* syntax/mmbuilder.nit:608 */
3681 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3682 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3683 fra
.me
.REG
[3] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[0]);
3684 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3685 if (UNTAG_Bool(REGB1
)) {
3686 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 608);
3688 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3689 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
3690 if (UNTAG_Bool(REGB2
)) {
3692 /* ../lib/standard/kernel.nit:230 */
3693 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
3694 /* syntax/mmbuilder.nit:608 */
3697 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
3698 if (UNTAG_Bool(REGB2
)) {
3699 /* syntax/mmbuilder.nit:609 */
3701 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
3702 if (!once_value_4
) {
3703 fra
.me
.REG
[4] = BOX_NativeString("Redef error: Formal parameter arity missmatch; got ");
3704 REGB2
= TAG_Int(51);
3705 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
3706 once_value_4
= fra
.me
.REG
[4];
3707 register_static_object(&once_value_4
);
3708 } else fra
.me
.REG
[4] = once_value_4
;
3709 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3710 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3711 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[0]);
3712 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3713 if (UNTAG_Bool(REGB2
)) {
3714 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 609);
3716 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3717 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
3718 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3719 if (!once_value_5
) {
3720 fra
.me
.REG
[4] = BOX_NativeString(", expected ");
3721 REGB2
= TAG_Int(11);
3722 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
3723 once_value_5
= fra
.me
.REG
[4];
3724 register_static_object(&once_value_5
);
3725 } else fra
.me
.REG
[4] = once_value_5
;
3726 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3727 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3728 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3729 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3730 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
3731 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3732 if (!once_value_6
) {
3733 fra
.me
.REG
[4] = BOX_NativeString(".");
3735 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
3736 once_value_6
= fra
.me
.REG
[4];
3737 register_static_object(&once_value_6
);
3738 } else fra
.me
.REG
[4] = once_value_6
;
3739 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3740 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3741 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3742 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
3744 /* syntax/mmbuilder.nit:612 */
3745 REGB2
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AStdClassdef
, ID_parser___parser_nodes___AStdClassdef
)) /*cast AStdClassdef*/;
3746 if (UNTAG_Bool(REGB2
)) {
3747 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3748 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
3749 if (UNTAG_Bool(REGB2
)) {
3750 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3751 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_interface(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3753 REGB1
= TAG_Bool(0);
3756 if (UNTAG_Bool(REGB2
)) {
3757 REGB2
= TAG_Bool(1);
3759 /* syntax/mmbuilder.nit:613 */
3760 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3761 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3762 /* syntax/mmbuilder.nit:612 */
3765 if (UNTAG_Bool(REGB2
)) {
3766 /* syntax/mmbuilder.nit:613 */
3767 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3768 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3770 /* syntax/mmbuilder.nit:612 */
3771 REGB1
= TAG_Bool(0);
3774 if (UNTAG_Bool(REGB2
)) {
3775 REGB2
= TAG_Bool(1);
3777 /* syntax/mmbuilder.nit:614 */
3778 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3779 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3780 /* syntax/mmbuilder.nit:612 */
3783 if (UNTAG_Bool(REGB2
)) {
3784 /* syntax/mmbuilder.nit:614 */
3785 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3786 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_enum(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3788 /* syntax/mmbuilder.nit:612 */
3789 REGB1
= TAG_Bool(0);
3793 REGB1
= TAG_Bool(0);
3796 if (UNTAG_Bool(REGB2
)) {
3797 /* syntax/mmbuilder.nit:616 */
3799 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
3800 if (!once_value_7
) {
3801 fra
.me
.REG
[3] = BOX_NativeString("Redef error: cannot change kind of class ");
3802 REGB2
= TAG_Int(41);
3803 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
3804 once_value_7
= fra
.me
.REG
[3];
3805 register_static_object(&once_value_7
);
3806 } else fra
.me
.REG
[3] = once_value_7
;
3807 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3808 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3809 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3810 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3811 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3812 if (!once_value_8
) {
3813 fra
.me
.REG
[3] = BOX_NativeString(".");
3815 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
3816 once_value_8
= fra
.me
.REG
[3];
3817 register_static_object(&once_value_8
);
3818 } else fra
.me
.REG
[3] = once_value_8
;
3819 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3820 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3821 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3822 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
3825 stack_frame_head
= fra
.me
.prev
;
3828 static const char LOCATE_syntax___mmbuilder___AClassdef___accept_class_verifier
[] = "mmbuilder::AClassdef::(mmbuilder::ANode::accept_class_verifier)";
3829 void syntax___mmbuilder___AClassdef___accept_class_verifier(val_t p0
, val_t p1
){
3830 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
3835 static val_t once_value_1
; /* Once value */
3836 static val_t once_value_2
; /* Once value */
3837 static val_t once_value_3
; /* Once value */
3838 static val_t once_value_4
; /* Once value */
3839 static val_t once_value_5
; /* Once value */
3840 static val_t once_value_6
; /* Once value */
3841 static val_t once_value_7
; /* Once value */
3842 static val_t once_value_8
; /* Once value */
3843 static val_t once_value_9
; /* Once value */
3844 static val_t once_value_10
; /* Once value */
3845 static val_t once_value_11
; /* Once value */
3846 static val_t once_value_12
; /* Once value */
3847 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3848 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3850 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___accept_class_verifier
;
3851 fra
.me
.has_broke
= 0;
3852 fra
.me
.REG_size
= 9;
3853 fra
.me
.nitni_local_ref_head
= NULL
;
3854 fra
.me
.REG
[0] = NIT_NULL
;
3855 fra
.me
.REG
[1] = NIT_NULL
;
3856 fra
.me
.REG
[2] = NIT_NULL
;
3857 fra
.me
.REG
[3] = NIT_NULL
;
3858 fra
.me
.REG
[4] = NIT_NULL
;
3859 fra
.me
.REG
[5] = NIT_NULL
;
3860 fra
.me
.REG
[6] = NIT_NULL
;
3861 fra
.me
.REG
[7] = NIT_NULL
;
3862 fra
.me
.REG
[8] = NIT_NULL
;
3865 /* syntax/mmbuilder.nit:620 */
3866 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3867 fra
.me
.REG
[3] = fra
.me
.REG
[1];
3868 /* syntax/mmbuilder.nit:622 */
3869 CALL_SUPER_syntax___mmbuilder___AClassdef___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3870 /* syntax/mmbuilder.nit:623 */
3871 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3872 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3873 if (UNTAG_Bool(REGB0
)) {
3874 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 623);
3876 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3877 /* syntax/mmbuilder.nit:624 */
3878 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3879 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3880 if (UNTAG_Bool(REGB0
)) {
3881 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 624);
3883 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3884 fra
.me
.REG
[0] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3885 /* ../lib/standard/collection/array.nit:269 */
3887 /* ../lib/standard/collection/array.nit:270 */
3888 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3889 if (UNTAG_Bool(REGB1
)) {
3891 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
3893 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3894 /* ../lib/standard/collection/array.nit:271 */
3895 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
3896 /* ../lib/standard/collection/array.nit:272 */
3898 /* ../lib/standard/collection/array.nit:24 */
3899 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3900 if (UNTAG_Bool(REGB1
)) {
3902 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3904 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3905 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
3906 if (UNTAG_Bool(REGB2
)) {
3908 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3910 /* ../lib/standard/kernel.nit:235 */
3911 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
3912 /* ../lib/standard/collection/array.nit:272 */
3913 if (UNTAG_Bool(REGB1
)) {
3914 /* ../lib/standard/collection/array.nit:273 */
3915 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3916 if (UNTAG_Bool(REGB1
)) {
3917 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
3919 /* ../lib/standard/collection/array.nit:718 */
3920 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
3921 /* syntax/mmbuilder.nit:625 */
3922 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3923 /* syntax/mmbuilder.nit:626 */
3924 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3925 if (UNTAG_Bool(REGB1
)) {
3926 /* syntax/mmbuilder.nit:627 */
3927 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3928 if (UNTAG_Bool(REGB1
)) {
3929 /* syntax/mmbuilder.nit:628 */
3931 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
3932 if (!once_value_1
) {
3933 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
3934 REGB1
= TAG_Int(25);
3935 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3936 once_value_1
= fra
.me
.REG
[8];
3937 register_static_object(&once_value_1
);
3938 } else fra
.me
.REG
[8] = once_value_1
;
3939 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3940 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3941 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3942 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3943 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3944 if (!once_value_2
) {
3945 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise enum class ");
3946 REGB1
= TAG_Int(30);
3947 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3948 once_value_2
= fra
.me
.REG
[8];
3949 register_static_object(&once_value_2
);
3950 } else fra
.me
.REG
[8] = once_value_2
;
3951 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3952 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3953 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3954 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3955 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3956 if (!once_value_3
) {
3957 fra
.me
.REG
[8] = BOX_NativeString(".");
3959 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3960 once_value_3
= fra
.me
.REG
[8];
3961 register_static_object(&once_value_3
);
3962 } else fra
.me
.REG
[8] = once_value_3
;
3963 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3964 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3965 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3966 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3968 /* syntax/mmbuilder.nit:629 */
3969 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3970 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3971 if (UNTAG_Bool(REGB1
)) {
3972 /* syntax/mmbuilder.nit:630 */
3974 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
3975 if (!once_value_4
) {
3976 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
3977 REGB1
= TAG_Int(25);
3978 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3979 once_value_4
= fra
.me
.REG
[8];
3980 register_static_object(&once_value_4
);
3981 } else fra
.me
.REG
[8] = once_value_4
;
3982 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3983 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3984 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3985 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3986 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3987 if (!once_value_5
) {
3988 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
3989 REGB1
= TAG_Int(25);
3990 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3991 once_value_5
= fra
.me
.REG
[8];
3992 register_static_object(&once_value_5
);
3993 } else fra
.me
.REG
[8] = once_value_5
;
3994 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3995 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3996 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3997 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3998 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3999 if (!once_value_6
) {
4000 fra
.me
.REG
[8] = BOX_NativeString(".");
4002 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4003 once_value_6
= fra
.me
.REG
[8];
4004 register_static_object(&once_value_6
);
4005 } else fra
.me
.REG
[8] = once_value_6
;
4006 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4007 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4008 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4009 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4013 /* syntax/mmbuilder.nit:632 */
4014 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4015 if (UNTAG_Bool(REGB1
)) {
4016 /* syntax/mmbuilder.nit:633 */
4017 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4018 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4019 if (UNTAG_Bool(REGB1
)) {
4020 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4021 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4023 REGB2
= TAG_Bool(0);
4026 if (UNTAG_Bool(REGB1
)) {
4027 /* syntax/mmbuilder.nit:634 */
4029 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4030 if (!once_value_7
) {
4031 fra
.me
.REG
[8] = BOX_NativeString("Special error: Enum class ");
4032 REGB1
= TAG_Int(26);
4033 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4034 once_value_7
= fra
.me
.REG
[8];
4035 register_static_object(&once_value_7
);
4036 } else fra
.me
.REG
[8] = once_value_7
;
4037 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4038 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4039 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4040 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4041 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4042 if (!once_value_8
) {
4043 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
4044 REGB1
= TAG_Int(25);
4045 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4046 once_value_8
= fra
.me
.REG
[8];
4047 register_static_object(&once_value_8
);
4048 } else fra
.me
.REG
[8] = once_value_8
;
4049 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4050 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4051 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4052 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4053 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4054 if (!once_value_9
) {
4055 fra
.me
.REG
[8] = BOX_NativeString(".");
4057 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4058 once_value_9
= fra
.me
.REG
[8];
4059 register_static_object(&once_value_9
);
4060 } else fra
.me
.REG
[8] = once_value_9
;
4061 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4062 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4063 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4064 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4067 /* syntax/mmbuilder.nit:637 */
4068 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4069 if (UNTAG_Bool(REGB1
)) {
4070 /* syntax/mmbuilder.nit:638 */
4072 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4073 if (!once_value_10
) {
4074 fra
.me
.REG
[7] = BOX_NativeString("Special error: Class ");
4075 REGB1
= TAG_Int(21);
4076 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
4077 once_value_10
= fra
.me
.REG
[7];
4078 register_static_object(&once_value_10
);
4079 } else fra
.me
.REG
[7] = once_value_10
;
4080 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4081 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4082 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4083 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4084 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4085 if (!once_value_11
) {
4086 fra
.me
.REG
[7] = BOX_NativeString(" try to specialise enum class ");
4087 REGB1
= TAG_Int(30);
4088 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
4089 once_value_11
= fra
.me
.REG
[7];
4090 register_static_object(&once_value_11
);
4091 } else fra
.me
.REG
[7] = once_value_11
;
4092 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4093 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4094 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4095 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4096 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4097 if (!once_value_12
) {
4098 fra
.me
.REG
[5] = BOX_NativeString(".");
4100 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
4101 once_value_12
= fra
.me
.REG
[5];
4102 register_static_object(&once_value_12
);
4103 } else fra
.me
.REG
[5] = once_value_12
;
4104 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4105 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4106 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4107 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[6]);
4111 /* ../lib/standard/collection/array.nit:274 */
4113 /* ../lib/standard/kernel.nit:238 */
4114 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
4115 /* ../lib/standard/collection/array.nit:274 */
4118 /* ../lib/standard/collection/array.nit:272 */
4123 stack_frame_head
= fra
.me
.prev
;
4126 static const char LOCATE_syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor
[] = "mmbuilder::AClassdef::(syntax_base::ANode::accept_abs_syntax_visitor)";
4127 void syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
4128 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4130 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4131 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4133 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor
;
4134 fra
.me
.has_broke
= 0;
4135 fra
.me
.REG_size
= 4;
4136 fra
.me
.nitni_local_ref_head
= NULL
;
4137 fra
.me
.REG
[0] = NIT_NULL
;
4138 fra
.me
.REG
[1] = NIT_NULL
;
4139 fra
.me
.REG
[2] = NIT_NULL
;
4140 fra
.me
.REG
[3] = NIT_NULL
;
4143 /* syntax/mmbuilder.nit:645 */
4144 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4145 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4146 /* syntax/mmbuilder.nit:647 */
4147 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4148 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4149 /* syntax/mmbuilder.nit:648 */
4150 CALL_SUPER_syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4151 /* syntax/mmbuilder.nit:649 */
4152 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
4153 stack_frame_head
= fra
.me
.prev
;
4156 static const char LOCATE_syntax___mmbuilder___AClasskind___is_interface
[] = "mmbuilder::AClasskind::is_interface";
4157 val_t
syntax___mmbuilder___AClasskind___is_interface(val_t p0
){
4158 struct {struct stack_frame_t me
;} fra
;
4161 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4162 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4164 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClasskind___is_interface
;
4165 fra
.me
.has_broke
= 0;
4166 fra
.me
.REG_size
= 1;
4167 fra
.me
.nitni_local_ref_head
= NULL
;
4168 fra
.me
.REG
[0] = NIT_NULL
;
4170 /* syntax/mmbuilder.nit:654 */
4171 REGB0
= TAG_Bool(0);
4174 stack_frame_head
= fra
.me
.prev
;
4177 static const char LOCATE_syntax___mmbuilder___AClasskind___is_enum
[] = "mmbuilder::AClasskind::is_enum";
4178 val_t
syntax___mmbuilder___AClasskind___is_enum(val_t p0
){
4179 struct {struct stack_frame_t me
;} fra
;
4182 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4183 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4185 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClasskind___is_enum
;
4186 fra
.me
.has_broke
= 0;
4187 fra
.me
.REG_size
= 1;
4188 fra
.me
.nitni_local_ref_head
= NULL
;
4189 fra
.me
.REG
[0] = NIT_NULL
;
4191 /* syntax/mmbuilder.nit:655 */
4192 REGB0
= TAG_Bool(0);
4195 stack_frame_head
= fra
.me
.prev
;
4198 static const char LOCATE_syntax___mmbuilder___AClasskind___is_abstract
[] = "mmbuilder::AClasskind::is_abstract";
4199 val_t
syntax___mmbuilder___AClasskind___is_abstract(val_t p0
){
4200 struct {struct stack_frame_t me
;} fra
;
4203 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4204 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4206 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClasskind___is_abstract
;
4207 fra
.me
.has_broke
= 0;
4208 fra
.me
.REG_size
= 1;
4209 fra
.me
.nitni_local_ref_head
= NULL
;
4210 fra
.me
.REG
[0] = NIT_NULL
;
4212 /* syntax/mmbuilder.nit:656 */
4213 REGB0
= TAG_Bool(0);
4216 stack_frame_head
= fra
.me
.prev
;
4219 static const char LOCATE_syntax___mmbuilder___AClasskind___is_extern
[] = "mmbuilder::AClasskind::is_extern";
4220 val_t
syntax___mmbuilder___AClasskind___is_extern(val_t p0
){
4221 struct {struct stack_frame_t me
;} fra
;
4224 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4225 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4227 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClasskind___is_extern
;
4228 fra
.me
.has_broke
= 0;
4229 fra
.me
.REG_size
= 1;
4230 fra
.me
.nitni_local_ref_head
= NULL
;
4231 fra
.me
.REG
[0] = NIT_NULL
;
4233 /* syntax/mmbuilder.nit:657 */
4234 REGB0
= TAG_Bool(0);
4237 stack_frame_head
= fra
.me
.prev
;
4240 static const char LOCATE_syntax___mmbuilder___AInterfaceClasskind___is_interface
[] = "mmbuilder::AInterfaceClasskind::(mmbuilder::AClasskind::is_interface)";
4241 val_t
syntax___mmbuilder___AInterfaceClasskind___is_interface(val_t p0
){
4242 struct {struct stack_frame_t me
;} fra
;
4245 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4246 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4248 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AInterfaceClasskind___is_interface
;
4249 fra
.me
.has_broke
= 0;
4250 fra
.me
.REG_size
= 1;
4251 fra
.me
.nitni_local_ref_head
= NULL
;
4252 fra
.me
.REG
[0] = NIT_NULL
;
4254 /* syntax/mmbuilder.nit:661 */
4255 REGB0
= TAG_Bool(1);
4258 stack_frame_head
= fra
.me
.prev
;
4261 static const char LOCATE_syntax___mmbuilder___AEnumClasskind___is_enum
[] = "mmbuilder::AEnumClasskind::(mmbuilder::AClasskind::is_enum)";
4262 val_t
syntax___mmbuilder___AEnumClasskind___is_enum(val_t p0
){
4263 struct {struct stack_frame_t me
;} fra
;
4266 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4267 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4269 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AEnumClasskind___is_enum
;
4270 fra
.me
.has_broke
= 0;
4271 fra
.me
.REG_size
= 1;
4272 fra
.me
.nitni_local_ref_head
= NULL
;
4273 fra
.me
.REG
[0] = NIT_NULL
;
4275 /* syntax/mmbuilder.nit:664 */
4276 REGB0
= TAG_Bool(1);
4279 stack_frame_head
= fra
.me
.prev
;
4282 static const char LOCATE_syntax___mmbuilder___AExternClasskind___is_extern
[] = "mmbuilder::AExternClasskind::(mmbuilder::AClasskind::is_extern)";
4283 val_t
syntax___mmbuilder___AExternClasskind___is_extern(val_t p0
){
4284 struct {struct stack_frame_t me
;} fra
;
4287 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4288 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4290 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExternClasskind___is_extern
;
4291 fra
.me
.has_broke
= 0;
4292 fra
.me
.REG_size
= 1;
4293 fra
.me
.nitni_local_ref_head
= NULL
;
4294 fra
.me
.REG
[0] = NIT_NULL
;
4296 /* syntax/mmbuilder.nit:667 */
4297 REGB0
= TAG_Bool(1);
4300 stack_frame_head
= fra
.me
.prev
;
4303 static const char LOCATE_syntax___mmbuilder___AAbstractClasskind___is_abstract
[] = "mmbuilder::AAbstractClasskind::(mmbuilder::AClasskind::is_abstract)";
4304 val_t
syntax___mmbuilder___AAbstractClasskind___is_abstract(val_t p0
){
4305 struct {struct stack_frame_t me
;} fra
;
4308 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4309 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4311 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAbstractClasskind___is_abstract
;
4312 fra
.me
.has_broke
= 0;
4313 fra
.me
.REG_size
= 1;
4314 fra
.me
.nitni_local_ref_head
= NULL
;
4315 fra
.me
.REG
[0] = NIT_NULL
;
4317 /* syntax/mmbuilder.nit:670 */
4318 REGB0
= TAG_Bool(1);
4321 stack_frame_head
= fra
.me
.prev
;
4324 static const char LOCATE_syntax___mmbuilder___AStdClassdef___name
[] = "mmbuilder::AStdClassdef::(mmbuilder::AClassdef::name)";
4325 val_t
syntax___mmbuilder___AStdClassdef___name(val_t p0
){
4326 struct {struct stack_frame_t me
;} fra
;
4329 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4330 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4332 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___name
;
4333 fra
.me
.has_broke
= 0;
4334 fra
.me
.REG_size
= 1;
4335 fra
.me
.nitni_local_ref_head
= NULL
;
4336 fra
.me
.REG
[0] = NIT_NULL
;
4338 /* syntax/mmbuilder.nit:676 */
4339 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4340 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4341 if (UNTAG_Bool(REGB0
)) {
4342 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 676);
4344 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4347 stack_frame_head
= fra
.me
.prev
;
4348 return fra
.me
.REG
[0];
4350 static const char LOCATE_syntax___mmbuilder___AStdClassdef___arity
[] = "mmbuilder::AStdClassdef::(mmbuilder::AClassdef::arity)";
4351 val_t
syntax___mmbuilder___AStdClassdef___arity(val_t p0
){
4352 struct {struct stack_frame_t me
;} fra
;
4355 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4356 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4358 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___arity
;
4359 fra
.me
.has_broke
= 0;
4360 fra
.me
.REG_size
= 1;
4361 fra
.me
.nitni_local_ref_head
= NULL
;
4362 fra
.me
.REG
[0] = NIT_NULL
;
4364 /* syntax/mmbuilder.nit:680 */
4365 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_formaldefs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4366 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4369 stack_frame_head
= fra
.me
.prev
;
4372 static const char LOCATE_syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder
[] = "mmbuilder::AStdClassdef::(mmbuilder::ANode::accept_class_specialization_builder)";
4373 void syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder(val_t p0
, val_t p1
){
4374 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4378 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4379 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4381 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder
;
4382 fra
.me
.has_broke
= 0;
4383 fra
.me
.REG_size
= 4;
4384 fra
.me
.nitni_local_ref_head
= NULL
;
4385 fra
.me
.REG
[0] = NIT_NULL
;
4386 fra
.me
.REG
[1] = NIT_NULL
;
4387 fra
.me
.REG
[2] = NIT_NULL
;
4388 fra
.me
.REG
[3] = NIT_NULL
;
4391 /* syntax/mmbuilder.nit:682 */
4392 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4393 /* syntax/mmbuilder.nit:684 */
4394 CALL_SUPER_syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4395 /* syntax/mmbuilder.nit:686 */
4396 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4397 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4398 /* syntax/mmbuilder.nit:687 */
4399 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4400 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4401 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[3]));
4402 if (UNTAG_Bool(REGB0
)) {
4404 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4407 if (UNTAG_Bool(REGB0
)) {
4408 /* syntax/mmbuilder.nit:688 */
4409 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4410 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_interface(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4411 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4412 /* syntax/mmbuilder.nit:689 */
4413 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4414 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4415 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4416 /* syntax/mmbuilder.nit:690 */
4417 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4418 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_enum(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4419 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4420 /* syntax/mmbuilder.nit:691 */
4421 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4422 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_extern(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4423 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4424 /* syntax/mmbuilder.nit:692 */
4425 REGB0
= CALL_syntax___mmbuilder___AClassdef___visibility_level(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4426 CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4428 stack_frame_head
= fra
.me
.prev
;
4431 static const char LOCATE_syntax___mmbuilder___AStdClassdef___accept_class_verifier
[] = "mmbuilder::AStdClassdef::(mmbuilder::ANode::accept_class_verifier)";
4432 void syntax___mmbuilder___AStdClassdef___accept_class_verifier(val_t p0
, val_t p1
){
4433 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
4438 static val_t once_value_1
; /* Once value */
4439 static val_t once_value_2
; /* Once value */
4440 static val_t once_value_3
; /* Once value */
4441 static val_t once_value_4
; /* Once value */
4442 static val_t once_value_5
; /* Once value */
4443 static val_t once_value_6
; /* Once value */
4444 static val_t once_value_7
; /* Once value */
4445 static val_t once_value_8
; /* Once value */
4446 static val_t once_value_9
; /* Once value */
4447 static val_t once_value_10
; /* Once value */
4448 static val_t once_value_11
; /* Once value */
4449 static val_t once_value_12
; /* Once value */
4450 static val_t once_value_13
; /* Once value */
4451 static val_t once_value_14
; /* Once value */
4452 static val_t once_value_15
; /* Once value */
4453 static val_t once_value_16
; /* Once value */
4454 static val_t once_value_17
; /* Once value */
4455 static val_t once_value_18
; /* Once value */
4456 static val_t once_value_19
; /* Once value */
4457 static val_t once_value_20
; /* Once value */
4458 static val_t once_value_23
; /* Once value */
4459 static val_t once_value_24
; /* Once value */
4460 static val_t once_value_25
; /* Once value */
4461 static val_t once_value_26
; /* Once value */
4462 static val_t once_value_27
; /* Once value */
4463 static val_t once_value_28
; /* Once value */
4464 static val_t once_value_29
; /* Once value */
4465 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4466 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4468 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___accept_class_verifier
;
4469 fra
.me
.has_broke
= 0;
4470 fra
.me
.REG_size
= 9;
4471 fra
.me
.nitni_local_ref_head
= NULL
;
4472 fra
.me
.REG
[0] = NIT_NULL
;
4473 fra
.me
.REG
[1] = NIT_NULL
;
4474 fra
.me
.REG
[2] = NIT_NULL
;
4475 fra
.me
.REG
[3] = NIT_NULL
;
4476 fra
.me
.REG
[4] = NIT_NULL
;
4477 fra
.me
.REG
[5] = NIT_NULL
;
4478 fra
.me
.REG
[6] = NIT_NULL
;
4479 fra
.me
.REG
[7] = NIT_NULL
;
4480 fra
.me
.REG
[8] = NIT_NULL
;
4483 /* syntax/mmbuilder.nit:695 */
4484 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4485 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4486 /* syntax/mmbuilder.nit:697 */
4487 CALL_SUPER_syntax___mmbuilder___AStdClassdef___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4488 /* syntax/mmbuilder.nit:698 */
4489 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4490 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
4491 if (UNTAG_Bool(REGB0
)) {
4492 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 698);
4494 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4495 /* syntax/mmbuilder.nit:699 */
4496 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4497 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4498 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[0],fra
.me
.REG
[4]));
4499 if (UNTAG_Bool(REGB0
)) {
4501 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4504 if (UNTAG_Bool(REGB0
)) {
4505 /* syntax/mmbuilder.nit:701 */
4506 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4507 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4508 if (UNTAG_Bool(REGB0
)) {
4510 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4511 if (UNTAG_Bool(REGB1
)) {
4512 REGB1
= TAG_Bool(0);
4515 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
4519 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4520 if (UNTAG_Bool(REGB0
)) {
4521 /* syntax/mmbuilder.nit:702 */
4523 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4524 if (!once_value_1
) {
4525 fra
.me
.REG
[0] = BOX_NativeString("Redef error: No class ");
4526 REGB0
= TAG_Int(22);
4527 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4528 once_value_1
= fra
.me
.REG
[0];
4529 register_static_object(&once_value_1
);
4530 } else fra
.me
.REG
[0] = once_value_1
;
4531 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4532 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4533 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4534 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4535 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4536 if (!once_value_2
) {
4537 fra
.me
.REG
[0] = BOX_NativeString(" is imported. Remove the redef keyword to define a new class.");
4538 REGB0
= TAG_Int(61);
4539 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4540 once_value_2
= fra
.me
.REG
[0];
4541 register_static_object(&once_value_2
);
4542 } else fra
.me
.REG
[0] = once_value_2
;
4543 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4544 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4545 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4546 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[4]);
4548 /* syntax/mmbuilder.nit:704 */
4549 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4550 if (UNTAG_Bool(REGB0
)) {
4551 /* syntax/mmbuilder.nit:705 */
4552 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4553 REGB0
= TAG_Bool(1);
4554 CALL_metamodel___abstractmetamodel___MMModule___is_extern_hybrid__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
4556 /* syntax/mmbuilder.nit:708 */
4557 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4558 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4559 if (UNTAG_Bool(REGB0
)) {
4560 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 708);
4562 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4563 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4564 /* ../lib/standard/collection/array.nit:269 */
4566 /* ../lib/standard/collection/array.nit:270 */
4567 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
4568 if (UNTAG_Bool(REGB1
)) {
4570 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
4572 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
4573 /* ../lib/standard/collection/array.nit:271 */
4574 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
4575 /* ../lib/standard/collection/array.nit:272 */
4577 /* ../lib/standard/collection/array.nit:24 */
4578 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
4579 if (UNTAG_Bool(REGB1
)) {
4581 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
4583 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
4584 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4585 if (UNTAG_Bool(REGB2
)) {
4587 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4589 /* ../lib/standard/kernel.nit:235 */
4590 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
4591 /* ../lib/standard/collection/array.nit:272 */
4592 if (UNTAG_Bool(REGB1
)) {
4593 /* ../lib/standard/collection/array.nit:273 */
4594 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4595 if (UNTAG_Bool(REGB1
)) {
4596 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
4598 /* ../lib/standard/collection/array.nit:718 */
4599 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
4600 /* syntax/mmbuilder.nit:709 */
4601 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4602 /* syntax/mmbuilder.nit:710 */
4603 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4604 if (UNTAG_Bool(REGB1
)) {
4605 /* syntax/mmbuilder.nit:711 */
4606 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4607 if (UNTAG_Bool(REGB1
)) {
4608 /* syntax/mmbuilder.nit:712 */
4610 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4611 if (!once_value_3
) {
4612 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
4613 REGB1
= TAG_Int(25);
4614 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4615 once_value_3
= fra
.me
.REG
[8];
4616 register_static_object(&once_value_3
);
4617 } else fra
.me
.REG
[8] = once_value_3
;
4618 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4619 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4620 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4621 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4622 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4623 if (!once_value_4
) {
4624 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise enum class ");
4625 REGB1
= TAG_Int(30);
4626 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4627 once_value_4
= fra
.me
.REG
[8];
4628 register_static_object(&once_value_4
);
4629 } else fra
.me
.REG
[8] = once_value_4
;
4630 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4631 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4632 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4633 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4634 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4635 if (!once_value_5
) {
4636 fra
.me
.REG
[8] = BOX_NativeString(".");
4638 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4639 once_value_5
= fra
.me
.REG
[8];
4640 register_static_object(&once_value_5
);
4641 } else fra
.me
.REG
[8] = once_value_5
;
4642 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4643 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4644 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4645 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4647 /* syntax/mmbuilder.nit:713 */
4648 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4649 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4650 if (UNTAG_Bool(REGB1
)) {
4651 /* syntax/mmbuilder.nit:714 */
4653 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4654 if (!once_value_6
) {
4655 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
4656 REGB1
= TAG_Int(25);
4657 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4658 once_value_6
= fra
.me
.REG
[8];
4659 register_static_object(&once_value_6
);
4660 } else fra
.me
.REG
[8] = once_value_6
;
4661 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4662 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4663 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4664 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4665 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4666 if (!once_value_7
) {
4667 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
4668 REGB1
= TAG_Int(25);
4669 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4670 once_value_7
= fra
.me
.REG
[8];
4671 register_static_object(&once_value_7
);
4672 } else fra
.me
.REG
[8] = once_value_7
;
4673 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4674 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4675 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4676 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4677 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4678 if (!once_value_8
) {
4679 fra
.me
.REG
[8] = BOX_NativeString(".");
4681 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4682 once_value_8
= fra
.me
.REG
[8];
4683 register_static_object(&once_value_8
);
4684 } else fra
.me
.REG
[8] = once_value_8
;
4685 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4686 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4687 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4688 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4692 /* syntax/mmbuilder.nit:716 */
4693 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4694 if (UNTAG_Bool(REGB1
)) {
4695 /* syntax/mmbuilder.nit:717 */
4696 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4697 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4698 if (UNTAG_Bool(REGB1
)) {
4699 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4700 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4702 REGB2
= TAG_Bool(0);
4705 if (UNTAG_Bool(REGB1
)) {
4706 /* syntax/mmbuilder.nit:718 */
4708 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4709 if (!once_value_9
) {
4710 fra
.me
.REG
[8] = BOX_NativeString("Special error: Enum class ");
4711 REGB1
= TAG_Int(26);
4712 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4713 once_value_9
= fra
.me
.REG
[8];
4714 register_static_object(&once_value_9
);
4715 } else fra
.me
.REG
[8] = once_value_9
;
4716 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4717 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4718 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4719 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4720 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4721 if (!once_value_10
) {
4722 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
4723 REGB1
= TAG_Int(25);
4724 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4725 once_value_10
= fra
.me
.REG
[8];
4726 register_static_object(&once_value_10
);
4727 } else fra
.me
.REG
[8] = once_value_10
;
4728 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4729 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4730 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4731 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4732 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4733 if (!once_value_11
) {
4734 fra
.me
.REG
[8] = BOX_NativeString(".");
4736 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4737 once_value_11
= fra
.me
.REG
[8];
4738 register_static_object(&once_value_11
);
4739 } else fra
.me
.REG
[8] = once_value_11
;
4740 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4741 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4742 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4743 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4746 /* syntax/mmbuilder.nit:720 */
4747 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4748 if (UNTAG_Bool(REGB1
)) {
4749 /* syntax/mmbuilder.nit:721 */
4750 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4751 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4752 if (UNTAG_Bool(REGB1
)) {
4753 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4754 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4756 REGB2
= TAG_Bool(0);
4759 if (UNTAG_Bool(REGB1
)) {
4760 /* syntax/mmbuilder.nit:722 */
4762 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4763 if (!once_value_12
) {
4764 fra
.me
.REG
[8] = BOX_NativeString("Special error: Extern class ");
4765 REGB1
= TAG_Int(28);
4766 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4767 once_value_12
= fra
.me
.REG
[8];
4768 register_static_object(&once_value_12
);
4769 } else fra
.me
.REG
[8] = once_value_12
;
4770 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4771 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4772 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4773 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4774 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4775 if (!once_value_13
) {
4776 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
4777 REGB1
= TAG_Int(25);
4778 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4779 once_value_13
= fra
.me
.REG
[8];
4780 register_static_object(&once_value_13
);
4781 } else fra
.me
.REG
[8] = once_value_13
;
4782 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4783 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4784 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4785 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4786 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4787 if (!once_value_14
) {
4788 fra
.me
.REG
[8] = BOX_NativeString(".");
4790 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4791 once_value_14
= fra
.me
.REG
[8];
4792 register_static_object(&once_value_14
);
4793 } else fra
.me
.REG
[8] = once_value_14
;
4794 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4795 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4796 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4797 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4800 /* syntax/mmbuilder.nit:725 */
4801 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4802 if (UNTAG_Bool(REGB1
)) {
4803 /* syntax/mmbuilder.nit:726 */
4805 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4806 if (!once_value_15
) {
4807 fra
.me
.REG
[8] = BOX_NativeString("Special error: Class ");
4808 REGB1
= TAG_Int(21);
4809 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4810 once_value_15
= fra
.me
.REG
[8];
4811 register_static_object(&once_value_15
);
4812 } else fra
.me
.REG
[8] = once_value_15
;
4813 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4814 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4815 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4816 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4817 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4818 if (!once_value_16
) {
4819 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise enum class ");
4820 REGB1
= TAG_Int(30);
4821 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4822 once_value_16
= fra
.me
.REG
[8];
4823 register_static_object(&once_value_16
);
4824 } else fra
.me
.REG
[8] = once_value_16
;
4825 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4826 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4827 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4828 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4829 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4830 if (!once_value_17
) {
4831 fra
.me
.REG
[8] = BOX_NativeString(".");
4833 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4834 once_value_17
= fra
.me
.REG
[8];
4835 register_static_object(&once_value_17
);
4836 } else fra
.me
.REG
[8] = once_value_17
;
4837 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4838 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4839 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4840 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4842 /* syntax/mmbuilder.nit:727 */
4843 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4844 if (UNTAG_Bool(REGB1
)) {
4845 /* syntax/mmbuilder.nit:728 */
4847 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4848 if (!once_value_18
) {
4849 fra
.me
.REG
[7] = BOX_NativeString("Special error: Class ");
4850 REGB1
= TAG_Int(21);
4851 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
4852 once_value_18
= fra
.me
.REG
[7];
4853 register_static_object(&once_value_18
);
4854 } else fra
.me
.REG
[7] = once_value_18
;
4855 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4856 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4857 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4858 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4859 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4860 if (!once_value_19
) {
4861 fra
.me
.REG
[7] = BOX_NativeString(" try to specialise extern class ");
4862 REGB1
= TAG_Int(32);
4863 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
4864 once_value_19
= fra
.me
.REG
[7];
4865 register_static_object(&once_value_19
);
4866 } else fra
.me
.REG
[7] = once_value_19
;
4867 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4868 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4869 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4870 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4871 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4872 if (!once_value_20
) {
4873 fra
.me
.REG
[5] = BOX_NativeString(".");
4875 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
4876 once_value_20
= fra
.me
.REG
[5];
4877 register_static_object(&once_value_20
);
4878 } else fra
.me
.REG
[5] = once_value_20
;
4879 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4880 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4881 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4882 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[6]);
4888 /* ../lib/standard/collection/array.nit:274 */
4890 /* ../lib/standard/kernel.nit:238 */
4891 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
4892 /* ../lib/standard/collection/array.nit:274 */
4895 /* ../lib/standard/collection/array.nit:272 */
4900 /* syntax/mmbuilder.nit:733 */
4903 /* syntax/mmbuilder.nit:738 */
4904 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4905 CALL_syntax___syntax_base___MMGlobalClass___check_visibility(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4906 /* syntax/mmbuilder.nit:739 */
4907 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4908 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4909 if (UNTAG_Bool(REGB0
)) {
4911 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4912 if (UNTAG_Bool(REGB1
)) {
4913 REGB1
= TAG_Bool(0);
4916 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
4920 if (UNTAG_Bool(REGB0
)) {
4921 /* syntax/mmbuilder.nit:740 */
4923 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4924 if (!once_value_23
) {
4925 fra
.me
.REG
[4] = BOX_NativeString("Redef error: ");
4926 REGB0
= TAG_Int(13);
4927 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4928 once_value_23
= fra
.me
.REG
[4];
4929 register_static_object(&once_value_23
);
4930 } else fra
.me
.REG
[4] = once_value_23
;
4931 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4932 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4933 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4934 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4935 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4936 if (!once_value_24
) {
4937 fra
.me
.REG
[4] = BOX_NativeString(" is an imported class. Add the redef keyword to refine it.");
4938 REGB0
= TAG_Int(58);
4939 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4940 once_value_24
= fra
.me
.REG
[4];
4941 register_static_object(&once_value_24
);
4942 } else fra
.me
.REG
[4] = once_value_24
;
4943 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4944 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4945 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4946 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4947 /* syntax/mmbuilder.nit:741 */
4950 /* syntax/mmbuilder.nit:744 */
4951 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4952 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4953 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4954 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4955 if (UNTAG_Bool(REGB1
)) {
4956 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 744);
4958 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4959 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
4960 if (UNTAG_Bool(REGB2
)) {
4962 /* ../lib/standard/kernel.nit:230 */
4963 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
4964 /* syntax/mmbuilder.nit:744 */
4967 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
4968 if (UNTAG_Bool(REGB2
)) {
4969 /* syntax/mmbuilder.nit:745 */
4971 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4972 if (!once_value_25
) {
4973 fra
.me
.REG
[4] = BOX_NativeString("Redef error: Formal parameter arity mismatch; got ");
4974 REGB2
= TAG_Int(50);
4975 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4976 once_value_25
= fra
.me
.REG
[4];
4977 register_static_object(&once_value_25
);
4978 } else fra
.me
.REG
[4] = once_value_25
;
4979 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4980 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4981 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4982 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4983 if (UNTAG_Bool(REGB2
)) {
4984 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 745);
4986 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4987 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
4988 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4989 if (!once_value_26
) {
4990 fra
.me
.REG
[4] = BOX_NativeString(", expected ");
4991 REGB2
= TAG_Int(11);
4992 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4993 once_value_26
= fra
.me
.REG
[4];
4994 register_static_object(&once_value_26
);
4995 } else fra
.me
.REG
[4] = once_value_26
;
4996 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4997 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4998 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4999 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5000 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
5001 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
5002 if (!once_value_27
) {
5003 fra
.me
.REG
[4] = BOX_NativeString(".");
5005 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
5006 once_value_27
= fra
.me
.REG
[4];
5007 register_static_object(&once_value_27
);
5008 } else fra
.me
.REG
[4] = once_value_27
;
5009 fra
.me
.REG
[4] = fra
.me
.REG
[4];
5010 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
5011 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5012 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
5014 /* syntax/mmbuilder.nit:749 */
5015 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5016 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
5017 if (UNTAG_Bool(REGB2
)) {
5018 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5019 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_interface(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5021 REGB1
= TAG_Bool(0);
5024 if (UNTAG_Bool(REGB2
)) {
5025 REGB2
= TAG_Bool(1);
5027 /* syntax/mmbuilder.nit:750 */
5028 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5029 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
5030 /* syntax/mmbuilder.nit:749 */
5033 if (UNTAG_Bool(REGB2
)) {
5034 /* syntax/mmbuilder.nit:750 */
5035 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5036 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5038 /* syntax/mmbuilder.nit:749 */
5039 REGB1
= TAG_Bool(0);
5042 if (UNTAG_Bool(REGB2
)) {
5043 REGB2
= TAG_Bool(1);
5045 /* syntax/mmbuilder.nit:751 */
5046 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5047 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
5048 /* syntax/mmbuilder.nit:749 */
5051 if (UNTAG_Bool(REGB2
)) {
5052 /* syntax/mmbuilder.nit:751 */
5053 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5054 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_enum(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5056 /* syntax/mmbuilder.nit:749 */
5057 REGB1
= TAG_Bool(0);
5060 if (UNTAG_Bool(REGB2
)) {
5061 REGB2
= TAG_Bool(1);
5063 /* syntax/mmbuilder.nit:752 */
5064 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5065 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
5066 /* syntax/mmbuilder.nit:749 */
5069 if (UNTAG_Bool(REGB2
)) {
5070 /* syntax/mmbuilder.nit:752 */
5071 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5072 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5074 /* syntax/mmbuilder.nit:749 */
5075 REGB1
= TAG_Bool(0);
5078 /* syntax/mmbuilder.nit:748 */
5079 if (UNTAG_Bool(REGB2
)) {
5080 /* syntax/mmbuilder.nit:754 */
5082 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
5083 if (!once_value_28
) {
5084 fra
.me
.REG
[0] = BOX_NativeString("Redef error: cannot change kind of class ");
5085 REGB2
= TAG_Int(41);
5086 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB2
);
5087 once_value_28
= fra
.me
.REG
[0];
5088 register_static_object(&once_value_28
);
5089 } else fra
.me
.REG
[0] = once_value_28
;
5090 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5091 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5092 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5093 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5094 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5095 if (!once_value_29
) {
5096 fra
.me
.REG
[0] = BOX_NativeString(".");
5098 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB2
);
5099 once_value_29
= fra
.me
.REG
[0];
5100 register_static_object(&once_value_29
);
5101 } else fra
.me
.REG
[0] = once_value_29
;
5102 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5103 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5104 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5105 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[1]);
5108 stack_frame_head
= fra
.me
.prev
;
5111 static const char LOCATE_syntax___mmbuilder___AStdClassdef___visibility_level
[] = "mmbuilder::AStdClassdef::(mmbuilder::AClassdef::visibility_level)";
5112 val_t
syntax___mmbuilder___AStdClassdef___visibility_level(val_t p0
){
5113 struct {struct stack_frame_t me
;} fra
;
5116 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5117 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5119 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___visibility_level
;
5120 fra
.me
.has_broke
= 0;
5121 fra
.me
.REG_size
= 1;
5122 fra
.me
.nitni_local_ref_head
= NULL
;
5123 fra
.me
.REG
[0] = NIT_NULL
;
5125 /* syntax/mmbuilder.nit:760 */
5126 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5127 REGB0
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5130 stack_frame_head
= fra
.me
.prev
;
5133 static const char LOCATE_syntax___mmbuilder___AMainClassdef___name
[] = "mmbuilder::AMainClassdef::(mmbuilder::AClassdef::name)";
5134 val_t
syntax___mmbuilder___AMainClassdef___name(val_t p0
){
5135 struct {struct stack_frame_t me
;} fra
;
5138 static val_t once_value_1
; /* Once value */
5139 static val_t once_value_2
; /* Once value */
5140 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5141 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5143 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMainClassdef___name
;
5144 fra
.me
.has_broke
= 0;
5145 fra
.me
.REG_size
= 1;
5146 fra
.me
.nitni_local_ref_head
= NULL
;
5147 fra
.me
.REG
[0] = NIT_NULL
;
5149 /* syntax/mmbuilder.nit:767 */
5150 if (!once_value_1
) {
5151 if (!once_value_2
) {
5152 fra
.me
.REG
[0] = BOX_NativeString("Sys");
5154 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
5155 once_value_2
= fra
.me
.REG
[0];
5156 register_static_object(&once_value_2
);
5157 } else fra
.me
.REG
[0] = once_value_2
;
5158 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5159 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5160 once_value_1
= fra
.me
.REG
[0];
5161 register_static_object(&once_value_1
);
5162 } else fra
.me
.REG
[0] = once_value_1
;
5163 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5166 stack_frame_head
= fra
.me
.prev
;
5167 return fra
.me
.REG
[0];
5169 static const char LOCATE_syntax___mmbuilder___ATopClassdef___name
[] = "mmbuilder::ATopClassdef::(mmbuilder::AClassdef::name)";
5170 val_t
syntax___mmbuilder___ATopClassdef___name(val_t p0
){
5171 struct {struct stack_frame_t me
;} fra
;
5174 static val_t once_value_1
; /* Once value */
5175 static val_t once_value_2
; /* Once value */
5176 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5177 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5179 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATopClassdef___name
;
5180 fra
.me
.has_broke
= 0;
5181 fra
.me
.REG_size
= 1;
5182 fra
.me
.nitni_local_ref_head
= NULL
;
5183 fra
.me
.REG
[0] = NIT_NULL
;
5185 /* syntax/mmbuilder.nit:774 */
5186 if (!once_value_1
) {
5187 if (!once_value_2
) {
5188 fra
.me
.REG
[0] = BOX_NativeString("Object");
5190 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
5191 once_value_2
= fra
.me
.REG
[0];
5192 register_static_object(&once_value_2
);
5193 } else fra
.me
.REG
[0] = once_value_2
;
5194 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5195 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5196 once_value_1
= fra
.me
.REG
[0];
5197 register_static_object(&once_value_1
);
5198 } else fra
.me
.REG
[0] = once_value_1
;
5199 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5202 stack_frame_head
= fra
.me
.prev
;
5203 return fra
.me
.REG
[0];
5205 static const char LOCATE_syntax___mmbuilder___AFormaldef___accept_class_builder
[] = "mmbuilder::AFormaldef::(mmbuilder::ANode::accept_class_builder)";
5206 void syntax___mmbuilder___AFormaldef___accept_class_builder(val_t p0
, val_t p1
){
5207 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
5211 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5212 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5214 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AFormaldef___accept_class_builder
;
5215 fra
.me
.has_broke
= 0;
5216 fra
.me
.REG_size
= 6;
5217 fra
.me
.nitni_local_ref_head
= NULL
;
5218 fra
.me
.REG
[0] = NIT_NULL
;
5219 fra
.me
.REG
[1] = NIT_NULL
;
5220 fra
.me
.REG
[2] = NIT_NULL
;
5221 fra
.me
.REG
[3] = NIT_NULL
;
5222 fra
.me
.REG
[4] = NIT_NULL
;
5223 fra
.me
.REG
[5] = NIT_NULL
;
5226 /* syntax/mmbuilder.nit:782 */
5227 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5228 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5229 /* syntax/mmbuilder.nit:784 */
5230 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AFormaldef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5231 fra
.me
.REG
[4] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5232 /* syntax/mmbuilder.nit:785 */
5233 REGB0
= CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5234 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5235 fra
.me
.REG
[5] = NEW_MMTypeFormalParameter_metamodel___genericity___MMTypeFormalParameter___init(fra
.me
.REG
[4], REGB0
, fra
.me
.REG
[5]);
5236 /* syntax/mmbuilder.nit:786 */
5237 ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]) = fra
.me
.REG
[5];
5238 /* syntax/mmbuilder.nit:787 */
5239 REGB0
= CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5241 /* ../lib/standard/kernel.nit:238 */
5242 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
5243 /* syntax/mmbuilder.nit:787 */
5244 CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
5245 /* syntax/mmbuilder.nit:788 */
5246 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5247 CALL_metamodel___genericity___MMLocalClass___register_formal(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
5248 /* syntax/mmbuilder.nit:789 */
5249 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___ClassBuilderVisitor___formals(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5250 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
5251 if (UNTAG_Bool(REGB1
)) {
5252 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 789);
5254 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4], fra
.me
.REG
[5]);
5255 /* syntax/mmbuilder.nit:790 */
5256 CALL_SUPER_syntax___mmbuilder___AFormaldef___accept_class_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5257 stack_frame_head
= fra
.me
.prev
;
5260 static const char LOCATE_syntax___mmbuilder___AFormaldef___accept_class_verifier
[] = "mmbuilder::AFormaldef::(mmbuilder::ANode::accept_class_verifier)";
5261 void syntax___mmbuilder___AFormaldef___accept_class_verifier(val_t p0
, val_t p1
){
5262 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
5266 static val_t once_value_2
; /* Once value */
5267 static val_t once_value_3
; /* Once value */
5268 static val_t once_value_4
; /* Once value */
5269 static val_t once_value_5
; /* Once value */
5270 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5271 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5273 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AFormaldef___accept_class_verifier
;
5274 fra
.me
.has_broke
= 0;
5275 fra
.me
.REG_size
= 6;
5276 fra
.me
.nitni_local_ref_head
= NULL
;
5277 fra
.me
.REG
[0] = NIT_NULL
;
5278 fra
.me
.REG
[1] = NIT_NULL
;
5279 fra
.me
.REG
[2] = NIT_NULL
;
5280 fra
.me
.REG
[3] = NIT_NULL
;
5281 fra
.me
.REG
[4] = NIT_NULL
;
5282 fra
.me
.REG
[5] = NIT_NULL
;
5285 /* syntax/mmbuilder.nit:793 */
5286 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5287 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5288 /* syntax/mmbuilder.nit:795 */
5289 CALL_SUPER_syntax___mmbuilder___AFormaldef___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5290 /* syntax/mmbuilder.nit:796 */
5291 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5292 /* syntax/mmbuilder.nit:797 */
5293 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5294 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5295 /* syntax/mmbuilder.nit:798 */
5296 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
5297 if (UNTAG_Bool(REGB0
)) {
5299 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5302 if (UNTAG_Bool(REGB0
)) {
5303 /* syntax/mmbuilder.nit:799 */
5304 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5305 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5306 if (UNTAG_Bool(REGB0
)) {
5308 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5309 if (UNTAG_Bool(REGB1
)) {
5310 REGB1
= TAG_Bool(0);
5313 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
5317 if (UNTAG_Bool(REGB0
)) {
5318 /* syntax/mmbuilder.nit:800 */
5319 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5320 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5321 fra
.me
.REG
[5] = CALL_metamodel___inheritance___MMModule___type_any(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5322 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMType___as_nullable(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5323 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5324 if (UNTAG_Bool(REGB0
)) {
5325 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 800);
5327 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5329 /* syntax/mmbuilder.nit:802 */
5330 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5331 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
5332 if (UNTAG_Bool(REGB0
)) {
5333 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 802);
5335 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
5336 /* syntax/mmbuilder.nit:803 */
5337 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
5338 if (UNTAG_Bool(REGB0
)) {
5340 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
5341 if (UNTAG_Bool(REGB1
)) {
5342 REGB1
= TAG_Bool(0);
5345 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
5349 if (UNTAG_Bool(REGB0
)) {
5352 /* syntax/mmbuilder.nit:804 */
5353 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5354 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5355 if (UNTAG_Bool(REGB0
)) {
5356 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 804);
5358 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5361 /* syntax/mmbuilder.nit:807 */
5362 fra
.me
.REG
[5] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5363 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
5364 if (UNTAG_Bool(REGB0
)) {
5365 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 807);
5367 REGB0
= CALL_metamodel___genericity___MMTypeFormalParameter___position(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5368 fra
.me
.REG
[0] = CALL_metamodel___genericity___MMLocalClass___get_formal(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
5369 fra
.me
.REG
[0] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5370 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5371 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMType___for_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5372 /* syntax/mmbuilder.nit:808 */
5373 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5374 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5375 if (UNTAG_Bool(REGB0
)) {
5377 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5378 if (UNTAG_Bool(REGB1
)) {
5379 REGB1
= TAG_Bool(0);
5382 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
5386 if (UNTAG_Bool(REGB0
)) {
5387 /* syntax/mmbuilder.nit:809 */
5388 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5389 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5390 if (UNTAG_Bool(REGB0
)) {
5391 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 809);
5393 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5395 /* syntax/mmbuilder.nit:811 */
5396 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5397 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5398 if (UNTAG_Bool(REGB0
)) {
5399 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 811);
5401 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
5402 /* syntax/mmbuilder.nit:812 */
5403 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5404 if (UNTAG_Bool(REGB0
)) {
5406 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5407 if (UNTAG_Bool(REGB1
)) {
5408 REGB1
= TAG_Bool(0);
5411 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
5415 if (UNTAG_Bool(REGB0
)) {
5418 /* syntax/mmbuilder.nit:813 */
5419 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5420 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5421 if (UNTAG_Bool(REGB0
)) {
5422 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 813);
5424 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
5425 /* syntax/mmbuilder.nit:814 */
5426 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5427 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5428 if (UNTAG_Bool(REGB0
)) {
5429 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 814);
5431 fra
.me
.REG
[0] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5432 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[5]));
5433 if (UNTAG_Bool(REGB0
)) {
5435 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5438 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5439 if (UNTAG_Bool(REGB0
)) {
5440 /* syntax/mmbuilder.nit:815 */
5442 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5443 if (!once_value_2
) {
5444 fra
.me
.REG
[4] = BOX_NativeString("Redef error: Cannot change formal parameter type of class ");
5445 REGB0
= TAG_Int(58);
5446 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
5447 once_value_2
= fra
.me
.REG
[4];
5448 register_static_object(&once_value_2
);
5449 } else fra
.me
.REG
[4] = once_value_2
;
5450 fra
.me
.REG
[4] = fra
.me
.REG
[4];
5451 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
5452 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5453 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5454 if (!once_value_3
) {
5455 fra
.me
.REG
[1] = BOX_NativeString("; got ");
5457 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
5458 once_value_3
= fra
.me
.REG
[1];
5459 register_static_object(&once_value_3
);
5460 } else fra
.me
.REG
[1] = once_value_3
;
5461 fra
.me
.REG
[1] = fra
.me
.REG
[1];
5462 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5463 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5464 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5465 if (UNTAG_Bool(REGB0
)) {
5466 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 815);
5468 fra
.me
.REG
[1] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5469 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5470 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5471 if (!once_value_4
) {
5472 fra
.me
.REG
[1] = BOX_NativeString(", expected ");
5473 REGB0
= TAG_Int(11);
5474 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
5475 once_value_4
= fra
.me
.REG
[1];
5476 register_static_object(&once_value_4
);
5477 } else fra
.me
.REG
[1] = once_value_4
;
5478 fra
.me
.REG
[1] = fra
.me
.REG
[1];
5479 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5480 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5481 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5482 if (!once_value_5
) {
5483 fra
.me
.REG
[5] = BOX_NativeString(".");
5485 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
5486 once_value_5
= fra
.me
.REG
[5];
5487 register_static_object(&once_value_5
);
5488 } else fra
.me
.REG
[5] = once_value_5
;
5489 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5490 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5491 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5492 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
5497 stack_frame_head
= fra
.me
.prev
;
5500 static const char LOCATE_syntax___mmbuilder___ASuperclass___ancestor
[] = "mmbuilder::ASuperclass::ancestor";
5501 val_t
syntax___mmbuilder___ASuperclass___ancestor(val_t p0
){
5502 struct {struct stack_frame_t me
;} fra
;
5504 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5505 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5507 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASuperclass___ancestor
;
5508 fra
.me
.has_broke
= 0;
5509 fra
.me
.REG_size
= 1;
5510 fra
.me
.nitni_local_ref_head
= NULL
;
5511 fra
.me
.REG
[0] = NIT_NULL
;
5513 /* syntax/mmbuilder.nit:823 */
5514 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[0]);
5515 stack_frame_head
= fra
.me
.prev
;
5516 return fra
.me
.REG
[0];
5518 static const char LOCATE_syntax___mmbuilder___ASuperclass___accept_class_specialization_builder
[] = "mmbuilder::ASuperclass::(mmbuilder::ANode::accept_class_specialization_builder)";
5519 void syntax___mmbuilder___ASuperclass___accept_class_specialization_builder(val_t p0
, val_t p1
){
5520 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5524 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5525 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5527 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASuperclass___accept_class_specialization_builder
;
5528 fra
.me
.has_broke
= 0;
5529 fra
.me
.REG_size
= 4;
5530 fra
.me
.nitni_local_ref_head
= NULL
;
5531 fra
.me
.REG
[0] = NIT_NULL
;
5532 fra
.me
.REG
[1] = NIT_NULL
;
5533 fra
.me
.REG
[2] = NIT_NULL
;
5534 fra
.me
.REG
[3] = NIT_NULL
;
5537 /* syntax/mmbuilder.nit:825 */
5538 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5539 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5540 /* syntax/mmbuilder.nit:827 */
5541 CALL_SUPER_syntax___mmbuilder___ASuperclass___accept_class_specialization_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5542 /* syntax/mmbuilder.nit:828 */
5543 fra
.me
.REG
[1] = CALL_parser___parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5544 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AType___get_local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
5545 /* syntax/mmbuilder.nit:829 */
5546 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5547 if (UNTAG_Bool(REGB0
)) {
5549 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5550 if (UNTAG_Bool(REGB1
)) {
5551 REGB1
= TAG_Bool(0);
5554 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
5558 if (UNTAG_Bool(REGB0
)) {
5561 /* syntax/mmbuilder.nit:830 */
5562 fra
.me
.REG
[1] = NEW_MMSrcAncestor_syntax___mmbuilder___MMSrcAncestor___init(fra
.me
.REG
[1]);
5563 /* syntax/mmbuilder.nit:831 */
5564 ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
5565 /* syntax/mmbuilder.nit:832 */
5566 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5567 CALL_metamodel___inheritance___MMLocalClass___add_direct_parent(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
5569 stack_frame_head
= fra
.me
.prev
;
5572 static const char LOCATE_syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder
[] = "mmbuilder::ASuperclass::(mmbuilder::ANode::accept_class_ancestor_builder)";
5573 void syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder(val_t p0
, val_t p1
){
5574 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5577 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5578 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5580 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder
;
5581 fra
.me
.has_broke
= 0;
5582 fra
.me
.REG_size
= 4;
5583 fra
.me
.nitni_local_ref_head
= NULL
;
5584 fra
.me
.REG
[0] = NIT_NULL
;
5585 fra
.me
.REG
[1] = NIT_NULL
;
5586 fra
.me
.REG
[2] = NIT_NULL
;
5587 fra
.me
.REG
[3] = NIT_NULL
;
5590 /* syntax/mmbuilder.nit:835 */
5591 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5592 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5593 /* syntax/mmbuilder.nit:837 */
5594 CALL_SUPER_syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5595 /* syntax/mmbuilder.nit:838 */
5596 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]);
5597 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5598 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_unchecked_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
5599 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5600 if (UNTAG_Bool(REGB0
)) {
5601 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 838);
5603 CALL_metamodel___static_type___MMAncestor___stype__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5604 /* syntax/mmbuilder.nit:839 */
5605 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]);
5606 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5607 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5608 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5609 if (UNTAG_Bool(REGB0
)) {
5610 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 839);
5612 CALL_metamodel___static_type___MMAncestor___inheriter__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
5613 stack_frame_head
= fra
.me
.prev
;
5616 static const char LOCATE_syntax___mmbuilder___ASuperclass___accept_class_verifier
[] = "mmbuilder::ASuperclass::(mmbuilder::ANode::accept_class_verifier)";
5617 void syntax___mmbuilder___ASuperclass___accept_class_verifier(val_t p0
, val_t p1
){
5618 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5620 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5621 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5623 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASuperclass___accept_class_verifier
;
5624 fra
.me
.has_broke
= 0;
5625 fra
.me
.REG_size
= 4;
5626 fra
.me
.nitni_local_ref_head
= NULL
;
5627 fra
.me
.REG
[0] = NIT_NULL
;
5628 fra
.me
.REG
[1] = NIT_NULL
;
5629 fra
.me
.REG
[2] = NIT_NULL
;
5630 fra
.me
.REG
[3] = NIT_NULL
;
5633 /* syntax/mmbuilder.nit:842 */
5634 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5635 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5636 /* syntax/mmbuilder.nit:844 */
5637 CALL_SUPER_syntax___mmbuilder___ASuperclass___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5638 /* syntax/mmbuilder.nit:845 */
5639 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5640 CALL_syntax___syntax_base___AType___check_conform(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
5641 stack_frame_head
= fra
.me
.prev
;
5644 static const char LOCATE_syntax___mmbuilder___APropdef___process_and_check
[] = "mmbuilder::APropdef::process_and_check";
5645 void syntax___mmbuilder___APropdef___process_and_check(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
5646 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5652 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5653 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5655 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APropdef___process_and_check
;
5656 fra
.me
.has_broke
= 0;
5657 fra
.me
.REG_size
= 4;
5658 fra
.me
.nitni_local_ref_head
= NULL
;
5659 fra
.me
.REG
[0] = NIT_NULL
;
5660 fra
.me
.REG
[1] = NIT_NULL
;
5661 fra
.me
.REG
[2] = NIT_NULL
;
5662 fra
.me
.REG
[3] = NIT_NULL
;
5668 /* syntax/mmbuilder.nit:858 */
5669 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5670 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5671 REGB2
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[2]));
5672 if (UNTAG_Bool(REGB2
)) {
5674 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
5677 if (UNTAG_Bool(REGB2
)) {
5678 /* syntax/mmbuilder.nit:859 */
5679 CALL_syntax___mmbuilder___APropdef___do_and_check_intro(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
, REGB1
);
5681 /* syntax/mmbuilder.nit:861 */
5682 CALL_syntax___mmbuilder___APropdef___do_and_check_redef(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
, REGB1
);
5684 stack_frame_head
= fra
.me
.prev
;
5687 static const char LOCATE_syntax___mmbuilder___APropdef___do_and_check_intro
[] = "mmbuilder::APropdef::do_and_check_intro";
5688 void syntax___mmbuilder___APropdef___do_and_check_intro(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
5689 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
5696 static val_t once_value_1
; /* Once value */
5697 static val_t once_value_2
; /* Once value */
5698 static val_t once_value_3
; /* Once value */
5699 static val_t once_value_4
; /* Once value */
5700 static val_t once_value_5
; /* Once value */
5701 static val_t once_value_6
; /* Once value */
5702 static val_t once_value_7
; /* Once value */
5703 static val_t once_value_8
; /* Once value */
5704 static val_t once_value_9
; /* Once value */
5705 static val_t once_value_10
; /* Once value */
5706 static val_t once_value_11
; /* Once value */
5707 static val_t once_value_12
; /* Once value */
5708 static val_t once_value_13
; /* Once value */
5709 static val_t once_value_14
; /* Once value */
5710 static val_t once_value_15
; /* Once value */
5711 static val_t once_value_16
; /* Once value */
5712 static val_t once_value_17
; /* Once value */
5713 static val_t once_value_18
; /* Once value */
5714 static val_t once_value_19
; /* Once value */
5715 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5716 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5718 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APropdef___do_and_check_intro
;
5719 fra
.me
.has_broke
= 0;
5720 fra
.me
.REG_size
= 7;
5721 fra
.me
.nitni_local_ref_head
= NULL
;
5722 fra
.me
.REG
[0] = NIT_NULL
;
5723 fra
.me
.REG
[1] = NIT_NULL
;
5724 fra
.me
.REG
[2] = NIT_NULL
;
5725 fra
.me
.REG
[3] = NIT_NULL
;
5726 fra
.me
.REG
[4] = NIT_NULL
;
5727 fra
.me
.REG
[5] = NIT_NULL
;
5728 fra
.me
.REG
[6] = NIT_NULL
;
5734 /* syntax/mmbuilder.nit:868 */
5735 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5736 /* syntax/mmbuilder.nit:869 */
5737 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5738 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5739 /* syntax/mmbuilder.nit:870 */
5740 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5741 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5742 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5744 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
5745 if (UNTAG_Bool(REGB4
)) {
5747 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5749 /* ../lib/standard/kernel.nit:236 */
5750 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
5751 /* syntax/mmbuilder.nit:870 */
5752 if (UNTAG_Bool(REGB3
)) {
5753 /* syntax/mmbuilder.nit:872 */
5757 /* syntax/mmbuilder.nit:874 */
5758 CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
5759 /* syntax/mmbuilder.nit:875 */
5760 if (UNTAG_Bool(REGB0
)) {
5761 /* syntax/mmbuilder.nit:876 */
5763 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5764 if (!once_value_1
) {
5765 fra
.me
.REG
[6] = BOX_NativeString("Error: No property ");
5766 REGB0
= TAG_Int(19);
5767 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5768 once_value_1
= fra
.me
.REG
[6];
5769 register_static_object(&once_value_1
);
5770 } else fra
.me
.REG
[6] = once_value_1
;
5771 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5772 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5773 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5774 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5775 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5776 if (!once_value_2
) {
5777 fra
.me
.REG
[6] = BOX_NativeString("::");
5779 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5780 once_value_2
= fra
.me
.REG
[6];
5781 register_static_object(&once_value_2
);
5782 } else fra
.me
.REG
[6] = once_value_2
;
5783 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5784 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5785 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5786 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5787 if (!once_value_3
) {
5788 fra
.me
.REG
[6] = BOX_NativeString(" is inherited. Remove the redef keyword to define a new property.");
5789 REGB0
= TAG_Int(65);
5790 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5791 once_value_3
= fra
.me
.REG
[6];
5792 register_static_object(&once_value_3
);
5793 } else fra
.me
.REG
[6] = once_value_3
;
5794 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5795 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5796 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5797 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5799 /* syntax/mmbuilder.nit:878 */
5800 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_attribute(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5801 if (UNTAG_Bool(REGB0
)) {
5802 /* syntax/mmbuilder.nit:879 */
5803 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5804 if (UNTAG_Bool(REGB0
)) {
5805 /* syntax/mmbuilder.nit:880 */
5807 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5808 if (!once_value_4
) {
5809 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define attribute ");
5810 REGB0
= TAG_Int(35);
5811 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5812 once_value_4
= fra
.me
.REG
[6];
5813 register_static_object(&once_value_4
);
5814 } else fra
.me
.REG
[6] = once_value_4
;
5815 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5816 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5817 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5818 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5819 if (!once_value_5
) {
5820 fra
.me
.REG
[6] = BOX_NativeString(" in the interface ");
5821 REGB0
= TAG_Int(18);
5822 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5823 once_value_5
= fra
.me
.REG
[6];
5824 register_static_object(&once_value_5
);
5825 } else fra
.me
.REG
[6] = once_value_5
;
5826 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5827 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5828 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5829 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5830 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5831 if (!once_value_6
) {
5832 fra
.me
.REG
[6] = BOX_NativeString(".");
5834 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5835 once_value_6
= fra
.me
.REG
[6];
5836 register_static_object(&once_value_6
);
5837 } else fra
.me
.REG
[6] = once_value_6
;
5838 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5839 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5840 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5841 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5843 /* syntax/mmbuilder.nit:881 */
5844 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5845 if (UNTAG_Bool(REGB0
)) {
5846 /* syntax/mmbuilder.nit:882 */
5848 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5849 if (!once_value_7
) {
5850 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define attribute ");
5851 REGB0
= TAG_Int(35);
5852 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5853 once_value_7
= fra
.me
.REG
[6];
5854 register_static_object(&once_value_7
);
5855 } else fra
.me
.REG
[6] = once_value_7
;
5856 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5857 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5858 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5859 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5860 if (!once_value_8
) {
5861 fra
.me
.REG
[6] = BOX_NativeString(" in the enum class ");
5862 REGB0
= TAG_Int(19);
5863 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5864 once_value_8
= fra
.me
.REG
[6];
5865 register_static_object(&once_value_8
);
5866 } else fra
.me
.REG
[6] = once_value_8
;
5867 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5868 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5869 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5870 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5871 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5872 if (!once_value_9
) {
5873 fra
.me
.REG
[6] = BOX_NativeString(".");
5875 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5876 once_value_9
= fra
.me
.REG
[6];
5877 register_static_object(&once_value_9
);
5878 } else fra
.me
.REG
[6] = once_value_9
;
5879 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5880 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5881 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5882 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5884 /* syntax/mmbuilder.nit:883 */
5885 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5886 if (UNTAG_Bool(REGB0
)) {
5887 /* syntax/mmbuilder.nit:884 */
5889 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5890 if (!once_value_10
) {
5891 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define attribute ");
5892 REGB0
= TAG_Int(35);
5893 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5894 once_value_10
= fra
.me
.REG
[6];
5895 register_static_object(&once_value_10
);
5896 } else fra
.me
.REG
[6] = once_value_10
;
5897 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5898 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5899 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5900 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5901 if (!once_value_11
) {
5902 fra
.me
.REG
[6] = BOX_NativeString(" in the extern class ");
5903 REGB0
= TAG_Int(21);
5904 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5905 once_value_11
= fra
.me
.REG
[6];
5906 register_static_object(&once_value_11
);
5907 } else fra
.me
.REG
[6] = once_value_11
;
5908 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5909 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5910 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5911 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5912 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5913 if (!once_value_12
) {
5914 fra
.me
.REG
[6] = BOX_NativeString(".");
5916 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5917 once_value_12
= fra
.me
.REG
[6];
5918 register_static_object(&once_value_12
);
5919 } else fra
.me
.REG
[6] = once_value_12
;
5920 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5921 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5922 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5923 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5928 /* syntax/mmbuilder.nit:886 */
5929 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5930 if (UNTAG_Bool(REGB0
)) {
5931 /* syntax/mmbuilder.nit:887 */
5932 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5933 if (UNTAG_Bool(REGB0
)) {
5934 /* syntax/mmbuilder.nit:888 */
5936 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5937 if (!once_value_13
) {
5938 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define a constructor ");
5939 REGB0
= TAG_Int(39);
5940 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5941 once_value_13
= fra
.me
.REG
[6];
5942 register_static_object(&once_value_13
);
5943 } else fra
.me
.REG
[6] = once_value_13
;
5944 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5945 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5946 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5947 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5948 if (!once_value_14
) {
5949 fra
.me
.REG
[6] = BOX_NativeString(" in the class ");
5950 REGB0
= TAG_Int(14);
5951 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5952 once_value_14
= fra
.me
.REG
[6];
5953 register_static_object(&once_value_14
);
5954 } else fra
.me
.REG
[6] = once_value_14
;
5955 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5956 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5957 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5958 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5959 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5960 if (!once_value_15
) {
5961 fra
.me
.REG
[6] = BOX_NativeString(".");
5963 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5964 once_value_15
= fra
.me
.REG
[6];
5965 register_static_object(&once_value_15
);
5966 } else fra
.me
.REG
[6] = once_value_15
;
5967 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5968 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5969 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5970 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5972 /* syntax/mmbuilder.nit:889 */
5973 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5974 if (UNTAG_Bool(REGB0
)) {
5975 /* syntax/mmbuilder.nit:890 */
5977 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5978 if (!once_value_16
) {
5979 fra
.me
.REG
[5] = BOX_NativeString("Error: Attempt to define a constructor ");
5980 REGB0
= TAG_Int(39);
5981 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
5982 once_value_16
= fra
.me
.REG
[5];
5983 register_static_object(&once_value_16
);
5984 } else fra
.me
.REG
[5] = once_value_16
;
5985 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5986 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5987 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5988 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5989 if (!once_value_17
) {
5990 fra
.me
.REG
[5] = BOX_NativeString(" in the enum ");
5991 REGB0
= TAG_Int(13);
5992 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
5993 once_value_17
= fra
.me
.REG
[5];
5994 register_static_object(&once_value_17
);
5995 } else fra
.me
.REG
[5] = once_value_17
;
5996 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5997 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5998 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5999 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6000 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6001 if (!once_value_18
) {
6002 fra
.me
.REG
[5] = BOX_NativeString(".");
6004 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6005 once_value_18
= fra
.me
.REG
[5];
6006 register_static_object(&once_value_18
);
6007 } else fra
.me
.REG
[5] = once_value_18
;
6008 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6009 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6010 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6011 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
6016 /* syntax/mmbuilder.nit:895 */
6017 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6018 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6019 if (UNTAG_Bool(REGB0
)) {
6021 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6022 if (UNTAG_Bool(REGB1
)) {
6023 REGB1
= TAG_Bool(0);
6026 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
6030 if (UNTAG_Bool(REGB0
)) {
6031 /* syntax/mmbuilder.nit:896 */
6032 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6033 if (UNTAG_Bool(REGB0
)) {
6034 /* syntax/mmbuilder.nit:897 */
6035 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6036 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6037 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___super_methods_named(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
6038 /* syntax/mmbuilder.nit:898 */
6039 CALL_syntax___mmbuilder___APropdef___inherit_signature(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[4]);
6041 /* syntax/mmbuilder.nit:900 */
6042 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6043 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6044 if (UNTAG_Bool(REGB0
)) {
6046 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6047 if (UNTAG_Bool(REGB1
)) {
6048 REGB1
= TAG_Bool(0);
6051 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
6055 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6056 if (UNTAG_Bool(REGB0
)) {
6057 REGB0
= TAG_Bool(1);
6059 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6060 REGB1
= CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6063 if (UNTAG_Bool(REGB0
)) {
6065 /* syntax/mmbuilder.nit:902 */
6066 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6067 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6068 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6069 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6070 if (UNTAG_Bool(REGB0
)) {
6071 /* syntax/mmbuilder.nit:903 */
6072 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6073 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6074 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6075 if (!once_value_19
) {
6076 fra
.me
.REG
[0] = BOX_NativeString("Error: Untyped parameter.");
6077 REGB0
= TAG_Int(25);
6078 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
6079 once_value_19
= fra
.me
.REG
[0];
6080 register_static_object(&once_value_19
);
6081 } else fra
.me
.REG
[0] = once_value_19
;
6082 fra
.me
.REG
[0] = fra
.me
.REG
[0];
6083 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[0]);
6085 /* syntax/mmbuilder.nit:905 */
6086 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
6087 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6088 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6089 fra
.me
.REG
[4] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[4]);
6090 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
6091 /* syntax/mmbuilder.nit:906 */
6092 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6093 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6094 /* ../lib/standard/collection/array.nit:269 */
6096 /* ../lib/standard/collection/array.nit:270 */
6097 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
6098 if (UNTAG_Bool(REGB1
)) {
6100 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
6102 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
6103 /* ../lib/standard/collection/array.nit:271 */
6104 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
6105 /* ../lib/standard/collection/array.nit:272 */
6107 /* ../lib/standard/collection/array.nit:24 */
6108 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
6109 if (UNTAG_Bool(REGB1
)) {
6111 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6113 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
6114 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
6115 if (UNTAG_Bool(REGB3
)) {
6117 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6119 /* ../lib/standard/kernel.nit:235 */
6120 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
6121 /* ../lib/standard/collection/array.nit:272 */
6122 if (UNTAG_Bool(REGB1
)) {
6123 /* ../lib/standard/collection/array.nit:273 */
6124 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6125 if (UNTAG_Bool(REGB1
)) {
6126 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
6128 /* ../lib/standard/collection/array.nit:718 */
6129 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
6130 /* syntax/mmbuilder.nit:907 */
6131 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6132 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
6133 if (UNTAG_Bool(REGB1
)) {
6134 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 907);
6136 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMSignature___closures(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6137 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AClosureDecl___variable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
6138 fra
.me
.REG
[0] = CALL_syntax___syntax_base___ClosureVariable___closure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
6139 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
6140 /* ../lib/standard/collection/array.nit:274 */
6142 /* ../lib/standard/kernel.nit:238 */
6143 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
6144 /* ../lib/standard/collection/array.nit:274 */
6147 /* ../lib/standard/collection/array.nit:272 */
6155 stack_frame_head
= fra
.me
.prev
;
6158 static const char LOCATE_syntax___mmbuilder___APropdef___inherit_signature
[] = "mmbuilder::APropdef::inherit_signature";
6159 void syntax___mmbuilder___APropdef___inherit_signature(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
6160 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
6167 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
6168 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
6170 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APropdef___inherit_signature
;
6171 fra
.me
.has_broke
= 0;
6172 fra
.me
.REG_size
= 11;
6173 fra
.me
.nitni_local_ref_head
= NULL
;
6174 fra
.me
.REG
[0] = NIT_NULL
;
6175 fra
.me
.REG
[1] = NIT_NULL
;
6176 fra
.me
.REG
[2] = NIT_NULL
;
6177 fra
.me
.REG
[3] = NIT_NULL
;
6178 fra
.me
.REG
[4] = NIT_NULL
;
6179 fra
.me
.REG
[5] = NIT_NULL
;
6180 fra
.me
.REG
[6] = NIT_NULL
;
6181 fra
.me
.REG
[7] = NIT_NULL
;
6182 fra
.me
.REG
[8] = NIT_NULL
;
6183 fra
.me
.REG
[9] = NIT_NULL
;
6184 fra
.me
.REG
[10] = NIT_NULL
;
6189 /* syntax/mmbuilder.nit:915 */
6190 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6191 /* ../lib/standard/collection/array.nit:269 */
6193 /* ../lib/standard/collection/array.nit:270 */
6194 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
6195 if (UNTAG_Bool(REGB1
)) {
6197 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
6199 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
6200 /* ../lib/standard/collection/array.nit:271 */
6201 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
6202 /* ../lib/standard/collection/array.nit:272 */
6204 /* ../lib/standard/collection/array.nit:24 */
6205 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
6206 if (UNTAG_Bool(REGB1
)) {
6208 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6210 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
6211 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
6212 if (UNTAG_Bool(REGB2
)) {
6214 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6216 /* ../lib/standard/kernel.nit:235 */
6217 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
6218 /* ../lib/standard/collection/array.nit:272 */
6219 if (UNTAG_Bool(REGB1
)) {
6220 /* ../lib/standard/collection/array.nit:273 */
6221 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6222 if (UNTAG_Bool(REGB1
)) {
6223 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
6225 /* ../lib/standard/collection/array.nit:718 */
6226 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
6227 /* syntax/mmbuilder.nit:917 */
6228 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6229 fra
.me
.REG
[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6230 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6231 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
6232 if (UNTAG_Bool(REGB1
)) {
6233 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 917);
6235 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMSignature___adaptation_to(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
6236 /* syntax/mmbuilder.nit:919 */
6237 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6238 if (UNTAG_Bool(REGB1
)) {
6240 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6241 if (UNTAG_Bool(REGB2
)) {
6242 REGB2
= TAG_Bool(0);
6245 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
6249 if (UNTAG_Bool(REGB1
)) {
6250 /* syntax/mmbuilder.nit:920 */
6251 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6252 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6253 /* ../lib/standard/collection/array.nit:24 */
6254 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6255 if (UNTAG_Bool(REGB1
)) {
6257 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6259 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6260 /* syntax/mmbuilder.nit:920 */
6261 REGB2
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6262 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
6263 if (UNTAG_Bool(REGB3
)) {
6265 /* ../lib/standard/kernel.nit:230 */
6266 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
6267 /* syntax/mmbuilder.nit:920 */
6270 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
6271 if (UNTAG_Bool(REGB3
)) {
6272 /* syntax/mmbuilder.nit:921 */
6275 /* syntax/mmbuilder.nit:923 */
6276 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6277 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6278 /* ../lib/standard/collection/array.nit:269 */
6280 /* ../lib/standard/collection/array.nit:270 */
6281 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6282 if (UNTAG_Bool(REGB2
)) {
6284 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
6286 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6287 /* ../lib/standard/collection/array.nit:271 */
6288 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
6289 /* ../lib/standard/collection/array.nit:272 */
6291 /* ../lib/standard/collection/array.nit:24 */
6292 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6293 if (UNTAG_Bool(REGB2
)) {
6295 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6297 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6298 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
6299 if (UNTAG_Bool(REGB1
)) {
6301 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6303 /* ../lib/standard/kernel.nit:235 */
6304 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB2
));
6305 /* ../lib/standard/collection/array.nit:272 */
6306 if (UNTAG_Bool(REGB2
)) {
6307 /* ../lib/standard/collection/array.nit:273 */
6308 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6309 if (UNTAG_Bool(REGB2
)) {
6310 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
6312 /* ../lib/standard/collection/array.nit:718 */
6313 fra
.me
.REG
[8] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB3
)];
6314 /* syntax/mmbuilder.nit:924 */
6315 REGB2
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6316 fra
.me
.REG
[9] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB2
);
6317 /* syntax/mmbuilder.nit:925 */
6318 CALL_syntax___mmbuilder___AParam___stype__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
6319 /* syntax/mmbuilder.nit:926 */
6320 REGB2
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6321 REGB1
= CALL_metamodel___vararg___MMSignature___vararg_rank(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6322 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
6323 if (UNTAG_Bool(REGB4
)) {
6325 /* ../lib/standard/kernel.nit:230 */
6326 REGB1
= TAG_Bool((REGB2
)==(REGB1
));
6327 /* syntax/mmbuilder.nit:926 */
6330 if (UNTAG_Bool(REGB4
)) {
6331 /* syntax/mmbuilder.nit:927 */
6332 fra
.me
.REG
[10] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[9]);
6333 fra
.me
.REG
[9] = fra
.me
.REG
[10];
6335 /* syntax/mmbuilder.nit:929 */
6336 fra
.me
.REG
[8] = CALL_syntax___syntax_base___AParam___variable(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6337 CALL_syntax___syntax_base___Variable___stype__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
6338 /* ../lib/standard/collection/array.nit:274 */
6340 /* ../lib/standard/kernel.nit:238 */
6341 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB4
));
6342 /* ../lib/standard/collection/array.nit:274 */
6345 /* ../lib/standard/collection/array.nit:272 */
6350 /* syntax/mmbuilder.nit:932 */
6351 fra
.me
.REG
[0] = fra
.me
.REG
[6];
6352 /* syntax/mmbuilder.nit:933 */
6353 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
6355 /* ../lib/standard/collection/array.nit:274 */
6357 /* ../lib/standard/kernel.nit:238 */
6358 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
6359 /* ../lib/standard/collection/array.nit:274 */
6362 /* ../lib/standard/collection/array.nit:272 */
6368 stack_frame_head
= fra
.me
.prev
;
6371 static const char LOCATE_syntax___mmbuilder___APropdef___do_and_check_redef
[] = "mmbuilder::APropdef::do_and_check_redef";
6372 void syntax___mmbuilder___APropdef___do_and_check_redef(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
6373 struct {struct stack_frame_t me
; val_t MORE_REG
[13];} fra
;
6383 static val_t once_value_1
; /* Once value */
6384 static val_t once_value_2
; /* Once value */
6385 static val_t once_value_3
; /* Once value */
6386 static val_t once_value_5
; /* Once value */
6387 static val_t once_value_6
; /* Once value */
6388 static val_t once_value_7
; /* Once value */
6389 static val_t once_value_8
; /* Once value */
6390 static val_t once_value_9
; /* Once value */
6391 static val_t once_value_10
; /* Once value */
6392 static val_t once_value_12
; /* Once value */
6393 static val_t once_value_13
; /* Once value */
6394 static val_t once_value_14
; /* Once value */
6395 static val_t once_value_15
; /* Once value */
6396 static val_t once_value_16
; /* Once value */
6397 static val_t once_value_17
; /* Once value */
6398 static val_t once_value_18
; /* Once value */
6399 static val_t once_value_19
; /* Once value */
6400 static val_t once_value_20
; /* Once value */
6401 static val_t once_value_21
; /* Once value */
6402 static val_t once_value_22
; /* Once value */
6403 static val_t once_value_23
; /* Once value */
6404 static val_t once_value_26
; /* Once value */
6405 static val_t once_value_27
; /* Once value */
6406 static val_t once_value_28
; /* Once value */
6407 static val_t once_value_29
; /* Once value */
6408 static val_t once_value_30
; /* Once value */
6409 static val_t once_value_31
; /* Once value */
6410 static val_t once_value_32
; /* Once value */
6411 static val_t once_value_33
; /* Once value */
6412 static val_t once_value_34
; /* Once value */
6413 static val_t once_value_35
; /* Once value */
6414 static val_t once_value_37
; /* Once value */
6415 static val_t once_value_38
; /* Once value */
6416 static val_t once_value_39
; /* Once value */
6417 static val_t once_value_40
; /* Once value */
6418 static val_t once_value_41
; /* Once value */
6419 static val_t once_value_42
; /* Once value */
6420 static val_t once_value_43
; /* Once value */
6421 static val_t once_value_44
; /* Once value */
6422 static val_t once_value_45
; /* Once value */
6423 static val_t once_value_46
; /* Once value */
6424 static val_t once_value_47
; /* Once value */
6425 static val_t once_value_48
; /* Once value */
6426 static val_t once_value_49
; /* Once value */
6427 static val_t once_value_50
; /* Once value */
6428 static val_t once_value_51
; /* Once value */
6429 static val_t once_value_52
; /* Once value */
6430 static val_t once_value_53
; /* Once value */
6431 static val_t once_value_54
; /* Once value */
6432 static val_t once_value_55
; /* Once value */
6433 static val_t once_value_56
; /* Once value */
6434 static val_t once_value_57
; /* Once value */
6435 static val_t once_value_58
; /* Once value */
6436 static val_t once_value_59
; /* Once value */
6437 static val_t once_value_60
; /* Once value */
6438 static val_t once_value_61
; /* Once value */
6439 static val_t once_value_62
; /* Once value */
6440 static val_t once_value_63
; /* Once value */
6441 static val_t once_value_65
; /* Once value */
6442 static val_t once_value_66
; /* Once value */
6443 static val_t once_value_67
; /* Once value */
6444 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
6445 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
6447 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APropdef___do_and_check_redef
;
6448 fra
.me
.has_broke
= 0;
6449 fra
.me
.REG_size
= 14;
6450 fra
.me
.nitni_local_ref_head
= NULL
;
6451 fra
.me
.REG
[0] = NIT_NULL
;
6452 fra
.me
.REG
[1] = NIT_NULL
;
6453 fra
.me
.REG
[2] = NIT_NULL
;
6454 fra
.me
.REG
[3] = NIT_NULL
;
6455 fra
.me
.REG
[4] = NIT_NULL
;
6456 fra
.me
.REG
[5] = NIT_NULL
;
6457 fra
.me
.REG
[6] = NIT_NULL
;
6458 fra
.me
.REG
[7] = NIT_NULL
;
6459 fra
.me
.REG
[8] = NIT_NULL
;
6460 fra
.me
.REG
[9] = NIT_NULL
;
6461 fra
.me
.REG
[10] = NIT_NULL
;
6462 fra
.me
.REG
[11] = NIT_NULL
;
6463 fra
.me
.REG
[12] = NIT_NULL
;
6464 fra
.me
.REG
[13] = NIT_NULL
;
6470 /* syntax/mmbuilder.nit:941 */
6471 REGB2
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AInitPropdef
, ID_parser___parser_nodes___AInitPropdef
)) /*cast AInitPropdef*/;
6472 /* syntax/mmbuilder.nit:942 */
6473 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6474 /* syntax/mmbuilder.nit:944 */
6475 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6476 if (UNTAG_Bool(REGB0
)) {
6477 /* syntax/mmbuilder.nit:945 */
6479 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
6480 if (!once_value_1
) {
6481 fra
.me
.REG
[5] = BOX_NativeString("Redef error: ");
6482 REGB0
= TAG_Int(13);
6483 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6484 once_value_1
= fra
.me
.REG
[5];
6485 register_static_object(&once_value_1
);
6486 } else fra
.me
.REG
[5] = once_value_1
;
6487 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6488 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6489 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6490 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6491 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6492 if (!once_value_2
) {
6493 fra
.me
.REG
[5] = BOX_NativeString("::");
6495 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6496 once_value_2
= fra
.me
.REG
[5];
6497 register_static_object(&once_value_2
);
6498 } else fra
.me
.REG
[5] = once_value_2
;
6499 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6500 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6501 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6502 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6503 if (!once_value_3
) {
6504 fra
.me
.REG
[5] = BOX_NativeString(" is an inherited property. To redefine it, add the redef keyword.");
6505 REGB0
= TAG_Int(65);
6506 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6507 once_value_3
= fra
.me
.REG
[5];
6508 register_static_object(&once_value_3
);
6509 } else fra
.me
.REG
[5] = once_value_3
;
6510 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6511 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6512 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6513 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
6514 /* syntax/mmbuilder.nit:946 */
6517 /* syntax/mmbuilder.nit:948 */
6518 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6519 if (UNTAG_Bool(REGB0
)) {
6520 REGB0
= TAG_Bool(!UNTAG_Bool(REGB2
));
6522 REGB3
= TAG_Bool(0);
6525 if (UNTAG_Bool(REGB0
)) {
6526 /* syntax/mmbuilder.nit:949 */
6528 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
6529 if (!once_value_5
) {
6530 fra
.me
.REG
[5] = BOX_NativeString("Redef error: A method ");
6531 REGB0
= TAG_Int(22);
6532 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6533 once_value_5
= fra
.me
.REG
[5];
6534 register_static_object(&once_value_5
);
6535 } else fra
.me
.REG
[5] = once_value_5
;
6536 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6537 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6538 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6539 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6540 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6541 if (!once_value_6
) {
6542 fra
.me
.REG
[5] = BOX_NativeString("::");
6544 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6545 once_value_6
= fra
.me
.REG
[5];
6546 register_static_object(&once_value_6
);
6547 } else fra
.me
.REG
[5] = once_value_6
;
6548 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6549 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6550 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6551 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6552 if (!once_value_7
) {
6553 fra
.me
.REG
[5] = BOX_NativeString(" cannot redefine a constructor.");
6554 REGB0
= TAG_Int(31);
6555 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6556 once_value_7
= fra
.me
.REG
[5];
6557 register_static_object(&once_value_7
);
6558 } else fra
.me
.REG
[5] = once_value_7
;
6559 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6560 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6561 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6562 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
6564 /* syntax/mmbuilder.nit:950 */
6565 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6566 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6567 if (UNTAG_Bool(REGB0
)) {
6569 REGB0
= TAG_Bool(0);
6572 if (UNTAG_Bool(REGB2
)) {
6573 /* syntax/mmbuilder.nit:951 */
6575 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
6576 if (!once_value_8
) {
6577 fra
.me
.REG
[5] = BOX_NativeString("Redef error: A constructor ");
6578 REGB2
= TAG_Int(27);
6579 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
6580 once_value_8
= fra
.me
.REG
[5];
6581 register_static_object(&once_value_8
);
6582 } else fra
.me
.REG
[5] = once_value_8
;
6583 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6584 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6585 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6586 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6587 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6588 if (!once_value_9
) {
6589 fra
.me
.REG
[5] = BOX_NativeString("::");
6591 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
6592 once_value_9
= fra
.me
.REG
[5];
6593 register_static_object(&once_value_9
);
6594 } else fra
.me
.REG
[5] = once_value_9
;
6595 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6596 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6597 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6598 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6599 if (!once_value_10
) {
6600 fra
.me
.REG
[5] = BOX_NativeString(" cannot redefine a method.");
6601 REGB2
= TAG_Int(26);
6602 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
6603 once_value_10
= fra
.me
.REG
[5];
6604 register_static_object(&once_value_10
);
6605 } else fra
.me
.REG
[5] = once_value_10
;
6606 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6607 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6608 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6609 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
6612 /* syntax/mmbuilder.nit:954 */
6613 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6614 /* syntax/mmbuilder.nit:956 */
6615 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___prhe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6616 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6617 /* ../lib/standard/collection/array.nit:269 */
6619 /* ../lib/standard/collection/array.nit:270 */
6620 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6621 if (UNTAG_Bool(REGB0
)) {
6623 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
6625 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6626 /* ../lib/standard/collection/array.nit:271 */
6627 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
6628 /* ../lib/standard/collection/array.nit:272 */
6630 /* ../lib/standard/collection/array.nit:24 */
6631 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6632 if (UNTAG_Bool(REGB0
)) {
6634 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6636 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6637 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
6638 if (UNTAG_Bool(REGB3
)) {
6640 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6642 /* ../lib/standard/kernel.nit:235 */
6643 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB0
));
6644 /* ../lib/standard/collection/array.nit:272 */
6645 if (UNTAG_Bool(REGB0
)) {
6646 /* ../lib/standard/collection/array.nit:273 */
6647 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
6648 if (UNTAG_Bool(REGB0
)) {
6649 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
6651 /* ../lib/standard/collection/array.nit:718 */
6652 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB2
)];
6653 /* syntax/mmbuilder.nit:957 */
6654 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6655 fra
.me
.REG
[9] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6656 fra
.me
.REG
[9] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
6657 /* syntax/mmbuilder.nit:958 */
6658 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6659 /* syntax/mmbuilder.nit:959 */
6660 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6661 if (UNTAG_Bool(REGB0
)) {
6663 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6664 if (UNTAG_Bool(REGB3
)) {
6665 REGB3
= TAG_Bool(0);
6668 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
6672 if (UNTAG_Bool(REGB0
)) {
6675 /* syntax/mmbuilder.nit:960 */
6676 fra
.me
.REG
[8] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6677 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6678 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6679 if (UNTAG_Bool(REGB0
)) {
6680 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 960);
6682 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature___adaptation_to(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
6683 fra
.me
.REG
[7] = fra
.me
.REG
[8];
6684 /* syntax/mmbuilder.nit:962 */
6685 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6686 if (UNTAG_Bool(REGB0
)) {
6688 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6689 if (UNTAG_Bool(REGB3
)) {
6690 REGB3
= TAG_Bool(0);
6693 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
6697 if (UNTAG_Bool(REGB0
)) {
6698 /* syntax/mmbuilder.nit:964 */
6699 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6700 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6701 /* ../lib/standard/collection/array.nit:24 */
6702 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6703 if (UNTAG_Bool(REGB0
)) {
6705 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6707 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6708 /* syntax/mmbuilder.nit:964 */
6709 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6710 if (UNTAG_Bool(REGB3
)) {
6711 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 964);
6713 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6714 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB3
));
6715 if (UNTAG_Bool(REGB4
)) {
6717 /* ../lib/standard/kernel.nit:230 */
6718 REGB3
= TAG_Bool((REGB0
)==(REGB3
));
6719 /* syntax/mmbuilder.nit:964 */
6722 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
6723 if (UNTAG_Bool(REGB4
)) {
6724 /* syntax/mmbuilder.nit:965 */
6725 REGB4
= TAG_Int(11);
6726 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
6727 if (!once_value_12
) {
6728 fra
.me
.REG
[10] = BOX_NativeString("Redef error: ");
6729 REGB4
= TAG_Int(13);
6730 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6731 once_value_12
= fra
.me
.REG
[10];
6732 register_static_object(&once_value_12
);
6733 } else fra
.me
.REG
[10] = once_value_12
;
6734 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6735 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6736 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6737 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6738 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6739 if (!once_value_13
) {
6740 fra
.me
.REG
[10] = BOX_NativeString("::");
6742 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6743 once_value_13
= fra
.me
.REG
[10];
6744 register_static_object(&once_value_13
);
6745 } else fra
.me
.REG
[10] = once_value_13
;
6746 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6747 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6748 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6749 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6750 if (!once_value_14
) {
6751 fra
.me
.REG
[10] = BOX_NativeString(" redefines ");
6752 REGB4
= TAG_Int(11);
6753 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6754 once_value_14
= fra
.me
.REG
[10];
6755 register_static_object(&once_value_14
);
6756 } else fra
.me
.REG
[10] = once_value_14
;
6757 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6758 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6759 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6760 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6761 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6762 if (!once_value_15
) {
6763 fra
.me
.REG
[10] = BOX_NativeString("::");
6765 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6766 once_value_15
= fra
.me
.REG
[10];
6767 register_static_object(&once_value_15
);
6768 } else fra
.me
.REG
[10] = once_value_15
;
6769 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6770 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6771 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6772 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6773 if (!once_value_16
) {
6774 fra
.me
.REG
[10] = BOX_NativeString(" with ");
6776 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6777 once_value_16
= fra
.me
.REG
[10];
6778 register_static_object(&once_value_16
);
6779 } else fra
.me
.REG
[10] = once_value_16
;
6780 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6781 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6782 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6783 if (UNTAG_Bool(REGB4
)) {
6784 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 965);
6786 REGB4
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6787 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(REGB4
)(REGB4
);
6788 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6789 if (!once_value_17
) {
6790 fra
.me
.REG
[10] = BOX_NativeString(" parameter(s).");
6791 REGB4
= TAG_Int(14);
6792 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6793 once_value_17
= fra
.me
.REG
[10];
6794 register_static_object(&once_value_17
);
6795 } else fra
.me
.REG
[10] = once_value_17
;
6796 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6797 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6798 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6799 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[8]);
6800 /* syntax/mmbuilder.nit:966 */
6803 /* syntax/mmbuilder.nit:968 */
6804 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6805 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6806 /* ../lib/standard/collection/array.nit:24 */
6807 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6808 if (UNTAG_Bool(REGB4
)) {
6810 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6812 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6813 /* syntax/mmbuilder.nit:968 */
6814 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6815 if (UNTAG_Bool(REGB3
)) {
6816 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 968);
6818 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature___closures(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6819 /* ../lib/standard/collection/array.nit:24 */
6820 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6821 if (UNTAG_Bool(REGB3
)) {
6823 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6825 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6826 /* syntax/mmbuilder.nit:968 */
6827 REGB0
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB3
));
6828 if (UNTAG_Bool(REGB0
)) {
6830 /* ../lib/standard/kernel.nit:230 */
6831 REGB3
= TAG_Bool((REGB4
)==(REGB3
));
6832 /* syntax/mmbuilder.nit:968 */
6835 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6836 if (UNTAG_Bool(REGB0
)) {
6837 /* syntax/mmbuilder.nit:969 */
6838 REGB0
= TAG_Int(11);
6839 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
6840 if (!once_value_18
) {
6841 fra
.me
.REG
[10] = BOX_NativeString("Redef error: ");
6842 REGB0
= TAG_Int(13);
6843 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6844 once_value_18
= fra
.me
.REG
[10];
6845 register_static_object(&once_value_18
);
6846 } else fra
.me
.REG
[10] = once_value_18
;
6847 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6848 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6849 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6850 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6851 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6852 if (!once_value_19
) {
6853 fra
.me
.REG
[10] = BOX_NativeString("::");
6855 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6856 once_value_19
= fra
.me
.REG
[10];
6857 register_static_object(&once_value_19
);
6858 } else fra
.me
.REG
[10] = once_value_19
;
6859 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6860 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6861 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6862 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6863 if (!once_value_20
) {
6864 fra
.me
.REG
[10] = BOX_NativeString(" redefines ");
6865 REGB0
= TAG_Int(11);
6866 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6867 once_value_20
= fra
.me
.REG
[10];
6868 register_static_object(&once_value_20
);
6869 } else fra
.me
.REG
[10] = once_value_20
;
6870 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6871 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6872 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6873 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6874 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6875 if (!once_value_21
) {
6876 fra
.me
.REG
[10] = BOX_NativeString("::");
6878 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6879 once_value_21
= fra
.me
.REG
[10];
6880 register_static_object(&once_value_21
);
6881 } else fra
.me
.REG
[10] = once_value_21
;
6882 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6883 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6884 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6885 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6886 if (!once_value_22
) {
6887 fra
.me
.REG
[10] = BOX_NativeString(" with ");
6889 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6890 once_value_22
= fra
.me
.REG
[10];
6891 register_static_object(&once_value_22
);
6892 } else fra
.me
.REG
[10] = once_value_22
;
6893 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6894 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6895 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6896 if (UNTAG_Bool(REGB0
)) {
6897 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 969);
6899 REGB0
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6900 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
6901 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6902 if (!once_value_23
) {
6903 fra
.me
.REG
[10] = BOX_NativeString(" closure(s).");
6904 REGB0
= TAG_Int(12);
6905 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6906 once_value_23
= fra
.me
.REG
[10];
6907 register_static_object(&once_value_23
);
6908 } else fra
.me
.REG
[10] = once_value_23
;
6909 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6910 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6911 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6912 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[8]);
6913 /* syntax/mmbuilder.nit:970 */
6916 /* syntax/mmbuilder.nit:972 */
6917 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6918 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6919 /* ../lib/standard/collection/array.nit:269 */
6921 /* ../lib/standard/collection/array.nit:270 */
6922 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6923 if (UNTAG_Bool(REGB3
)) {
6925 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
6927 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6928 /* ../lib/standard/collection/array.nit:271 */
6929 fra
.me
.REG
[10] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[8]);
6930 /* ../lib/standard/collection/array.nit:272 */
6932 /* ../lib/standard/collection/array.nit:24 */
6933 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6934 if (UNTAG_Bool(REGB3
)) {
6936 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6938 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6939 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
6940 if (UNTAG_Bool(REGB4
)) {
6942 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6944 /* ../lib/standard/kernel.nit:235 */
6945 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB3
));
6946 /* ../lib/standard/collection/array.nit:272 */
6947 if (UNTAG_Bool(REGB3
)) {
6948 /* ../lib/standard/collection/array.nit:273 */
6949 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6950 if (UNTAG_Bool(REGB3
)) {
6951 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
6953 /* ../lib/standard/collection/array.nit:718 */
6954 fra
.me
.REG
[11] = ((Nit_NativeArray
)fra
.me
.REG
[10])->val
[UNTAG_Int(REGB0
)];
6955 /* syntax/mmbuilder.nit:973 */
6956 REGB3
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6957 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6958 if (UNTAG_Bool(REGB4
)) {
6959 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 973);
6961 fra
.me
.REG
[12] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB3
);
6962 /* syntax/mmbuilder.nit:974 */
6963 CALL_syntax___mmbuilder___AParam___stype__eq(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
6964 /* syntax/mmbuilder.nit:975 */
6965 REGB3
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6966 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6967 if (UNTAG_Bool(REGB4
)) {
6968 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 975);
6970 REGB4
= CALL_metamodel___vararg___MMSignature___vararg_rank(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6971 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB4
));
6972 if (UNTAG_Bool(REGB5
)) {
6974 /* ../lib/standard/kernel.nit:230 */
6975 REGB4
= TAG_Bool((REGB3
)==(REGB4
));
6976 /* syntax/mmbuilder.nit:975 */
6979 if (UNTAG_Bool(REGB5
)) {
6980 /* syntax/mmbuilder.nit:976 */
6981 fra
.me
.REG
[13] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[12]);
6982 fra
.me
.REG
[12] = fra
.me
.REG
[13];
6984 /* syntax/mmbuilder.nit:978 */
6985 fra
.me
.REG
[13] = CALL_syntax___syntax_base___AParam___variable(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6986 CALL_syntax___syntax_base___Variable___stype__eq(fra
.me
.REG
[13])(fra
.me
.REG
[13], fra
.me
.REG
[12]);
6987 /* syntax/mmbuilder.nit:980 */
6988 REGB5
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6989 if (UNTAG_Bool(REGB5
)) {
6990 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 980);
6992 fra
.me
.REG
[12] = CALL_metamodel___static_type___MMSignature___params(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6993 REGB5
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6994 /* ../lib/standard/collection/array.nit:280 */
6996 REGB3
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
6997 if (UNTAG_Bool(REGB3
)) {
6999 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7001 /* ../lib/standard/kernel.nit:236 */
7002 REGB4
= TAG_Bool(UNTAG_Int(REGB5
)>=UNTAG_Int(REGB4
));
7003 /* ../lib/standard/collection/array.nit:280 */
7004 if (UNTAG_Bool(REGB4
)) {
7005 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[12])!=NIT_NULL
);
7006 if (UNTAG_Bool(REGB4
)) {
7008 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7010 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[12]);
7011 REGB3
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
7012 if (UNTAG_Bool(REGB3
)) {
7014 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7016 /* ../lib/standard/kernel.nit:235 */
7017 REGB4
= TAG_Bool(UNTAG_Int(REGB5
)<UNTAG_Int(REGB4
));
7019 /* ../lib/standard/collection/array.nit:280 */
7020 REGB3
= TAG_Bool(0);
7023 if (UNTAG_Bool(REGB4
)) {
7025 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
7027 /* ../lib/standard/collection/array.nit:281 */
7028 fra
.me
.REG
[12] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[12]);
7029 REGB4
= TAG_Bool(fra
.me
.REG
[12]==NIT_NULL
);
7030 if (UNTAG_Bool(REGB4
)) {
7031 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7033 /* ../lib/standard/collection/array.nit:718 */
7034 fra
.me
.REG
[12] = ((Nit_NativeArray
)fra
.me
.REG
[12])->val
[UNTAG_Int(REGB5
)];
7035 /* ../lib/standard/collection/array.nit:281 */
7038 /* syntax/mmbuilder.nit:980 */
7039 fra
.me
.REG
[11] = CALL_syntax___syntax_base___AParam___variable(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7040 fra
.me
.REG
[11] = CALL_syntax___syntax_base___Variable___name(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7041 REGB5
= TAG_Bool(fra
.me
.REG
[12]==NIT_NULL
);
7042 if (UNTAG_Bool(REGB5
)) {
7043 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 980);
7045 CALL_metamodel___static_type___MMParam___name__eq(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
7046 /* ../lib/standard/collection/array.nit:274 */
7048 /* ../lib/standard/kernel.nit:238 */
7049 REGB5
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB5
));
7050 /* ../lib/standard/collection/array.nit:274 */
7053 /* ../lib/standard/collection/array.nit:272 */
7058 /* syntax/mmbuilder.nit:982 */
7059 fra
.me
.REG
[4] = fra
.me
.REG
[7];
7060 /* syntax/mmbuilder.nit:983 */
7061 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
7063 /* syntax/mmbuilder.nit:987 */
7064 fra
.me
.REG
[10] = CALL_syntax___syntax_base___AbsSyntaxVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7065 REGB0
= CALL_toolcontext___ToolContext___error_count(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
7066 /* syntax/mmbuilder.nit:995 */
7067 REGB5
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7068 if (UNTAG_Bool(REGB5
)) {
7069 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 995);
7071 REGB5
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7072 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7073 if (UNTAG_Bool(REGB4
)) {
7074 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 995);
7076 REGB4
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
7077 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB5
,REGB4
));
7078 if (UNTAG_Bool(REGB3
)) {
7080 /* ../lib/standard/kernel.nit:230 */
7081 REGB4
= TAG_Bool((REGB5
)==(REGB4
));
7082 /* syntax/mmbuilder.nit:995 */
7085 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7086 if (UNTAG_Bool(REGB3
)) {
7087 /* syntax/mmbuilder.nit:996 */
7088 REGB3
= TAG_Int(11);
7089 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
7090 if (!once_value_26
) {
7091 fra
.me
.REG
[8] = BOX_NativeString("Redef error: ");
7092 REGB3
= TAG_Int(13);
7093 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
7094 once_value_26
= fra
.me
.REG
[8];
7095 register_static_object(&once_value_26
);
7096 } else fra
.me
.REG
[8] = once_value_26
;
7097 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7098 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7099 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7100 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7101 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7102 if (!once_value_27
) {
7103 fra
.me
.REG
[8] = BOX_NativeString("::");
7105 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
7106 once_value_27
= fra
.me
.REG
[8];
7107 register_static_object(&once_value_27
);
7108 } else fra
.me
.REG
[8] = once_value_27
;
7109 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7110 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7111 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7112 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7113 if (!once_value_28
) {
7114 fra
.me
.REG
[8] = BOX_NativeString(" redefines ");
7115 REGB3
= TAG_Int(11);
7116 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
7117 once_value_28
= fra
.me
.REG
[8];
7118 register_static_object(&once_value_28
);
7119 } else fra
.me
.REG
[8] = once_value_28
;
7120 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7121 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7122 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7123 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7124 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7125 if (!once_value_29
) {
7126 fra
.me
.REG
[8] = BOX_NativeString("::");
7128 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
7129 once_value_29
= fra
.me
.REG
[8];
7130 register_static_object(&once_value_29
);
7131 } else fra
.me
.REG
[8] = once_value_29
;
7132 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7133 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7134 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7135 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7136 if (!once_value_30
) {
7137 fra
.me
.REG
[8] = BOX_NativeString(" with ");
7139 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
7140 once_value_30
= fra
.me
.REG
[8];
7141 register_static_object(&once_value_30
);
7142 } else fra
.me
.REG
[8] = once_value_30
;
7143 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7144 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7145 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7146 if (UNTAG_Bool(REGB3
)) {
7147 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 996);
7149 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
7150 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB3
)(REGB3
);
7151 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7152 if (!once_value_31
) {
7153 fra
.me
.REG
[8] = BOX_NativeString(" parameter(s).");
7154 REGB3
= TAG_Int(14);
7155 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
7156 once_value_31
= fra
.me
.REG
[8];
7157 register_static_object(&once_value_31
);
7158 } else fra
.me
.REG
[8] = once_value_31
;
7159 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7160 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7161 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
7162 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[10]);
7164 /* syntax/mmbuilder.nit:997 */
7165 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7166 if (UNTAG_Bool(REGB3
)) {
7167 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 997);
7169 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7171 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
7172 if (UNTAG_Bool(REGB5
)) {
7174 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7176 /* ../lib/standard/kernel.nit:237 */
7177 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>UNTAG_Int(REGB4
));
7178 /* syntax/mmbuilder.nit:997 */
7179 if (UNTAG_Bool(REGB4
)) {
7180 /* syntax/mmbuilder.nit:998 */
7181 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AMethPropdef
, ID_parser___parser_nodes___AMethPropdef
)) /*cast AMethPropdef*/;
7182 if (UNTAG_Bool(REGB4
)) {
7183 /* syntax/mmbuilder.nit:1000 */
7185 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7186 if (UNTAG_Bool(REGB3
)) {
7187 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1000);
7189 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7190 /* ../lib/standard/kernel.nit:355 */
7192 REGB5
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
7193 if (UNTAG_Bool(REGB5
)) {
7195 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7197 /* ../lib/standard/kernel.nit:235 */
7198 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB3
));
7199 /* ../lib/standard/kernel.nit:355 */
7200 if (UNTAG_Bool(REGB5
)) {
7201 /* syntax/mmbuilder.nit:1000 */
7203 /* syntax/mmbuilder.nit:1001 */
7204 REGB6
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7205 if (UNTAG_Bool(REGB6
)) {
7206 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1001);
7208 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB5
);
7209 REGB6
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7210 if (UNTAG_Bool(REGB6
)) {
7211 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1001);
7213 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB5
);
7214 REGB6
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[10],fra
.me
.REG
[8]));
7215 if (UNTAG_Bool(REGB6
)) {
7217 REGB7
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7220 REGB6
= TAG_Bool(!UNTAG_Bool(REGB6
));
7221 if (UNTAG_Bool(REGB6
)) {
7222 /* syntax/mmbuilder.nit:1002 */
7223 fra
.me
.REG
[8] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7224 REGB6
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7225 if (UNTAG_Bool(REGB6
)) {
7226 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1002);
7228 fra
.me
.REG
[8] = CALL_parser___parser_nodes___ASignature___n_params(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7229 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB5
);
7231 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB6
);
7232 if (!once_value_32
) {
7233 fra
.me
.REG
[11] = BOX_NativeString("Redef error: Expected ");
7234 REGB6
= TAG_Int(22);
7235 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB6
);
7236 once_value_32
= fra
.me
.REG
[11];
7237 register_static_object(&once_value_32
);
7238 } else fra
.me
.REG
[11] = once_value_32
;
7239 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7240 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7241 REGB6
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7242 if (UNTAG_Bool(REGB6
)) {
7243 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1002);
7245 fra
.me
.REG
[11] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB5
);
7246 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7247 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7248 if (!once_value_33
) {
7249 fra
.me
.REG
[11] = BOX_NativeString(", as in ");
7251 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB5
);
7252 once_value_33
= fra
.me
.REG
[11];
7253 register_static_object(&once_value_33
);
7254 } else fra
.me
.REG
[11] = once_value_33
;
7255 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7256 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7257 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7258 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7259 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7260 if (!once_value_34
) {
7261 fra
.me
.REG
[11] = BOX_NativeString("::");
7263 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB5
);
7264 once_value_34
= fra
.me
.REG
[11];
7265 register_static_object(&once_value_34
);
7266 } else fra
.me
.REG
[11] = once_value_34
;
7267 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7268 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7269 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7270 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7271 if (!once_value_35
) {
7272 fra
.me
.REG
[11] = BOX_NativeString(".");
7274 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB5
);
7275 once_value_35
= fra
.me
.REG
[11];
7276 register_static_object(&once_value_35
);
7277 } else fra
.me
.REG
[11] = once_value_35
;
7278 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7279 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7280 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
7281 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8], fra
.me
.REG
[10]);
7283 /* ../lib/standard/kernel.nit:357 */
7285 /* ../lib/standard/kernel.nit:238 */
7286 REGB5
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB5
));
7287 /* ../lib/standard/kernel.nit:357 */
7290 /* ../lib/standard/kernel.nit:355 */
7296 /* syntax/mmbuilder.nit:1005 */
7297 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AAttrPropdef
, ID_parser___parser_nodes___AAttrPropdef
)) /*cast AAttrPropdef*/;
7298 if (UNTAG_Bool(REGB4
)) {
7299 /* syntax/mmbuilder.nit:1007 */
7301 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7302 if (UNTAG_Bool(REGB3
)) {
7303 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1007);
7305 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB4
);
7307 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7308 if (UNTAG_Bool(REGB3
)) {
7309 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1007);
7311 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB4
);
7312 REGB4
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[10],fra
.me
.REG
[8]));
7313 if (UNTAG_Bool(REGB4
)) {
7315 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7318 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7319 if (UNTAG_Bool(REGB4
)) {
7320 /* syntax/mmbuilder.nit:1008 */
7321 fra
.me
.REG
[8] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7323 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
7324 if (!once_value_37
) {
7325 fra
.me
.REG
[11] = BOX_NativeString("Redef error: Expected ");
7326 REGB4
= TAG_Int(22);
7327 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
7328 once_value_37
= fra
.me
.REG
[11];
7329 register_static_object(&once_value_37
);
7330 } else fra
.me
.REG
[11] = once_value_37
;
7331 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7332 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7334 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7335 if (UNTAG_Bool(REGB3
)) {
7336 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1008);
7338 fra
.me
.REG
[11] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB4
);
7339 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7340 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7341 if (!once_value_38
) {
7342 fra
.me
.REG
[11] = BOX_NativeString(", as in the parameter of ");
7343 REGB4
= TAG_Int(25);
7344 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
7345 once_value_38
= fra
.me
.REG
[11];
7346 register_static_object(&once_value_38
);
7347 } else fra
.me
.REG
[11] = once_value_38
;
7348 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7349 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7350 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7351 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7352 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7353 if (!once_value_39
) {
7354 fra
.me
.REG
[11] = BOX_NativeString("::");
7356 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
7357 once_value_39
= fra
.me
.REG
[11];
7358 register_static_object(&once_value_39
);
7359 } else fra
.me
.REG
[11] = once_value_39
;
7360 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7361 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7362 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7363 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7364 if (!once_value_40
) {
7365 fra
.me
.REG
[11] = BOX_NativeString(".");
7367 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
7368 once_value_40
= fra
.me
.REG
[11];
7369 register_static_object(&once_value_40
);
7370 } else fra
.me
.REG
[11] = once_value_40
;
7371 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7372 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7373 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
7374 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8], fra
.me
.REG
[10]);
7377 /* syntax/mmbuilder.nit:1012 */
7378 nit_abort("Aborted", NULL
, LOCATE_syntax___mmbuilder
, 1012);
7383 /* syntax/mmbuilder.nit:1016 */
7384 REGB4
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7385 if (UNTAG_Bool(REGB4
)) {
7386 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1016);
7388 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7389 /* syntax/mmbuilder.nit:1017 */
7390 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7391 if (UNTAG_Bool(REGB4
)) {
7392 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1017);
7394 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
7395 /* syntax/mmbuilder.nit:1018 */
7396 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7397 if (UNTAG_Bool(REGB4
)) {
7399 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7400 if (UNTAG_Bool(REGB3
)) {
7401 REGB3
= TAG_Bool(0);
7404 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
7408 if (UNTAG_Bool(REGB4
)) {
7409 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7410 if (UNTAG_Bool(REGB4
)) {
7412 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7413 if (UNTAG_Bool(REGB3
)) {
7414 REGB3
= TAG_Bool(0);
7417 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
7421 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7423 REGB3
= TAG_Bool(0);
7426 if (UNTAG_Bool(REGB4
)) {
7427 /* syntax/mmbuilder.nit:1019 */
7429 fra
.me
.REG
[11] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
7430 if (!once_value_41
) {
7431 fra
.me
.REG
[12] = BOX_NativeString("Redef error: The procedure ");
7432 REGB4
= TAG_Int(27);
7433 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7434 once_value_41
= fra
.me
.REG
[12];
7435 register_static_object(&once_value_41
);
7436 } else fra
.me
.REG
[12] = once_value_41
;
7437 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7438 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7439 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7440 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7441 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7442 if (!once_value_42
) {
7443 fra
.me
.REG
[12] = BOX_NativeString("::");
7445 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7446 once_value_42
= fra
.me
.REG
[12];
7447 register_static_object(&once_value_42
);
7448 } else fra
.me
.REG
[12] = once_value_42
;
7449 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7450 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7451 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7452 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7453 if (!once_value_43
) {
7454 fra
.me
.REG
[12] = BOX_NativeString(" redefines the function ");
7455 REGB4
= TAG_Int(24);
7456 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7457 once_value_43
= fra
.me
.REG
[12];
7458 register_static_object(&once_value_43
);
7459 } else fra
.me
.REG
[12] = once_value_43
;
7460 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7461 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7462 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7463 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7464 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7465 if (!once_value_44
) {
7466 fra
.me
.REG
[12] = BOX_NativeString("::");
7468 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7469 once_value_44
= fra
.me
.REG
[12];
7470 register_static_object(&once_value_44
);
7471 } else fra
.me
.REG
[12] = once_value_44
;
7472 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7473 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7474 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7475 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7476 if (!once_value_45
) {
7477 fra
.me
.REG
[12] = BOX_NativeString(".");
7479 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7480 once_value_45
= fra
.me
.REG
[12];
7481 register_static_object(&once_value_45
);
7482 } else fra
.me
.REG
[12] = once_value_45
;
7483 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7484 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7485 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7486 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[11]);
7488 /* syntax/mmbuilder.nit:1020 */
7489 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7490 if (UNTAG_Bool(REGB4
)) {
7492 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7493 if (UNTAG_Bool(REGB3
)) {
7494 REGB3
= TAG_Bool(0);
7497 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
7501 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7502 if (UNTAG_Bool(REGB4
)) {
7503 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7504 if (UNTAG_Bool(REGB4
)) {
7506 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7507 if (UNTAG_Bool(REGB3
)) {
7508 REGB3
= TAG_Bool(0);
7511 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
7516 REGB3
= TAG_Bool(0);
7519 if (UNTAG_Bool(REGB4
)) {
7520 /* syntax/mmbuilder.nit:1021 */
7522 fra
.me
.REG
[11] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
7523 if (!once_value_46
) {
7524 fra
.me
.REG
[12] = BOX_NativeString("Redef error: The function ");
7525 REGB4
= TAG_Int(26);
7526 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7527 once_value_46
= fra
.me
.REG
[12];
7528 register_static_object(&once_value_46
);
7529 } else fra
.me
.REG
[12] = once_value_46
;
7530 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7531 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7532 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7533 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7534 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7535 if (!once_value_47
) {
7536 fra
.me
.REG
[12] = BOX_NativeString("::");
7538 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7539 once_value_47
= fra
.me
.REG
[12];
7540 register_static_object(&once_value_47
);
7541 } else fra
.me
.REG
[12] = once_value_47
;
7542 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7543 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7544 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7545 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7546 if (!once_value_48
) {
7547 fra
.me
.REG
[12] = BOX_NativeString(" redefines the procedure ");
7548 REGB4
= TAG_Int(25);
7549 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7550 once_value_48
= fra
.me
.REG
[12];
7551 register_static_object(&once_value_48
);
7552 } else fra
.me
.REG
[12] = once_value_48
;
7553 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7554 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7555 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7556 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7557 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7558 if (!once_value_49
) {
7559 fra
.me
.REG
[12] = BOX_NativeString("::");
7561 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7562 once_value_49
= fra
.me
.REG
[12];
7563 register_static_object(&once_value_49
);
7564 } else fra
.me
.REG
[12] = once_value_49
;
7565 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7566 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7567 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7568 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7569 if (!once_value_50
) {
7570 fra
.me
.REG
[12] = BOX_NativeString(".");
7572 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7573 once_value_50
= fra
.me
.REG
[12];
7574 register_static_object(&once_value_50
);
7575 } else fra
.me
.REG
[12] = once_value_50
;
7576 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7577 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7578 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7579 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[11]);
7581 /* syntax/mmbuilder.nit:1022 */
7582 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7583 if (UNTAG_Bool(REGB4
)) {
7585 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7586 if (UNTAG_Bool(REGB3
)) {
7587 REGB3
= TAG_Bool(0);
7590 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
7594 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7595 if (UNTAG_Bool(REGB4
)) {
7596 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7597 if (UNTAG_Bool(REGB4
)) {
7599 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7600 if (UNTAG_Bool(REGB3
)) {
7601 REGB3
= TAG_Bool(0);
7604 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
7608 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7610 REGB3
= TAG_Bool(0);
7613 if (UNTAG_Bool(REGB4
)) {
7614 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7615 if (UNTAG_Bool(REGB4
)) {
7616 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1022);
7618 REGB4
= CALL_metamodel___static_type___MMType_____l(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7619 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7621 REGB3
= TAG_Bool(0);
7624 if (UNTAG_Bool(REGB4
)) {
7625 /* syntax/mmbuilder.nit:1023 */
7626 fra
.me
.REG
[11] = NIT_NULL
;
7627 /* syntax/mmbuilder.nit:1024 */
7628 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AMethPropdef
, ID_parser___parser_nodes___AMethPropdef
)) /*cast AMethPropdef*/;
7629 if (UNTAG_Bool(REGB4
)) {
7630 /* syntax/mmbuilder.nit:1025 */
7631 fra
.me
.REG
[12] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7632 REGB4
= TAG_Bool(fra
.me
.REG
[12]==NIT_NULL
);
7633 if (UNTAG_Bool(REGB4
)) {
7634 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1025);
7636 fra
.me
.REG
[12] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7637 fra
.me
.REG
[11] = fra
.me
.REG
[12];
7639 /* syntax/mmbuilder.nit:1026 */
7640 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AAttrPropdef
, ID_parser___parser_nodes___AAttrPropdef
)) /*cast AAttrPropdef*/;
7641 if (UNTAG_Bool(REGB4
)) {
7642 /* syntax/mmbuilder.nit:1027 */
7643 fra
.me
.REG
[12] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7644 fra
.me
.REG
[11] = fra
.me
.REG
[12];
7646 /* syntax/mmbuilder.nit:1028 */
7647 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___ATypePropdef
, ID_parser___parser_nodes___ATypePropdef
)) /*cast ATypePropdef*/;
7648 if (UNTAG_Bool(REGB4
)) {
7649 /* syntax/mmbuilder.nit:1029 */
7650 fra
.me
.REG
[12] = CALL_parser___parser_nodes___ATypePropdef___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7651 fra
.me
.REG
[11] = fra
.me
.REG
[12];
7655 /* syntax/mmbuilder.nit:1031 */
7657 fra
.me
.REG
[12] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
7658 if (!once_value_51
) {
7659 fra
.me
.REG
[13] = BOX_NativeString("Redef error: Expected ");
7660 REGB4
= TAG_Int(22);
7661 fra
.me
.REG
[13] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[13], REGB4
);
7662 once_value_51
= fra
.me
.REG
[13];
7663 register_static_object(&once_value_51
);
7664 } else fra
.me
.REG
[13] = once_value_51
;
7665 fra
.me
.REG
[13] = fra
.me
.REG
[13];
7666 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7667 fra
.me
.REG
[13] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7668 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7669 if (!once_value_52
) {
7670 fra
.me
.REG
[13] = BOX_NativeString(", as in ");
7672 fra
.me
.REG
[13] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[13], REGB4
);
7673 once_value_52
= fra
.me
.REG
[13];
7674 register_static_object(&once_value_52
);
7675 } else fra
.me
.REG
[13] = once_value_52
;
7676 fra
.me
.REG
[13] = fra
.me
.REG
[13];
7677 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7678 fra
.me
.REG
[13] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7679 fra
.me
.REG
[13] = CALL_standard___string___Object___to_s(fra
.me
.REG
[13])(fra
.me
.REG
[13]);
7680 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7681 if (!once_value_53
) {
7682 fra
.me
.REG
[13] = BOX_NativeString("::");
7684 fra
.me
.REG
[13] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[13], REGB4
);
7685 once_value_53
= fra
.me
.REG
[13];
7686 register_static_object(&once_value_53
);
7687 } else fra
.me
.REG
[13] = once_value_53
;
7688 fra
.me
.REG
[13] = fra
.me
.REG
[13];
7689 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7690 fra
.me
.REG
[13] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7691 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7692 if (!once_value_54
) {
7693 fra
.me
.REG
[13] = BOX_NativeString(".");
7695 fra
.me
.REG
[13] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[13], REGB4
);
7696 once_value_54
= fra
.me
.REG
[13];
7697 register_static_object(&once_value_54
);
7698 } else fra
.me
.REG
[13] = once_value_54
;
7699 fra
.me
.REG
[13] = fra
.me
.REG
[13];
7700 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7701 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7702 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[11], fra
.me
.REG
[12]);
7704 /* syntax/mmbuilder.nit:1032 */
7705 REGB4
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7706 if (UNTAG_Bool(REGB4
)) {
7707 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1032);
7709 REGB4
= CALL_metamodel___static_type___MMSignature_____l(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
7710 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7711 if (UNTAG_Bool(REGB4
)) {
7712 fra
.me
.REG
[7] = CALL_syntax___syntax_base___AbsSyntaxVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7713 REGB4
= CALL_toolcontext___ToolContext___error_count(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
7714 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB4
));
7715 if (UNTAG_Bool(REGB3
)) {
7717 /* ../lib/standard/kernel.nit:230 */
7718 REGB4
= TAG_Bool((REGB0
)==(REGB4
));
7719 /* syntax/mmbuilder.nit:1032 */
7723 REGB4
= TAG_Bool(0);
7726 if (UNTAG_Bool(REGB3
)) {
7727 /* syntax/mmbuilder.nit:1034 */
7729 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
7730 if (!once_value_55
) {
7731 fra
.me
.REG
[12] = BOX_NativeString("Redef error: Incompatible redefinition of ");
7732 REGB3
= TAG_Int(42);
7733 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB3
);
7734 once_value_55
= fra
.me
.REG
[12];
7735 register_static_object(&once_value_55
);
7736 } else fra
.me
.REG
[12] = once_value_55
;
7737 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7738 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7739 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7740 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7741 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7742 if (!once_value_56
) {
7743 fra
.me
.REG
[12] = BOX_NativeString("::");
7745 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB3
);
7746 once_value_56
= fra
.me
.REG
[12];
7747 register_static_object(&once_value_56
);
7748 } else fra
.me
.REG
[12] = once_value_56
;
7749 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7750 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7751 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7752 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7753 if (!once_value_57
) {
7754 fra
.me
.REG
[12] = BOX_NativeString(" with ");
7756 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB3
);
7757 once_value_57
= fra
.me
.REG
[12];
7758 register_static_object(&once_value_57
);
7759 } else fra
.me
.REG
[12] = once_value_57
;
7760 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7761 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7762 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7763 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7764 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7765 if (!once_value_58
) {
7766 fra
.me
.REG
[12] = BOX_NativeString("::");
7768 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB3
);
7769 once_value_58
= fra
.me
.REG
[12];
7770 register_static_object(&once_value_58
);
7771 } else fra
.me
.REG
[12] = once_value_58
;
7772 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7773 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7774 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7775 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7776 if (!once_value_59
) {
7777 fra
.me
.REG
[12] = BOX_NativeString("");
7779 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB3
);
7780 once_value_59
= fra
.me
.REG
[12];
7781 register_static_object(&once_value_59
);
7782 } else fra
.me
.REG
[12] = once_value_59
;
7783 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7784 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7785 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
7786 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[7]);
7788 /* syntax/mmbuilder.nit:1035 */
7789 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7790 if (UNTAG_Bool(REGB3
)) {
7792 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7793 if (UNTAG_Bool(REGB4
)) {
7794 REGB4
= TAG_Bool(0);
7797 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
7801 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7802 if (UNTAG_Bool(REGB3
)) {
7803 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7804 if (UNTAG_Bool(REGB3
)) {
7806 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7807 if (UNTAG_Bool(REGB4
)) {
7808 REGB4
= TAG_Bool(0);
7811 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
7815 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7817 REGB4
= TAG_Bool(0);
7820 if (UNTAG_Bool(REGB3
)) {
7821 REGB3
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[10],fra
.me
.REG
[8]));
7822 if (UNTAG_Bool(REGB3
)) {
7824 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7825 if (UNTAG_Bool(REGB4
)) {
7826 REGB4
= TAG_Bool(0);
7829 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7833 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7835 REGB4
= TAG_Bool(0);
7838 if (UNTAG_Bool(REGB3
)) {
7839 REGB3
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_metamodel___abstractmetamodel___MMAttribute
, ID_metamodel___abstractmetamodel___MMAttribute
)) /*cast MMAttribute*/;
7841 REGB4
= TAG_Bool(0);
7844 if (UNTAG_Bool(REGB3
)) {
7845 /* syntax/mmbuilder.nit:1036 */
7847 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
7848 if (!once_value_60
) {
7849 fra
.me
.REG
[7] = BOX_NativeString("Redef error: Expected ");
7850 REGB3
= TAG_Int(22);
7851 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB3
);
7852 once_value_60
= fra
.me
.REG
[7];
7853 register_static_object(&once_value_60
);
7854 } else fra
.me
.REG
[7] = once_value_60
;
7855 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7856 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
7857 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7858 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7859 if (!once_value_61
) {
7860 fra
.me
.REG
[8] = BOX_NativeString(", as in ");
7862 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
7863 once_value_61
= fra
.me
.REG
[8];
7864 register_static_object(&once_value_61
);
7865 } else fra
.me
.REG
[8] = once_value_61
;
7866 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7867 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7868 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7869 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7870 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7871 if (!once_value_62
) {
7872 fra
.me
.REG
[8] = BOX_NativeString("::");
7874 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
7875 once_value_62
= fra
.me
.REG
[8];
7876 register_static_object(&once_value_62
);
7877 } else fra
.me
.REG
[8] = once_value_62
;
7878 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7879 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7880 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7881 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[9]);
7882 if (!once_value_63
) {
7883 fra
.me
.REG
[9] = BOX_NativeString(".");
7885 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB3
);
7886 once_value_63
= fra
.me
.REG
[9];
7887 register_static_object(&once_value_63
);
7888 } else fra
.me
.REG
[9] = once_value_63
;
7889 fra
.me
.REG
[9] = fra
.me
.REG
[9];
7890 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[9]);
7891 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
7892 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[10]);
7898 /* ../lib/standard/collection/array.nit:274 */
7900 /* ../lib/standard/kernel.nit:238 */
7901 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
7902 /* ../lib/standard/collection/array.nit:274 */
7905 /* ../lib/standard/collection/array.nit:272 */
7911 /* syntax/mmbuilder.nit:1040 */
7913 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
7914 if (UNTAG_Bool(REGB3
)) {
7916 /* ../lib/standard/kernel.nit:230 */
7917 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
7918 /* syntax/mmbuilder.nit:1040 */
7921 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7922 if (UNTAG_Bool(REGB3
)) {
7923 REGB3
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7924 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB1
));
7925 if (UNTAG_Bool(REGB2
)) {
7927 /* ../lib/standard/kernel.nit:230 */
7928 REGB1
= TAG_Bool((REGB3
)==(REGB1
));
7929 /* syntax/mmbuilder.nit:1040 */
7932 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
7934 REGB1
= TAG_Bool(0);
7937 if (UNTAG_Bool(REGB2
)) {
7938 /* syntax/mmbuilder.nit:1041 */
7940 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
7941 if (!once_value_65
) {
7942 fra
.me
.REG
[6] = BOX_NativeString("Redef error: ");
7943 REGB2
= TAG_Int(13);
7944 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
7945 once_value_65
= fra
.me
.REG
[6];
7946 register_static_object(&once_value_65
);
7947 } else fra
.me
.REG
[6] = once_value_65
;
7948 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7949 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
7950 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7951 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7952 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
7953 if (!once_value_66
) {
7954 fra
.me
.REG
[6] = BOX_NativeString("::");
7956 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
7957 once_value_66
= fra
.me
.REG
[6];
7958 register_static_object(&once_value_66
);
7959 } else fra
.me
.REG
[6] = once_value_66
;
7960 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7961 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
7962 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7963 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
7964 if (!once_value_67
) {
7965 fra
.me
.REG
[2] = BOX_NativeString(" redefinition cannot change visibility.");
7966 REGB2
= TAG_Int(39);
7967 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB2
);
7968 once_value_67
= fra
.me
.REG
[2];
7969 register_static_object(&once_value_67
);
7970 } else fra
.me
.REG
[2] = once_value_67
;
7971 fra
.me
.REG
[2] = fra
.me
.REG
[2];
7972 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
7973 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7974 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
7976 /* syntax/mmbuilder.nit:1043 */
7977 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7978 REGB2
= TAG_Bool(1);
7979 CALL_syntax___syntax_base___MMGlobalProperty___check_visibility(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4], REGB2
);
7981 stack_frame_head
= fra
.me
.prev
;
7984 static const char LOCATE_syntax___mmbuilder___AAttrPropdef___readmethod
[] = "mmbuilder::AAttrPropdef::(syntax_base::AAttrPropdef::readmethod)";
7985 val_t
syntax___mmbuilder___AAttrPropdef___readmethod(val_t p0
){
7986 struct {struct stack_frame_t me
;} fra
;
7988 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7989 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
7991 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___readmethod
;
7992 fra
.me
.has_broke
= 0;
7993 fra
.me
.REG_size
= 1;
7994 fra
.me
.nitni_local_ref_head
= NULL
;
7995 fra
.me
.REG
[0] = NIT_NULL
;
7997 /* syntax/mmbuilder.nit:1048 */
7998 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[0]);
7999 stack_frame_head
= fra
.me
.prev
;
8000 return fra
.me
.REG
[0];
8002 static const char LOCATE_syntax___mmbuilder___AAttrPropdef___writemethod
[] = "mmbuilder::AAttrPropdef::(syntax_base::AAttrPropdef::writemethod)";
8003 val_t
syntax___mmbuilder___AAttrPropdef___writemethod(val_t p0
){
8004 struct {struct stack_frame_t me
;} fra
;
8006 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8007 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8009 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___writemethod
;
8010 fra
.me
.has_broke
= 0;
8011 fra
.me
.REG_size
= 1;
8012 fra
.me
.nitni_local_ref_head
= NULL
;
8013 fra
.me
.REG
[0] = NIT_NULL
;
8015 /* syntax/mmbuilder.nit:1049 */
8016 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[0]);
8017 stack_frame_head
= fra
.me
.prev
;
8018 return fra
.me
.REG
[0];
8020 static const char LOCATE_syntax___mmbuilder___AAttrPropdef___prop
[] = "mmbuilder::AAttrPropdef::(syntax_base::AAttrPropdef::prop)";
8021 val_t
syntax___mmbuilder___AAttrPropdef___prop(val_t p0
){
8022 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
8025 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8026 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8028 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___prop
;
8029 fra
.me
.has_broke
= 0;
8030 fra
.me
.REG_size
= 2;
8031 fra
.me
.nitni_local_ref_head
= NULL
;
8032 fra
.me
.REG
[0] = NIT_NULL
;
8033 fra
.me
.REG
[1] = NIT_NULL
;
8035 /* syntax/mmbuilder.nit:1051 */
8036 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8037 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[1]);
8038 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
8039 if (UNTAG_Bool(REGB0
)) {
8041 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1051);
8045 stack_frame_head
= fra
.me
.prev
;
8046 return fra
.me
.REG
[1];
8048 static const char LOCATE_syntax___mmbuilder___AAttrPropdef___accept_property_builder
[] = "mmbuilder::AAttrPropdef::(mmbuilder::ANode::accept_property_builder)";
8049 void syntax___mmbuilder___AAttrPropdef___accept_property_builder(val_t p0
, val_t p1
){
8050 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
8055 static val_t once_value_1
; /* Once value */
8056 static val_t once_value_2
; /* Once value */
8057 static val_t once_value_3
; /* Once value */
8058 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8059 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8061 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___accept_property_builder
;
8062 fra
.me
.has_broke
= 0;
8063 fra
.me
.REG_size
= 6;
8064 fra
.me
.nitni_local_ref_head
= NULL
;
8065 fra
.me
.REG
[0] = NIT_NULL
;
8066 fra
.me
.REG
[1] = NIT_NULL
;
8067 fra
.me
.REG
[2] = NIT_NULL
;
8068 fra
.me
.REG
[3] = NIT_NULL
;
8069 fra
.me
.REG
[4] = NIT_NULL
;
8070 fra
.me
.REG
[5] = NIT_NULL
;
8073 /* syntax/mmbuilder.nit:1053 */
8074 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8075 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8076 /* syntax/mmbuilder.nit:1055 */
8077 CALL_SUPER_syntax___mmbuilder___AAttrPropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8078 /* syntax/mmbuilder.nit:1057 */
8079 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8080 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8081 if (UNTAG_Bool(REGB0
)) {
8083 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8084 if (UNTAG_Bool(REGB1
)) {
8085 REGB1
= TAG_Bool(0);
8088 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8092 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8093 if (UNTAG_Bool(REGB0
)) {
8094 /* syntax/mmbuilder.nit:1058 */
8095 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8096 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8097 if (UNTAG_Bool(REGB0
)) {
8098 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1058);
8100 fra
.me
.REG
[1] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8102 /* syntax/mmbuilder.nit:1060 */
8103 if (!once_value_1
) {
8104 fra
.me
.REG
[0] = BOX_NativeString("@");
8106 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
8107 once_value_1
= fra
.me
.REG
[0];
8108 register_static_object(&once_value_1
);
8109 } else fra
.me
.REG
[0] = once_value_1
;
8110 fra
.me
.REG
[0] = fra
.me
.REG
[0];
8111 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8112 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8113 if (UNTAG_Bool(REGB0
)) {
8114 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1060);
8116 fra
.me
.REG
[4] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8117 fra
.me
.REG
[4] = CALL_standard___string___String_____plus(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
8118 fra
.me
.REG
[4] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8119 fra
.me
.REG
[1] = fra
.me
.REG
[4];
8121 /* syntax/mmbuilder.nit:1062 */
8122 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8123 /* syntax/mmbuilder.nit:1063 */
8124 fra
.me
.REG
[0] = NEW_MMSrcAttribute_syntax___syntax_base___MMSrcAttribute___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
8125 /* syntax/mmbuilder.nit:1064 */
8126 ATTR_syntax___mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
8127 /* syntax/mmbuilder.nit:1065 */
8128 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8129 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[0]);
8130 /* syntax/mmbuilder.nit:1067 */
8131 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8132 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8133 if (UNTAG_Bool(REGB0
)) {
8135 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8136 if (UNTAG_Bool(REGB1
)) {
8137 REGB1
= TAG_Bool(0);
8140 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8144 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8145 if (UNTAG_Bool(REGB0
)) {
8146 REGB0
= TAG_Bool(1);
8148 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8149 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8150 if (UNTAG_Bool(REGB1
)) {
8152 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8153 if (UNTAG_Bool(REGB2
)) {
8154 REGB2
= TAG_Bool(0);
8157 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8163 if (UNTAG_Bool(REGB0
)) {
8164 /* syntax/mmbuilder.nit:1068 */
8165 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8166 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8167 if (UNTAG_Bool(REGB0
)) {
8169 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8170 if (UNTAG_Bool(REGB1
)) {
8171 REGB1
= TAG_Bool(0);
8174 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8178 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8179 if (UNTAG_Bool(REGB0
)) {
8180 /* syntax/mmbuilder.nit:1069 */
8181 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8182 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8183 if (UNTAG_Bool(REGB0
)) {
8184 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1069);
8186 fra
.me
.REG
[0] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8188 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
8189 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8190 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8192 /* syntax/mmbuilder.nit:1071 */
8193 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8194 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8195 if (UNTAG_Bool(REGB0
)) {
8196 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1071);
8198 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8199 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8201 /* syntax/mmbuilder.nit:1073 */
8202 fra
.me
.REG
[0] = NEW_MMReadImplementationMethod_syntax___syntax_base___MMReadImplementationMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
8203 /* syntax/mmbuilder.nit:1074 */
8204 ATTR_syntax___mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
8205 /* syntax/mmbuilder.nit:1075 */
8206 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8207 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[0]);
8209 /* syntax/mmbuilder.nit:1077 */
8210 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8211 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8212 if (UNTAG_Bool(REGB0
)) {
8214 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8215 if (UNTAG_Bool(REGB1
)) {
8216 REGB1
= TAG_Bool(0);
8219 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8223 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8224 if (UNTAG_Bool(REGB0
)) {
8225 REGB0
= TAG_Bool(1);
8227 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8228 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8229 if (UNTAG_Bool(REGB1
)) {
8231 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8232 if (UNTAG_Bool(REGB2
)) {
8233 REGB2
= TAG_Bool(0);
8236 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8242 if (UNTAG_Bool(REGB0
)) {
8243 /* syntax/mmbuilder.nit:1078 */
8244 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8245 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8246 if (UNTAG_Bool(REGB0
)) {
8248 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8249 if (UNTAG_Bool(REGB1
)) {
8250 REGB1
= TAG_Bool(0);
8253 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8257 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8258 if (UNTAG_Bool(REGB0
)) {
8259 /* syntax/mmbuilder.nit:1079 */
8260 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8261 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8262 if (UNTAG_Bool(REGB0
)) {
8263 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1079);
8265 fra
.me
.REG
[0] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8267 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
8268 if (!once_value_2
) {
8269 fra
.me
.REG
[5] = BOX_NativeString("=");
8271 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
8272 once_value_2
= fra
.me
.REG
[5];
8273 register_static_object(&once_value_2
);
8274 } else fra
.me
.REG
[5] = once_value_2
;
8275 fra
.me
.REG
[5] = fra
.me
.REG
[5];
8276 fra
.me
.REG
[5] = CALL_standard___string___String_____plus(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
8277 fra
.me
.REG
[5] = CALL_symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8278 fra
.me
.REG
[1] = fra
.me
.REG
[5];
8280 /* syntax/mmbuilder.nit:1081 */
8281 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8282 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8283 if (UNTAG_Bool(REGB0
)) {
8284 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1081);
8286 fra
.me
.REG
[5] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8287 if (!once_value_3
) {
8288 fra
.me
.REG
[0] = BOX_NativeString("=");
8290 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
8291 once_value_3
= fra
.me
.REG
[0];
8292 register_static_object(&once_value_3
);
8293 } else fra
.me
.REG
[0] = once_value_3
;
8294 fra
.me
.REG
[0] = fra
.me
.REG
[0];
8295 fra
.me
.REG
[0] = CALL_standard___string___String_____plus(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
8296 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8297 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8299 /* syntax/mmbuilder.nit:1083 */
8300 fra
.me
.REG
[4] = NEW_MMWriteImplementationMethod_syntax___syntax_base___MMWriteImplementationMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
8301 /* syntax/mmbuilder.nit:1084 */
8302 ATTR_syntax___mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[2]) = fra
.me
.REG
[4];
8303 /* syntax/mmbuilder.nit:1085 */
8304 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8305 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4]);
8307 stack_frame_head
= fra
.me
.prev
;
8310 static const char LOCATE_syntax___mmbuilder___AAttrPropdef___accept_property_verifier
[] = "mmbuilder::AAttrPropdef::(mmbuilder::ANode::accept_property_verifier)";
8311 void syntax___mmbuilder___AAttrPropdef___accept_property_verifier(val_t p0
, val_t p1
){
8312 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
8318 static val_t once_value_2
; /* Once value */
8319 static val_t once_value_3
; /* Once value */
8320 static val_t once_value_4
; /* Once value */
8321 static val_t once_value_5
; /* Once value */
8322 static val_t once_value_6
; /* Once value */
8323 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8324 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8326 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___accept_property_verifier
;
8327 fra
.me
.has_broke
= 0;
8328 fra
.me
.REG_size
= 7;
8329 fra
.me
.nitni_local_ref_head
= NULL
;
8330 fra
.me
.REG
[0] = NIT_NULL
;
8331 fra
.me
.REG
[1] = NIT_NULL
;
8332 fra
.me
.REG
[2] = NIT_NULL
;
8333 fra
.me
.REG
[3] = NIT_NULL
;
8334 fra
.me
.REG
[4] = NIT_NULL
;
8335 fra
.me
.REG
[5] = NIT_NULL
;
8336 fra
.me
.REG
[6] = NIT_NULL
;
8339 /* syntax/mmbuilder.nit:1089 */
8340 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8341 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8342 /* syntax/mmbuilder.nit:1091 */
8343 CALL_SUPER_syntax___mmbuilder___AAttrPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8344 /* syntax/mmbuilder.nit:1092 */
8345 fra
.me
.REG
[1] = NIT_NULL
;
8346 /* syntax/mmbuilder.nit:1093 */
8347 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8348 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8349 if (UNTAG_Bool(REGB0
)) {
8351 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8352 if (UNTAG_Bool(REGB1
)) {
8353 REGB1
= TAG_Bool(0);
8356 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8360 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8361 if (UNTAG_Bool(REGB0
)) {
8362 /* syntax/mmbuilder.nit:1094 */
8363 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8364 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8365 if (UNTAG_Bool(REGB0
)) {
8366 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1094);
8368 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
8369 /* syntax/mmbuilder.nit:1095 */
8370 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8371 if (UNTAG_Bool(REGB0
)) {
8373 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8374 if (UNTAG_Bool(REGB1
)) {
8375 REGB1
= TAG_Bool(0);
8378 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8382 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8383 if (UNTAG_Bool(REGB0
)) {
8384 fra
.me
.REG
[1] = fra
.me
.REG
[4];
8389 /* syntax/mmbuilder.nit:1096 */
8390 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_expr(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8391 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8392 if (UNTAG_Bool(REGB0
)) {
8394 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8395 if (UNTAG_Bool(REGB1
)) {
8396 REGB1
= TAG_Bool(0);
8399 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8403 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8404 if (UNTAG_Bool(REGB0
)) {
8405 /* syntax/mmbuilder.nit:1097 */
8406 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_expr(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8407 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8408 if (UNTAG_Bool(REGB0
)) {
8409 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1097);
8411 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___AExpr___get_easy_stype(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
8412 fra
.me
.REG
[1] = fra
.me
.REG
[4];
8415 /* syntax/mmbuilder.nit:1100 */
8416 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8417 if (UNTAG_Bool(REGB0
)) {
8419 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8420 if (UNTAG_Bool(REGB1
)) {
8421 REGB1
= TAG_Bool(0);
8424 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8428 if (UNTAG_Bool(REGB0
)) {
8429 /* syntax/mmbuilder.nit:1101 */
8431 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
8432 if (!once_value_2
) {
8433 fra
.me
.REG
[5] = BOX_NativeString("Not yet implemented: Attribute definition ");
8434 REGB0
= TAG_Int(42);
8435 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
8436 once_value_2
= fra
.me
.REG
[5];
8437 register_static_object(&once_value_2
);
8438 } else fra
.me
.REG
[5] = once_value_2
;
8439 fra
.me
.REG
[5] = fra
.me
.REG
[5];
8440 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
8441 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8442 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8443 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8444 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
8445 if (!once_value_3
) {
8446 fra
.me
.REG
[5] = BOX_NativeString("::");
8448 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
8449 once_value_3
= fra
.me
.REG
[5];
8450 register_static_object(&once_value_3
);
8451 } else fra
.me
.REG
[5] = once_value_3
;
8452 fra
.me
.REG
[5] = fra
.me
.REG
[5];
8453 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
8454 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8455 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8456 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
8457 if (!once_value_4
) {
8458 fra
.me
.REG
[5] = BOX_NativeString(" requires an explicit type.");
8459 REGB0
= TAG_Int(27);
8460 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
8461 once_value_4
= fra
.me
.REG
[5];
8462 register_static_object(&once_value_4
);
8463 } else fra
.me
.REG
[5] = once_value_4
;
8464 fra
.me
.REG
[5] = fra
.me
.REG
[5];
8465 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
8466 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8467 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[4]);
8468 /* syntax/mmbuilder.nit:1102 */
8471 /* syntax/mmbuilder.nit:1105 */
8472 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8473 /* syntax/mmbuilder.nit:1106 */
8474 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___init();
8475 fra
.me
.REG
[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8476 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8477 fra
.me
.REG
[6] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[5], fra
.me
.REG
[1], fra
.me
.REG
[6]);
8478 /* syntax/mmbuilder.nit:1107 */
8479 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
8480 /* syntax/mmbuilder.nit:1108 */
8481 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8482 REGB0
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8483 /* syntax/mmbuilder.nit:1109 */
8484 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8485 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8486 if (UNTAG_Bool(REGB1
)) {
8488 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8489 if (UNTAG_Bool(REGB2
)) {
8490 REGB2
= TAG_Bool(0);
8493 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
8497 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8498 if (UNTAG_Bool(REGB1
)) {
8499 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8500 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8501 if (UNTAG_Bool(REGB1
)) {
8503 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8504 if (UNTAG_Bool(REGB2
)) {
8505 REGB2
= TAG_Bool(0);
8508 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
8512 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8514 REGB2
= TAG_Bool(0);
8517 CALL_syntax___mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4], REGB1
, REGB0
);
8518 /* syntax/mmbuilder.nit:1110 */
8519 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8520 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8521 if (UNTAG_Bool(REGB1
)) {
8523 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8524 if (UNTAG_Bool(REGB2
)) {
8525 REGB2
= TAG_Bool(0);
8528 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8532 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8533 if (UNTAG_Bool(REGB1
)) {
8534 REGB1
= TAG_Bool(1);
8536 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8537 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8538 if (UNTAG_Bool(REGB2
)) {
8540 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8541 if (UNTAG_Bool(REGB3
)) {
8542 REGB3
= TAG_Bool(0);
8545 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8551 if (UNTAG_Bool(REGB1
)) {
8552 /* syntax/mmbuilder.nit:1111 */
8553 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[2]);
8554 REGB1
= TAG_Bool(fra
.me
.REG
[4]!=NIT_NULL
);
8555 if (UNTAG_Bool(REGB1
)) {
8557 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1111);
8559 /* syntax/mmbuilder.nit:1112 */
8560 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
8561 /* syntax/mmbuilder.nit:1113 */
8562 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8563 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8564 if (UNTAG_Bool(REGB1
)) {
8566 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8567 if (UNTAG_Bool(REGB2
)) {
8568 REGB2
= TAG_Bool(0);
8571 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8575 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8576 if (UNTAG_Bool(REGB1
)) {
8577 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8578 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8579 if (UNTAG_Bool(REGB1
)) {
8580 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1113);
8582 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAble___n_kwredef(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8583 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8584 if (UNTAG_Bool(REGB1
)) {
8586 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8587 if (UNTAG_Bool(REGB2
)) {
8588 REGB2
= TAG_Bool(0);
8591 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8595 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8597 REGB2
= TAG_Bool(0);
8600 if (UNTAG_Bool(REGB1
)) {
8601 REGB1
= TAG_Bool(1);
8603 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8604 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8605 if (UNTAG_Bool(REGB2
)) {
8607 REGB3
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8608 if (UNTAG_Bool(REGB3
)) {
8609 REGB3
= TAG_Bool(0);
8612 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8616 if (UNTAG_Bool(REGB2
)) {
8617 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8618 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8619 if (UNTAG_Bool(REGB2
)) {
8621 REGB3
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8622 if (UNTAG_Bool(REGB3
)) {
8623 REGB3
= TAG_Bool(0);
8626 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8630 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
8632 REGB3
= TAG_Bool(0);
8637 CALL_syntax___mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4], REGB1
, REGB0
);
8638 /* syntax/mmbuilder.nit:1114 */
8639 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8640 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8641 if (UNTAG_Bool(REGB1
)) {
8643 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8644 if (UNTAG_Bool(REGB2
)) {
8645 REGB2
= TAG_Bool(0);
8648 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8652 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8653 if (UNTAG_Bool(REGB1
)) {
8654 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8655 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8656 if (UNTAG_Bool(REGB1
)) {
8657 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1114);
8659 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3], fra
.me
.REG
[4]);
8662 /* syntax/mmbuilder.nit:1116 */
8663 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8664 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8665 if (UNTAG_Bool(REGB1
)) {
8667 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8668 if (UNTAG_Bool(REGB2
)) {
8669 REGB2
= TAG_Bool(0);
8672 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8676 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8677 if (UNTAG_Bool(REGB1
)) {
8678 REGB1
= TAG_Bool(1);
8680 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8681 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8682 if (UNTAG_Bool(REGB2
)) {
8684 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8685 if (UNTAG_Bool(REGB3
)) {
8686 REGB3
= TAG_Bool(0);
8689 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8695 if (UNTAG_Bool(REGB1
)) {
8696 /* syntax/mmbuilder.nit:1117 */
8697 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[2]);
8698 REGB1
= TAG_Bool(fra
.me
.REG
[4]!=NIT_NULL
);
8699 if (UNTAG_Bool(REGB1
)) {
8701 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1117);
8703 /* syntax/mmbuilder.nit:1118 */
8705 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8706 if (!once_value_5
) {
8707 if (!once_value_6
) {
8708 fra
.me
.REG
[6] = BOX_NativeString("value");
8710 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8711 once_value_6
= fra
.me
.REG
[6];
8712 register_static_object(&once_value_6
);
8713 } else fra
.me
.REG
[6] = once_value_6
;
8714 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8715 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8716 once_value_5
= fra
.me
.REG
[6];
8717 register_static_object(&once_value_5
);
8718 } else fra
.me
.REG
[6] = once_value_5
;
8719 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8720 fra
.me
.REG
[6] = NEW_MMParam_metamodel___static_type___MMParam___init(fra
.me
.REG
[1], fra
.me
.REG
[6]);
8721 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
8722 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_items(fra
.me
.REG
[0]);
8723 fra
.me
.REG
[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8724 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8725 fra
.me
.REG
[6] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[6]);
8726 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
8727 /* syntax/mmbuilder.nit:1120 */
8728 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8729 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8730 if (UNTAG_Bool(REGB1
)) {
8732 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8733 if (UNTAG_Bool(REGB2
)) {
8734 REGB2
= TAG_Bool(0);
8737 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8741 if (UNTAG_Bool(REGB1
)) {
8742 /* syntax/mmbuilder.nit:1121 */
8743 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8744 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8745 if (UNTAG_Bool(REGB1
)) {
8747 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8748 if (UNTAG_Bool(REGB2
)) {
8749 REGB2
= TAG_Bool(0);
8752 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8756 if (UNTAG_Bool(REGB1
)) {
8760 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8761 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8762 if (UNTAG_Bool(REGB1
)) {
8763 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1121);
8765 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAble___n_visibility(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8766 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8767 if (UNTAG_Bool(REGB1
)) {
8768 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1121);
8770 REGB1
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8774 /* syntax/mmbuilder.nit:1123 */
8775 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8776 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8777 if (UNTAG_Bool(REGB1
)) {
8779 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8780 if (UNTAG_Bool(REGB2
)) {
8781 REGB2
= TAG_Bool(0);
8784 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8788 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8789 if (UNTAG_Bool(REGB1
)) {
8790 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8791 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8792 if (UNTAG_Bool(REGB1
)) {
8793 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1123);
8795 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAble___n_kwredef(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8796 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8797 if (UNTAG_Bool(REGB1
)) {
8799 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8800 if (UNTAG_Bool(REGB2
)) {
8801 REGB2
= TAG_Bool(0);
8804 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8808 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8810 REGB2
= TAG_Bool(0);
8813 CALL_syntax___mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4], REGB1
, REGB0
);
8814 /* syntax/mmbuilder.nit:1124 */
8815 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8816 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8817 if (UNTAG_Bool(REGB0
)) {
8819 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8820 if (UNTAG_Bool(REGB1
)) {
8821 REGB1
= TAG_Bool(0);
8824 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8828 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8829 if (UNTAG_Bool(REGB0
)) {
8830 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8831 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
8832 if (UNTAG_Bool(REGB0
)) {
8833 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1124);
8835 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4]);
8839 stack_frame_head
= fra
.me
.prev
;
8842 static const char LOCATE_syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor
[] = "mmbuilder::AAttrPropdef::(syntax_base::ANode::accept_abs_syntax_visitor)";
8843 void syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
8844 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
8846 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8847 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8849 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor
;
8850 fra
.me
.has_broke
= 0;
8851 fra
.me
.REG_size
= 4;
8852 fra
.me
.nitni_local_ref_head
= NULL
;
8853 fra
.me
.REG
[0] = NIT_NULL
;
8854 fra
.me
.REG
[1] = NIT_NULL
;
8855 fra
.me
.REG
[2] = NIT_NULL
;
8856 fra
.me
.REG
[3] = NIT_NULL
;
8859 /* syntax/mmbuilder.nit:1128 */
8860 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8861 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8862 /* syntax/mmbuilder.nit:1130 */
8863 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[2]);
8864 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
8865 /* syntax/mmbuilder.nit:1131 */
8866 CALL_SUPER_syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8867 /* syntax/mmbuilder.nit:1132 */
8868 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
8869 stack_frame_head
= fra
.me
.prev
;
8872 static const char LOCATE_syntax___mmbuilder___AMethPropdef___name
[] = "mmbuilder::AMethPropdef::name";
8873 val_t
syntax___mmbuilder___AMethPropdef___name(val_t p0
){
8874 struct {struct stack_frame_t me
;} fra
;
8876 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8877 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8879 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___name
;
8880 fra
.me
.has_broke
= 0;
8881 fra
.me
.REG_size
= 1;
8882 fra
.me
.nitni_local_ref_head
= NULL
;
8883 fra
.me
.REG
[0] = NIT_NULL
;
8885 /* syntax/mmbuilder.nit:1137 */
8886 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AMethPropdef____name(fra
.me
.REG
[0]);
8887 stack_frame_head
= fra
.me
.prev
;
8888 return fra
.me
.REG
[0];
8890 static const char LOCATE_syntax___mmbuilder___AMethPropdef___method
[] = "mmbuilder::AMethPropdef::(syntax_base::AMethPropdef::method)";
8891 val_t
syntax___mmbuilder___AMethPropdef___method(val_t p0
){
8892 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
8895 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8896 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8898 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___method
;
8899 fra
.me
.has_broke
= 0;
8900 fra
.me
.REG_size
= 2;
8901 fra
.me
.nitni_local_ref_head
= NULL
;
8902 fra
.me
.REG
[0] = NIT_NULL
;
8903 fra
.me
.REG
[1] = NIT_NULL
;
8905 /* syntax/mmbuilder.nit:1141 */
8906 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8907 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AMethPropdef____method(fra
.me
.REG
[1]);
8908 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
8909 if (UNTAG_Bool(REGB0
)) {
8911 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1141);
8915 stack_frame_head
= fra
.me
.prev
;
8916 return fra
.me
.REG
[1];
8918 static const char LOCATE_syntax___mmbuilder___AMethPropdef___accept_property_builder
[] = "mmbuilder::AMethPropdef::(mmbuilder::ANode::accept_property_builder)";
8919 void syntax___mmbuilder___AMethPropdef___accept_property_builder(val_t p0
, val_t p1
){
8920 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
8925 static val_t once_value_1
; /* Once value */
8926 static val_t once_value_2
; /* Once value */
8927 static val_t once_value_3
; /* Once value */
8928 static val_t once_value_4
; /* Once value */
8929 static val_t once_value_5
; /* Once value */
8930 static val_t once_value_6
; /* Once value */
8931 static val_t once_value_7
; /* Once value */
8932 static val_t once_value_8
; /* Once value */
8933 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8934 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8936 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___accept_property_builder
;
8937 fra
.me
.has_broke
= 0;
8938 fra
.me
.REG_size
= 5;
8939 fra
.me
.nitni_local_ref_head
= NULL
;
8940 fra
.me
.REG
[0] = NIT_NULL
;
8941 fra
.me
.REG
[1] = NIT_NULL
;
8942 fra
.me
.REG
[2] = NIT_NULL
;
8943 fra
.me
.REG
[3] = NIT_NULL
;
8944 fra
.me
.REG
[4] = NIT_NULL
;
8947 /* syntax/mmbuilder.nit:1143 */
8948 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8949 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8950 /* syntax/mmbuilder.nit:1145 */
8951 CALL_SUPER_syntax___mmbuilder___AMethPropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8952 /* syntax/mmbuilder.nit:1147 */
8953 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8954 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8955 if (UNTAG_Bool(REGB0
)) {
8957 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8958 if (UNTAG_Bool(REGB1
)) {
8959 REGB1
= TAG_Bool(0);
8962 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8966 if (UNTAG_Bool(REGB0
)) {
8967 /* syntax/mmbuilder.nit:1148 */
8968 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_parser___parser_nodes___AInitPropdef
, ID_parser___parser_nodes___AInitPropdef
)) /*cast AInitPropdef*/;
8969 if (UNTAG_Bool(REGB0
)) {
8970 /* syntax/mmbuilder.nit:1149 */
8971 if (!once_value_1
) {
8972 if (!once_value_2
) {
8973 fra
.me
.REG
[1] = BOX_NativeString("init");
8975 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
8976 once_value_2
= fra
.me
.REG
[1];
8977 register_static_object(&once_value_2
);
8978 } else fra
.me
.REG
[1] = once_value_2
;
8979 fra
.me
.REG
[1] = fra
.me
.REG
[1];
8980 fra
.me
.REG
[1] = CALL_symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8981 once_value_1
= fra
.me
.REG
[1];
8982 register_static_object(&once_value_1
);
8983 } else fra
.me
.REG
[1] = once_value_1
;
8984 fra
.me
.REG
[1] = fra
.me
.REG
[1];
8986 /* syntax/mmbuilder.nit:1151 */
8987 if (!once_value_3
) {
8988 if (!once_value_4
) {
8989 fra
.me
.REG
[4] = BOX_NativeString("main");
8991 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
8992 once_value_4
= fra
.me
.REG
[4];
8993 register_static_object(&once_value_4
);
8994 } else fra
.me
.REG
[4] = once_value_4
;
8995 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8996 fra
.me
.REG
[4] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8997 once_value_3
= fra
.me
.REG
[4];
8998 register_static_object(&once_value_3
);
8999 } else fra
.me
.REG
[4] = once_value_3
;
9000 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9001 fra
.me
.REG
[1] = fra
.me
.REG
[4];
9004 /* syntax/mmbuilder.nit:1154 */
9005 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9006 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9007 if (UNTAG_Bool(REGB0
)) {
9008 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1154);
9010 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AMethid___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9011 REGB0
= TAG_Bool(fra
.me
.REG
[4]!=NIT_NULL
);
9012 if (UNTAG_Bool(REGB0
)) {
9014 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1154);
9016 fra
.me
.REG
[1] = fra
.me
.REG
[4];
9017 /* syntax/mmbuilder.nit:1156 */
9018 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9019 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9020 if (UNTAG_Bool(REGB0
)) {
9021 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1156);
9023 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AMethid___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9024 if (!once_value_5
) {
9025 if (!once_value_6
) {
9026 fra
.me
.REG
[0] = BOX_NativeString("-");
9028 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
9029 once_value_6
= fra
.me
.REG
[0];
9030 register_static_object(&once_value_6
);
9031 } else fra
.me
.REG
[0] = once_value_6
;
9032 fra
.me
.REG
[0] = fra
.me
.REG
[0];
9033 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9034 once_value_5
= fra
.me
.REG
[0];
9035 register_static_object(&once_value_5
);
9036 } else fra
.me
.REG
[0] = once_value_5
;
9037 fra
.me
.REG
[0] = fra
.me
.REG
[0];
9038 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[0],fra
.me
.REG
[4]));
9039 if (UNTAG_Bool(REGB0
)) {
9041 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9042 if (UNTAG_Bool(REGB1
)) {
9043 REGB1
= TAG_Bool(0);
9046 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
9050 if (UNTAG_Bool(REGB0
)) {
9051 /* syntax/mmbuilder.nit:1157 */
9052 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9053 /* syntax/mmbuilder.nit:1158 */
9054 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9055 if (UNTAG_Bool(REGB0
)) {
9057 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9058 if (UNTAG_Bool(REGB1
)) {
9059 REGB1
= TAG_Bool(0);
9062 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
9066 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9067 if (UNTAG_Bool(REGB0
)) {
9068 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9069 if (UNTAG_Bool(REGB0
)) {
9070 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1158);
9072 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ASignature___n_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9073 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9075 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
9076 if (UNTAG_Bool(REGB2
)) {
9078 /* ../lib/standard/kernel.nit:230 */
9079 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
9080 /* syntax/mmbuilder.nit:1158 */
9084 REGB1
= TAG_Bool(0);
9087 if (UNTAG_Bool(REGB2
)) {
9088 /* syntax/mmbuilder.nit:1159 */
9089 if (!once_value_7
) {
9090 if (!once_value_8
) {
9091 fra
.me
.REG
[0] = BOX_NativeString("unary -");
9093 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB2
);
9094 once_value_8
= fra
.me
.REG
[0];
9095 register_static_object(&once_value_8
);
9096 } else fra
.me
.REG
[0] = once_value_8
;
9097 fra
.me
.REG
[0] = fra
.me
.REG
[0];
9098 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9099 once_value_7
= fra
.me
.REG
[0];
9100 register_static_object(&once_value_7
);
9101 } else fra
.me
.REG
[0] = once_value_7
;
9102 fra
.me
.REG
[0] = fra
.me
.REG
[0];
9103 fra
.me
.REG
[1] = fra
.me
.REG
[0];
9107 /* syntax/mmbuilder.nit:1163 */
9108 ATTR_syntax___mmbuilder___AMethPropdef____name(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
9109 /* syntax/mmbuilder.nit:1164 */
9110 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9111 fra
.me
.REG
[0] = NEW_MMMethSrcMethod_syntax___syntax_base___MMMethSrcMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
9112 /* syntax/mmbuilder.nit:1165 */
9113 ATTR_syntax___mmbuilder___AMethPropdef____method(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
9114 /* syntax/mmbuilder.nit:1166 */
9115 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9116 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0]);
9117 stack_frame_head
= fra
.me
.prev
;
9120 static const char LOCATE_syntax___mmbuilder___AMethPropdef___accept_property_verifier
[] = "mmbuilder::AMethPropdef::(mmbuilder::ANode::accept_property_verifier)";
9121 void syntax___mmbuilder___AMethPropdef___accept_property_verifier(val_t p0
, val_t p1
){
9122 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
9128 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9129 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9131 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___accept_property_verifier
;
9132 fra
.me
.has_broke
= 0;
9133 fra
.me
.REG_size
= 5;
9134 fra
.me
.nitni_local_ref_head
= NULL
;
9135 fra
.me
.REG
[0] = NIT_NULL
;
9136 fra
.me
.REG
[1] = NIT_NULL
;
9137 fra
.me
.REG
[2] = NIT_NULL
;
9138 fra
.me
.REG
[3] = NIT_NULL
;
9139 fra
.me
.REG
[4] = NIT_NULL
;
9142 /* syntax/mmbuilder.nit:1169 */
9143 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9144 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9145 /* syntax/mmbuilder.nit:1171 */
9146 fra
.me
.REG
[4] = NEW_SignatureBuilder_syntax___mmbuilder___SignatureBuilder___init();
9147 CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
9148 /* syntax/mmbuilder.nit:1172 */
9149 CALL_SUPER_syntax___mmbuilder___AMethPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9150 /* syntax/mmbuilder.nit:1174 */
9151 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9152 REGB0
= CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9153 if (UNTAG_Bool(REGB0
)) {
9156 /* syntax/mmbuilder.nit:1176 */
9157 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9158 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9159 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9160 if (UNTAG_Bool(REGB0
)) {
9162 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9163 if (UNTAG_Bool(REGB1
)) {
9164 REGB1
= TAG_Bool(0);
9167 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
9171 if (UNTAG_Bool(REGB0
)) {
9173 /* syntax/mmbuilder.nit:1179 */
9174 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9175 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9176 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9177 REGB0
= TAG_Bool(fra
.me
.REG
[4]!=NIT_NULL
);
9178 if (UNTAG_Bool(REGB0
)) {
9180 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1179);
9182 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
9184 /* syntax/mmbuilder.nit:1181 */
9186 /* syntax/mmbuilder.nit:1182 */
9187 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9188 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9189 if (UNTAG_Bool(REGB1
)) {
9191 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9192 if (UNTAG_Bool(REGB2
)) {
9193 REGB2
= TAG_Bool(0);
9196 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
9200 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9201 if (UNTAG_Bool(REGB1
)) {
9202 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9203 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9204 if (UNTAG_Bool(REGB1
)) {
9205 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1182);
9207 REGB1
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9209 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9210 if (UNTAG_Bool(REGB3
)) {
9212 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9214 /* ../lib/standard/kernel.nit:237 */
9215 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
9217 /* syntax/mmbuilder.nit:1182 */
9218 REGB1
= TAG_Bool(0);
9221 if (UNTAG_Bool(REGB2
)) {
9222 /* syntax/mmbuilder.nit:1183 */
9223 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9224 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9225 if (UNTAG_Bool(REGB2
)) {
9226 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1183);
9228 REGB2
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9231 /* syntax/mmbuilder.nit:1185 */
9232 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9233 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AMethPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9234 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9235 if (UNTAG_Bool(REGB2
)) {
9237 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9238 if (UNTAG_Bool(REGB1
)) {
9239 REGB1
= TAG_Bool(0);
9242 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
9246 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
9247 CALL_syntax___mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4], REGB2
, REGB0
);
9248 /* syntax/mmbuilder.nit:1186 */
9249 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9250 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9251 if (UNTAG_Bool(REGB0
)) {
9253 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9254 if (UNTAG_Bool(REGB2
)) {
9255 REGB2
= TAG_Bool(0);
9258 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
9262 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9263 if (UNTAG_Bool(REGB0
)) {
9264 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9265 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9266 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9267 if (UNTAG_Bool(REGB0
)) {
9268 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1186);
9270 CALL_syntax___mmbuilder___ASignature___check_visibility(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3], fra
.me
.REG
[2]);
9273 stack_frame_head
= fra
.me
.prev
;
9276 static const char LOCATE_syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor
[] = "mmbuilder::AMethPropdef::(syntax_base::ANode::accept_abs_syntax_visitor)";
9277 void syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
9278 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9280 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9281 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9283 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor
;
9284 fra
.me
.has_broke
= 0;
9285 fra
.me
.REG_size
= 4;
9286 fra
.me
.nitni_local_ref_head
= NULL
;
9287 fra
.me
.REG
[0] = NIT_NULL
;
9288 fra
.me
.REG
[1] = NIT_NULL
;
9289 fra
.me
.REG
[2] = NIT_NULL
;
9290 fra
.me
.REG
[3] = NIT_NULL
;
9293 /* syntax/mmbuilder.nit:1189 */
9294 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9295 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9296 /* syntax/mmbuilder.nit:1191 */
9297 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___AMethPropdef____method(fra
.me
.REG
[2]);
9298 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
9299 /* syntax/mmbuilder.nit:1192 */
9300 CALL_SUPER_syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9301 /* syntax/mmbuilder.nit:1193 */
9302 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
9303 stack_frame_head
= fra
.me
.prev
;
9306 static const char LOCATE_syntax___mmbuilder___AMainMethPropdef___process_and_check
[] = "mmbuilder::AMainMethPropdef::(mmbuilder::APropdef::process_and_check)";
9307 void syntax___mmbuilder___AMainMethPropdef___process_and_check(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
9308 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
9312 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9313 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9315 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMainMethPropdef___process_and_check
;
9316 fra
.me
.has_broke
= 0;
9317 fra
.me
.REG_size
= 3;
9318 fra
.me
.nitni_local_ref_head
= NULL
;
9319 fra
.me
.REG
[0] = NIT_NULL
;
9320 fra
.me
.REG
[1] = NIT_NULL
;
9321 fra
.me
.REG
[2] = NIT_NULL
;
9327 /* syntax/mmbuilder.nit:1200 */
9328 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9329 CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
9330 /* syntax/mmbuilder.nit:1201 */
9331 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
9332 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9333 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9334 fra
.me
.REG
[1] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[1]);
9335 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
9336 stack_frame_head
= fra
.me
.prev
;
9339 static const char LOCATE_syntax___mmbuilder___AExternPropdef___accept_property_verifier
[] = "mmbuilder::AExternPropdef::(mmbuilder::ANode::accept_property_verifier)";
9340 void syntax___mmbuilder___AExternPropdef___accept_property_verifier(val_t p0
, val_t p1
){
9341 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
9346 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9347 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9349 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExternPropdef___accept_property_verifier
;
9350 fra
.me
.has_broke
= 0;
9351 fra
.me
.REG_size
= 3;
9352 fra
.me
.nitni_local_ref_head
= NULL
;
9353 fra
.me
.REG
[0] = NIT_NULL
;
9354 fra
.me
.REG
[1] = NIT_NULL
;
9355 fra
.me
.REG
[2] = NIT_NULL
;
9358 /* syntax/mmbuilder.nit:1207 */
9359 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9360 /* syntax/mmbuilder.nit:1209 */
9361 CALL_SUPER_syntax___mmbuilder___AExternPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9362 /* syntax/mmbuilder.nit:1211 */
9363 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AExternPropdef___n_extern(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9364 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9365 if (UNTAG_Bool(REGB0
)) {
9367 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9368 if (UNTAG_Bool(REGB1
)) {
9369 REGB1
= TAG_Bool(0);
9372 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
9376 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9377 if (UNTAG_Bool(REGB0
)) {
9378 /* syntax/mmbuilder.nit:1212 */
9379 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AExternPropdef___n_extern(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9380 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9381 if (UNTAG_Bool(REGB0
)) {
9382 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1212);
9384 fra
.me
.REG
[1] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9385 /* syntax/mmbuilder.nit:1213 */
9387 /* ../lib/standard/collection/array.nit:24 */
9388 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
9389 if (UNTAG_Bool(REGB1
)) {
9391 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
9393 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
9394 /* syntax/mmbuilder.nit:1213 */
9396 /* ../lib/standard/kernel.nit:240 */
9397 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
9398 /* syntax/mmbuilder.nit:1213 */
9399 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
, REGB2
);
9400 fra
.me
.REG
[1] = fra
.me
.REG
[0];
9402 /* syntax/mmbuilder.nit:1215 */
9403 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9404 fra
.me
.REG
[0] = CALL_primitive_info___MMMethod___default_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9405 fra
.me
.REG
[1] = fra
.me
.REG
[0];
9407 /* syntax/mmbuilder.nit:1217 */
9408 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9409 CALL_syntax___syntax_base___MMMethSrcMethod___extern_name__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
9410 stack_frame_head
= fra
.me
.prev
;
9413 static const char LOCATE_syntax___mmbuilder___ATypePropdef___prop
[] = "mmbuilder::ATypePropdef::(syntax_base::ATypePropdef::prop)";
9414 val_t
syntax___mmbuilder___ATypePropdef___prop(val_t p0
){
9415 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
9418 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9419 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9421 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATypePropdef___prop
;
9422 fra
.me
.has_broke
= 0;
9423 fra
.me
.REG_size
= 2;
9424 fra
.me
.nitni_local_ref_head
= NULL
;
9425 fra
.me
.REG
[0] = NIT_NULL
;
9426 fra
.me
.REG
[1] = NIT_NULL
;
9428 /* syntax/mmbuilder.nit:1222 */
9429 fra
.me
.REG
[1] = fra
.me
.REG
[0];
9430 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___ATypePropdef____prop(fra
.me
.REG
[1]);
9431 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
9432 if (UNTAG_Bool(REGB0
)) {
9434 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1222);
9438 stack_frame_head
= fra
.me
.prev
;
9439 return fra
.me
.REG
[1];
9441 static const char LOCATE_syntax___mmbuilder___ATypePropdef___accept_property_builder
[] = "mmbuilder::ATypePropdef::(mmbuilder::ANode::accept_property_builder)";
9442 void syntax___mmbuilder___ATypePropdef___accept_property_builder(val_t p0
, val_t p1
){
9443 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9445 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9446 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9448 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATypePropdef___accept_property_builder
;
9449 fra
.me
.has_broke
= 0;
9450 fra
.me
.REG_size
= 4;
9451 fra
.me
.nitni_local_ref_head
= NULL
;
9452 fra
.me
.REG
[0] = NIT_NULL
;
9453 fra
.me
.REG
[1] = NIT_NULL
;
9454 fra
.me
.REG
[2] = NIT_NULL
;
9455 fra
.me
.REG
[3] = NIT_NULL
;
9458 /* syntax/mmbuilder.nit:1225 */
9459 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9460 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9461 /* syntax/mmbuilder.nit:1227 */
9462 CALL_SUPER_syntax___mmbuilder___ATypePropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9463 /* syntax/mmbuilder.nit:1228 */
9464 fra
.me
.REG
[1] = CALL_parser___parser_nodes___ATypePropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9465 fra
.me
.REG
[1] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9466 /* syntax/mmbuilder.nit:1229 */
9467 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9468 fra
.me
.REG
[0] = NEW_MMSrcTypeProperty_syntax___syntax_base___MMSrcTypeProperty___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
9469 /* syntax/mmbuilder.nit:1230 */
9470 ATTR_syntax___mmbuilder___ATypePropdef____prop(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
9471 /* syntax/mmbuilder.nit:1231 */
9472 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9473 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0]);
9474 stack_frame_head
= fra
.me
.prev
;
9477 static const char LOCATE_syntax___mmbuilder___ATypePropdef___accept_property_verifier
[] = "mmbuilder::ATypePropdef::(mmbuilder::ANode::accept_property_verifier)";
9478 void syntax___mmbuilder___ATypePropdef___accept_property_verifier(val_t p0
, val_t p1
){
9479 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
9484 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9485 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9487 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATypePropdef___accept_property_verifier
;
9488 fra
.me
.has_broke
= 0;
9489 fra
.me
.REG_size
= 5;
9490 fra
.me
.nitni_local_ref_head
= NULL
;
9491 fra
.me
.REG
[0] = NIT_NULL
;
9492 fra
.me
.REG
[1] = NIT_NULL
;
9493 fra
.me
.REG
[2] = NIT_NULL
;
9494 fra
.me
.REG
[3] = NIT_NULL
;
9495 fra
.me
.REG
[4] = NIT_NULL
;
9498 /* syntax/mmbuilder.nit:1234 */
9499 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9500 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9501 /* syntax/mmbuilder.nit:1236 */
9502 CALL_SUPER_syntax___mmbuilder___ATypePropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9503 /* syntax/mmbuilder.nit:1237 */
9504 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
9505 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ATypePropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9506 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
9507 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9508 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9509 fra
.me
.REG
[4] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
9510 /* syntax/mmbuilder.nit:1238 */
9511 fra
.me
.REG
[0] = CALL_syntax___syntax_base___ATypePropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9512 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
9513 /* syntax/mmbuilder.nit:1239 */
9514 fra
.me
.REG
[4] = CALL_parser___parser_nodes___ATypePropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9515 REGB0
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9516 /* syntax/mmbuilder.nit:1240 */
9517 fra
.me
.REG
[4] = CALL_syntax___syntax_base___ATypePropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9518 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ATypePropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9519 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9520 if (UNTAG_Bool(REGB1
)) {
9522 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9523 if (UNTAG_Bool(REGB2
)) {
9524 REGB2
= TAG_Bool(0);
9527 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
9531 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9532 CALL_syntax___mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4], REGB1
, REGB0
);
9533 stack_frame_head
= fra
.me
.prev
;
9536 static const char LOCATE_syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor
[] = "mmbuilder::ATypePropdef::(syntax_base::ANode::accept_abs_syntax_visitor)";
9537 void syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
9538 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9540 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9541 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9543 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor
;
9544 fra
.me
.has_broke
= 0;
9545 fra
.me
.REG_size
= 4;
9546 fra
.me
.nitni_local_ref_head
= NULL
;
9547 fra
.me
.REG
[0] = NIT_NULL
;
9548 fra
.me
.REG
[1] = NIT_NULL
;
9549 fra
.me
.REG
[2] = NIT_NULL
;
9550 fra
.me
.REG
[3] = NIT_NULL
;
9553 /* syntax/mmbuilder.nit:1243 */
9554 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9555 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9556 /* syntax/mmbuilder.nit:1245 */
9557 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___ATypePropdef____prop(fra
.me
.REG
[2]);
9558 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
9559 /* syntax/mmbuilder.nit:1246 */
9560 CALL_SUPER_syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9561 /* syntax/mmbuilder.nit:1247 */
9562 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
9563 stack_frame_head
= fra
.me
.prev
;
9566 static const char LOCATE_syntax___mmbuilder___MethidAccumulator___name
[] = "mmbuilder::MethidAccumulator::name";
9567 val_t
syntax___mmbuilder___MethidAccumulator___name(val_t p0
){
9568 struct {struct stack_frame_t me
;} fra
;
9571 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9572 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9574 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MethidAccumulator___name
;
9575 fra
.me
.has_broke
= 0;
9576 fra
.me
.REG_size
= 1;
9577 fra
.me
.nitni_local_ref_head
= NULL
;
9578 fra
.me
.REG
[0] = NIT_NULL
;
9580 /* syntax/mmbuilder.nit:1254 */
9581 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0])!=NIT_NULL
);
9582 if (UNTAG_Bool(REGB0
)) {
9584 nit_abort("Uninitialized attribute %s", "_name", LOCATE_syntax___mmbuilder
, 1254);
9586 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0]);
9587 stack_frame_head
= fra
.me
.prev
;
9588 return fra
.me
.REG
[0];
9590 static const char LOCATE_syntax___mmbuilder___MethidAccumulator___visit
[] = "mmbuilder::MethidAccumulator::(parser_prod::Visitor::visit)";
9591 void syntax___mmbuilder___MethidAccumulator___visit(val_t p0
, val_t p1
){
9592 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9595 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9596 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9598 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MethidAccumulator___visit
;
9599 fra
.me
.has_broke
= 0;
9600 fra
.me
.REG_size
= 4;
9601 fra
.me
.nitni_local_ref_head
= NULL
;
9602 fra
.me
.REG
[0] = NIT_NULL
;
9603 fra
.me
.REG
[1] = NIT_NULL
;
9604 fra
.me
.REG
[2] = NIT_NULL
;
9605 fra
.me
.REG
[3] = NIT_NULL
;
9608 /* syntax/mmbuilder.nit:1257 */
9609 REGB0
= TAG_Bool((fra
.me
.REG
[1]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[1], COLOR_parser___parser_nodes___Token
, ID_parser___parser_nodes___Token
)) /*cast Token*/;
9610 if (UNTAG_Bool(REGB0
)) {
9611 /* syntax/mmbuilder.nit:1258 */
9612 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0])!=NIT_NULL
);
9613 if (UNTAG_Bool(REGB0
)) {
9615 nit_abort("Uninitialized attribute %s", "_name", LOCATE_syntax___mmbuilder
, 1258);
9617 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0]);
9618 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9619 if (UNTAG_Bool(REGB0
)) {
9620 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1258);
9622 fra
.me
.REG
[3] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9623 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
9625 /* syntax/mmbuilder.nit:1260 */
9626 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9627 if (UNTAG_Bool(REGB0
)) {
9628 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1260);
9630 CALL_parser___parser_prod___ANode___visit_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
9632 stack_frame_head
= fra
.me
.prev
;
9635 static const char LOCATE_syntax___mmbuilder___AMethid___name
[] = "mmbuilder::AMethid::(syntax_base::AMethid::name)";
9636 val_t
syntax___mmbuilder___AMethid___name(val_t p0
){
9637 struct {struct stack_frame_t me
;} fra
;
9639 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9640 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9642 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethid___name
;
9643 fra
.me
.has_broke
= 0;
9644 fra
.me
.REG_size
= 1;
9645 fra
.me
.nitni_local_ref_head
= NULL
;
9646 fra
.me
.REG
[0] = NIT_NULL
;
9648 /* syntax/mmbuilder.nit:1266 */
9649 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AMethid____name(fra
.me
.REG
[0]);
9650 stack_frame_head
= fra
.me
.prev
;
9651 return fra
.me
.REG
[0];
9653 static const char LOCATE_syntax___mmbuilder___AMethid___accept_property_builder
[] = "mmbuilder::AMethid::(mmbuilder::ANode::accept_property_builder)";
9654 void syntax___mmbuilder___AMethid___accept_property_builder(val_t p0
, val_t p1
){
9655 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9657 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9658 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9660 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethid___accept_property_builder
;
9661 fra
.me
.has_broke
= 0;
9662 fra
.me
.REG_size
= 4;
9663 fra
.me
.nitni_local_ref_head
= NULL
;
9664 fra
.me
.REG
[0] = NIT_NULL
;
9665 fra
.me
.REG
[1] = NIT_NULL
;
9666 fra
.me
.REG
[2] = NIT_NULL
;
9667 fra
.me
.REG
[3] = NIT_NULL
;
9670 /* syntax/mmbuilder.nit:1268 */
9671 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9672 /* syntax/mmbuilder.nit:1270 */
9673 fra
.me
.REG
[3] = NEW_MethidAccumulator_parser___parser_prod___Visitor___init();
9674 /* syntax/mmbuilder.nit:1271 */
9675 CALL_parser___parser_prod___Visitor___enter_visit(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
9676 /* syntax/mmbuilder.nit:1272 */
9677 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___MethidAccumulator___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9678 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9679 fra
.me
.REG
[3] = CALL_symbol___String___to_symbol(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9680 ATTR_syntax___mmbuilder___AMethid____name(fra
.me
.REG
[2]) = fra
.me
.REG
[3];
9681 /* syntax/mmbuilder.nit:1273 */
9682 CALL_SUPER_syntax___mmbuilder___AMethid___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9683 stack_frame_head
= fra
.me
.prev
;
9686 static const char LOCATE_syntax___mmbuilder___ASignature___accept_property_verifier
[] = "mmbuilder::ASignature::(mmbuilder::ANode::accept_property_verifier)";
9687 void syntax___mmbuilder___ASignature___accept_property_verifier(val_t p0
, val_t p1
){
9688 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
9693 static val_t once_value_2
; /* Once value */
9694 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9695 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9697 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASignature___accept_property_verifier
;
9698 fra
.me
.has_broke
= 0;
9699 fra
.me
.REG_size
= 8;
9700 fra
.me
.nitni_local_ref_head
= NULL
;
9701 fra
.me
.REG
[0] = NIT_NULL
;
9702 fra
.me
.REG
[1] = NIT_NULL
;
9703 fra
.me
.REG
[2] = NIT_NULL
;
9704 fra
.me
.REG
[3] = NIT_NULL
;
9705 fra
.me
.REG
[4] = NIT_NULL
;
9706 fra
.me
.REG
[5] = NIT_NULL
;
9707 fra
.me
.REG
[6] = NIT_NULL
;
9708 fra
.me
.REG
[7] = NIT_NULL
;
9711 /* syntax/mmbuilder.nit:1278 */
9712 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9713 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9714 /* syntax/mmbuilder.nit:1280 */
9715 CALL_SUPER_syntax___mmbuilder___ASignature___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9716 /* syntax/mmbuilder.nit:1281 */
9717 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9718 REGB0
= CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9719 if (UNTAG_Bool(REGB0
)) {
9720 /* syntax/mmbuilder.nit:1282 */
9723 /* syntax/mmbuilder.nit:1283 */
9724 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9725 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9726 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9727 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9728 if (UNTAG_Bool(REGB0
)) {
9729 /* syntax/mmbuilder.nit:1284 */
9730 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9731 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9732 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9733 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9734 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9735 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9736 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[1],fra
.me
.REG
[4]));
9737 if (UNTAG_Bool(REGB0
)) {
9739 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9740 if (UNTAG_Bool(REGB1
)) {
9741 REGB1
= TAG_Bool(0);
9744 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
9748 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9749 if (UNTAG_Bool(REGB0
)) {
9750 REGB0
= TAG_Bool(1);
9752 fra
.me
.REG
[4] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9753 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9754 if (UNTAG_Bool(REGB1
)) {
9756 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9757 if (UNTAG_Bool(REGB2
)) {
9758 REGB2
= TAG_Bool(0);
9761 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
9765 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9768 if (UNTAG_Bool(REGB0
)) {
9769 /* syntax/mmbuilder.nit:1285 */
9770 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9771 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9772 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9773 if (!once_value_2
) {
9774 fra
.me
.REG
[1] = BOX_NativeString("Syntax error: untyped parameter.");
9775 REGB0
= TAG_Int(32);
9776 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
9777 once_value_2
= fra
.me
.REG
[1];
9778 register_static_object(&once_value_2
);
9779 } else fra
.me
.REG
[1] = once_value_2
;
9780 fra
.me
.REG
[1] = fra
.me
.REG
[1];
9781 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4], fra
.me
.REG
[1]);
9782 /* syntax/mmbuilder.nit:1286 */
9786 /* syntax/mmbuilder.nit:1288 */
9787 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9788 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9789 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9790 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9791 if (UNTAG_Bool(REGB0
)) {
9792 REGB0
= TAG_Bool(1);
9794 fra
.me
.REG
[1] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9795 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9796 if (UNTAG_Bool(REGB1
)) {
9798 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9799 if (UNTAG_Bool(REGB2
)) {
9800 REGB2
= TAG_Bool(0);
9803 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
9807 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9810 if (UNTAG_Bool(REGB0
)) {
9811 /* syntax/mmbuilder.nit:1289 */
9812 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
9813 /* syntax/mmbuilder.nit:1290 */
9814 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9815 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9816 /* ../lib/standard/collection/array.nit:269 */
9818 /* ../lib/standard/collection/array.nit:270 */
9819 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
9820 if (UNTAG_Bool(REGB1
)) {
9822 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
9824 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
9825 /* ../lib/standard/collection/array.nit:271 */
9826 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
9827 /* ../lib/standard/collection/array.nit:272 */
9829 /* ../lib/standard/collection/array.nit:24 */
9830 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
9831 if (UNTAG_Bool(REGB1
)) {
9833 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
9835 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
9836 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
9837 if (UNTAG_Bool(REGB2
)) {
9839 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9841 /* ../lib/standard/kernel.nit:235 */
9842 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
9843 /* ../lib/standard/collection/array.nit:272 */
9844 if (UNTAG_Bool(REGB1
)) {
9845 /* ../lib/standard/collection/array.nit:273 */
9846 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9847 if (UNTAG_Bool(REGB1
)) {
9848 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
9850 /* ../lib/standard/collection/array.nit:718 */
9851 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
9852 /* syntax/mmbuilder.nit:1291 */
9853 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AParam___stype(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9854 REGB1
= TAG_Bool(fra
.me
.REG
[7]!=NIT_NULL
);
9855 if (UNTAG_Bool(REGB1
)) {
9857 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1291);
9859 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AParam___n_id(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9860 fra
.me
.REG
[6] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9861 fra
.me
.REG
[6] = NEW_MMParam_metamodel___static_type___MMParam___init(fra
.me
.REG
[7], fra
.me
.REG
[6]);
9862 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
9863 /* ../lib/standard/collection/array.nit:274 */
9865 /* ../lib/standard/kernel.nit:238 */
9866 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
9867 /* ../lib/standard/collection/array.nit:274 */
9870 /* ../lib/standard/collection/array.nit:272 */
9875 /* syntax/mmbuilder.nit:1293 */
9876 fra
.me
.REG
[0] = NIT_NULL
;
9877 /* syntax/mmbuilder.nit:1294 */
9878 fra
.me
.REG
[5] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9879 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9880 if (UNTAG_Bool(REGB0
)) {
9882 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9883 if (UNTAG_Bool(REGB1
)) {
9884 REGB1
= TAG_Bool(0);
9887 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
9891 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9892 if (UNTAG_Bool(REGB0
)) {
9893 /* syntax/mmbuilder.nit:1295 */
9894 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9895 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
9896 if (UNTAG_Bool(REGB0
)) {
9897 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1295);
9899 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
9900 fra
.me
.REG
[0] = fra
.me
.REG
[2];
9901 /* syntax/mmbuilder.nit:1296 */
9902 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9903 if (UNTAG_Bool(REGB0
)) {
9905 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9906 if (UNTAG_Bool(REGB1
)) {
9907 REGB1
= TAG_Bool(0);
9910 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
9914 if (UNTAG_Bool(REGB0
)) {
9915 /* syntax/mmbuilder.nit:1297 */
9916 fra
.me
.REG
[2] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9917 REGB0
= TAG_Bool(1);
9918 CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
9919 /* syntax/mmbuilder.nit:1298 */
9923 /* syntax/mmbuilder.nit:1301 */
9924 fra
.me
.REG
[2] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9925 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9926 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9927 fra
.me
.REG
[5] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
9928 CALL_syntax___mmbuilder___SignatureBuilder___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
9929 /* syntax/mmbuilder.nit:1302 */
9930 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9931 REGB0
= CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9933 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
9934 if (UNTAG_Bool(REGB2
)) {
9936 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9938 /* ../lib/standard/kernel.nit:236 */
9939 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
9940 /* syntax/mmbuilder.nit:1302 */
9941 if (UNTAG_Bool(REGB1
)) {
9942 /* syntax/mmbuilder.nit:1303 */
9943 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9944 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9945 fra
.me
.REG
[2] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9946 REGB1
= CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9947 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9948 if (UNTAG_Bool(REGB0
)) {
9949 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1303);
9951 CALL_metamodel___vararg___MMSignature___vararg_rank__eq(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB1
);
9953 /* syntax/mmbuilder.nit:1305 */
9954 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9955 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9956 /* ../lib/standard/collection/array.nit:269 */
9958 /* ../lib/standard/collection/array.nit:270 */
9959 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
9960 if (UNTAG_Bool(REGB0
)) {
9962 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
9964 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
9965 /* ../lib/standard/collection/array.nit:271 */
9966 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
9967 /* ../lib/standard/collection/array.nit:272 */
9969 /* ../lib/standard/collection/array.nit:24 */
9970 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
9971 if (UNTAG_Bool(REGB0
)) {
9973 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
9975 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
9976 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9977 if (UNTAG_Bool(REGB2
)) {
9979 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9981 /* ../lib/standard/kernel.nit:235 */
9982 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
9983 /* ../lib/standard/collection/array.nit:272 */
9984 if (UNTAG_Bool(REGB0
)) {
9985 /* ../lib/standard/collection/array.nit:273 */
9986 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
9987 if (UNTAG_Bool(REGB0
)) {
9988 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
9990 /* ../lib/standard/collection/array.nit:718 */
9991 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
9992 /* syntax/mmbuilder.nit:1306 */
9993 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9994 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9995 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9996 if (UNTAG_Bool(REGB0
)) {
9997 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1306);
9999 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMSignature___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10000 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AClosureDecl___variable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10001 fra
.me
.REG
[0] = CALL_syntax___syntax_base___ClosureVariable___closure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10002 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
10003 /* ../lib/standard/collection/array.nit:274 */
10004 REGB0
= TAG_Int(1);
10005 /* ../lib/standard/kernel.nit:238 */
10006 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
10007 /* ../lib/standard/collection/array.nit:274 */
10010 /* ../lib/standard/collection/array.nit:272 */
10019 stack_frame_head
= fra
.me
.prev
;
10022 static const char LOCATE_syntax___mmbuilder___ASignature___check_visibility
[] = "mmbuilder::ASignature::check_visibility";
10023 void syntax___mmbuilder___ASignature___check_visibility(val_t p0
, val_t p1
, val_t p2
){
10024 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
10029 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10030 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10031 fra
.me
.line
= 1311;
10032 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASignature___check_visibility
;
10033 fra
.me
.has_broke
= 0;
10034 fra
.me
.REG_size
= 4;
10035 fra
.me
.nitni_local_ref_head
= NULL
;
10036 fra
.me
.REG
[0] = NIT_NULL
;
10037 fra
.me
.REG
[1] = NIT_NULL
;
10038 fra
.me
.REG
[2] = NIT_NULL
;
10039 fra
.me
.REG
[3] = NIT_NULL
;
10040 fra
.me
.REG
[0] = p0
;
10041 fra
.me
.REG
[1] = p1
;
10042 fra
.me
.REG
[2] = p2
;
10043 /* syntax/mmbuilder.nit:1314 */
10044 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10045 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10046 REGB1
= TAG_Int(3);
10047 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
10048 if (UNTAG_Bool(REGB2
)) {
10050 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10052 /* ../lib/standard/kernel.nit:236 */
10053 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
10054 /* syntax/mmbuilder.nit:1314 */
10055 if (UNTAG_Bool(REGB1
)) {
10058 /* syntax/mmbuilder.nit:1315 */
10059 fra
.me
.REG
[3] = CALL_parser___parser_nodes___ASignature___n_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10060 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[3])(fra
.me
.REG
[3], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___ASignature___check_visibility_2
));
10061 /* syntax/mmbuilder.nit:1318 */
10062 fra
.me
.REG
[3] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10063 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10064 if (UNTAG_Bool(REGB1
)) {
10066 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10067 if (UNTAG_Bool(REGB0
)) {
10068 REGB0
= TAG_Bool(0);
10071 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
10075 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
10076 if (UNTAG_Bool(REGB1
)) {
10077 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10078 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10079 if (UNTAG_Bool(REGB1
)) {
10080 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1318);
10082 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
10085 stack_frame_head
= fra
.me
.prev
;
10088 void OC_syntax___mmbuilder___ASignature___check_visibility_2(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
10089 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10094 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10095 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10097 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASignature___check_visibility
;
10098 fra
.me
.has_broke
= 0;
10099 fra
.me
.REG_size
= 2;
10100 fra
.me
.nitni_local_ref_head
= NULL
;
10101 fra
.me
.REG
[0] = NIT_NULL
;
10102 fra
.me
.REG
[1] = NIT_NULL
;
10103 fra
.me
.closure_ctx
= closctx_param
;
10104 fra
.me
.closure_funs
= CREG
;
10105 fra
.me
.REG
[0] = p0
;
10106 CREG
[0] = clos_fun0
;
10107 /* syntax/mmbuilder.nit:1316 */
10108 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AParam___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10109 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10110 if (UNTAG_Bool(REGB0
)) {
10112 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10113 if (UNTAG_Bool(REGB1
)) {
10114 REGB1
= TAG_Bool(0);
10117 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
10121 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10122 if (UNTAG_Bool(REGB0
)) {
10123 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10124 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10125 if (UNTAG_Bool(REGB0
)) {
10126 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1316);
10128 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1], closctx
->REG
[2]);
10130 stack_frame_head
= fra
.me
.prev
;
10133 static const char LOCATE_syntax___mmbuilder___AParam___position
[] = "mmbuilder::AParam::(syntax_base::AParam::position)";
10134 val_t
syntax___mmbuilder___AParam___position(val_t p0
){
10135 struct {struct stack_frame_t me
;} fra
;
10138 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10139 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10140 fra
.me
.line
= 1323;
10141 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___position
;
10142 fra
.me
.has_broke
= 0;
10143 fra
.me
.REG_size
= 1;
10144 fra
.me
.nitni_local_ref_head
= NULL
;
10145 fra
.me
.REG
[0] = NIT_NULL
;
10146 fra
.me
.REG
[0] = p0
;
10147 /* syntax/mmbuilder.nit:1323 */
10148 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___AParam____position(fra
.me
.REG
[0])!=NIT_NULL
);
10149 if (UNTAG_Bool(REGB0
)) {
10151 nit_abort("Uninitialized attribute %s", "_position", LOCATE_syntax___mmbuilder
, 1323);
10153 REGB0
= ATTR_syntax___mmbuilder___AParam____position(fra
.me
.REG
[0]);
10154 stack_frame_head
= fra
.me
.prev
;
10157 static const char LOCATE_syntax___mmbuilder___AParam___variable
[] = "mmbuilder::AParam::(syntax_base::AParam::variable)";
10158 val_t
syntax___mmbuilder___AParam___variable(val_t p0
){
10159 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10162 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10163 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10164 fra
.me
.line
= 1325;
10165 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___variable
;
10166 fra
.me
.has_broke
= 0;
10167 fra
.me
.REG_size
= 2;
10168 fra
.me
.nitni_local_ref_head
= NULL
;
10169 fra
.me
.REG
[0] = NIT_NULL
;
10170 fra
.me
.REG
[1] = NIT_NULL
;
10171 fra
.me
.REG
[0] = p0
;
10172 /* syntax/mmbuilder.nit:1325 */
10173 fra
.me
.REG
[1] = fra
.me
.REG
[0];
10174 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AParam____variable(fra
.me
.REG
[1]);
10175 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
10176 if (UNTAG_Bool(REGB0
)) {
10178 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1325);
10182 stack_frame_head
= fra
.me
.prev
;
10183 return fra
.me
.REG
[1];
10185 static const char LOCATE_syntax___mmbuilder___AParam___stype
[] = "mmbuilder::AParam::stype";
10186 val_t
syntax___mmbuilder___AParam___stype(val_t p0
){
10187 struct {struct stack_frame_t me
;} fra
;
10189 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10190 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10191 fra
.me
.line
= 1328;
10192 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___stype
;
10193 fra
.me
.has_broke
= 0;
10194 fra
.me
.REG_size
= 1;
10195 fra
.me
.nitni_local_ref_head
= NULL
;
10196 fra
.me
.REG
[0] = NIT_NULL
;
10197 fra
.me
.REG
[0] = p0
;
10198 /* syntax/mmbuilder.nit:1328 */
10199 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AParam____stype(fra
.me
.REG
[0]);
10200 stack_frame_head
= fra
.me
.prev
;
10201 return fra
.me
.REG
[0];
10203 static const char LOCATE_syntax___mmbuilder___AParam___stype__eq
[] = "mmbuilder::AParam::stype=";
10204 void syntax___mmbuilder___AParam___stype__eq(val_t p0
, val_t p1
){
10205 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10207 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10208 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10209 fra
.me
.line
= 1328;
10210 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___stype__eq
;
10211 fra
.me
.has_broke
= 0;
10212 fra
.me
.REG_size
= 2;
10213 fra
.me
.nitni_local_ref_head
= NULL
;
10214 fra
.me
.REG
[0] = NIT_NULL
;
10215 fra
.me
.REG
[1] = NIT_NULL
;
10216 fra
.me
.REG
[0] = p0
;
10217 fra
.me
.REG
[1] = p1
;
10218 /* syntax/mmbuilder.nit:1328 */
10219 ATTR_syntax___mmbuilder___AParam____stype(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
10220 stack_frame_head
= fra
.me
.prev
;
10223 static const char LOCATE_syntax___mmbuilder___AParam___accept_property_verifier
[] = "mmbuilder::AParam::(mmbuilder::ANode::accept_property_verifier)";
10224 void syntax___mmbuilder___AParam___accept_property_verifier(val_t p0
, val_t p1
){
10225 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
10231 static val_t once_value_2
; /* Once value */
10232 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10233 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10234 fra
.me
.line
= 1331;
10235 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___accept_property_verifier
;
10236 fra
.me
.has_broke
= 0;
10237 fra
.me
.REG_size
= 7;
10238 fra
.me
.nitni_local_ref_head
= NULL
;
10239 fra
.me
.REG
[0] = NIT_NULL
;
10240 fra
.me
.REG
[1] = NIT_NULL
;
10241 fra
.me
.REG
[2] = NIT_NULL
;
10242 fra
.me
.REG
[3] = NIT_NULL
;
10243 fra
.me
.REG
[4] = NIT_NULL
;
10244 fra
.me
.REG
[5] = NIT_NULL
;
10245 fra
.me
.REG
[6] = NIT_NULL
;
10246 fra
.me
.REG
[0] = p0
;
10247 fra
.me
.REG
[1] = p1
;
10248 /* syntax/mmbuilder.nit:1331 */
10249 fra
.me
.REG
[2] = fra
.me
.REG
[0];
10250 fra
.me
.REG
[3] = fra
.me
.REG
[1];
10251 /* syntax/mmbuilder.nit:1333 */
10252 CALL_SUPER_syntax___mmbuilder___AParam___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
10253 /* syntax/mmbuilder.nit:1334 */
10254 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10255 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10256 /* ../lib/standard/collection/array.nit:24 */
10257 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
10258 if (UNTAG_Bool(REGB0
)) {
10260 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
10262 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
10263 /* syntax/mmbuilder.nit:1334 */
10264 ATTR_syntax___mmbuilder___AParam____position(fra
.me
.REG
[2]) = REGB0
;
10265 /* syntax/mmbuilder.nit:1335 */
10266 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AParam___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10267 fra
.me
.REG
[1] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10268 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10269 fra
.me
.REG
[0] = NEW_ParamVariable_syntax___syntax_base___ParamVariable___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
10270 ATTR_syntax___mmbuilder___AParam____variable(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
10271 /* syntax/mmbuilder.nit:1336 */
10272 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10273 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10274 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
10275 /* syntax/mmbuilder.nit:1337 */
10276 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10277 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10278 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
10279 /* syntax/mmbuilder.nit:1338 */
10280 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10281 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10282 if (UNTAG_Bool(REGB0
)) {
10284 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10285 if (UNTAG_Bool(REGB1
)) {
10286 REGB1
= TAG_Bool(0);
10289 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
10293 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10294 if (UNTAG_Bool(REGB0
)) {
10295 /* syntax/mmbuilder.nit:1339 */
10296 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10297 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10298 if (UNTAG_Bool(REGB0
)) {
10299 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1339);
10301 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
10302 /* syntax/mmbuilder.nit:1340 */
10303 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10304 if (UNTAG_Bool(REGB0
)) {
10306 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10307 if (UNTAG_Bool(REGB1
)) {
10308 REGB1
= TAG_Bool(0);
10311 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
10315 if (UNTAG_Bool(REGB0
)) {
10316 /* syntax/mmbuilder.nit:1341 */
10317 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10318 REGB0
= TAG_Bool(1);
10319 CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
10320 /* syntax/mmbuilder.nit:1342 */
10323 /* syntax/mmbuilder.nit:1344 */
10324 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10325 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10326 /* ../lib/standard/collection/array.nit:269 */
10327 REGB0
= TAG_Int(0);
10328 /* ../lib/standard/collection/array.nit:270 */
10329 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
10330 if (UNTAG_Bool(REGB1
)) {
10332 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
10334 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
10335 /* ../lib/standard/collection/array.nit:271 */
10336 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
10337 /* ../lib/standard/collection/array.nit:272 */
10339 /* ../lib/standard/collection/array.nit:24 */
10340 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
10341 if (UNTAG_Bool(REGB1
)) {
10343 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
10345 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
10346 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
10347 if (UNTAG_Bool(REGB2
)) {
10349 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10351 /* ../lib/standard/kernel.nit:235 */
10352 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
10353 /* ../lib/standard/collection/array.nit:272 */
10354 if (UNTAG_Bool(REGB1
)) {
10355 /* ../lib/standard/collection/array.nit:273 */
10356 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
10357 if (UNTAG_Bool(REGB1
)) {
10358 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
10360 /* ../lib/standard/collection/array.nit:718 */
10361 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
10362 /* syntax/mmbuilder.nit:1345 */
10363 CALL_syntax___mmbuilder___AParam___stype__eq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
10364 /* syntax/mmbuilder.nit:1346 */
10365 REGB1
= CALL_syntax___mmbuilder___AParam___is_vararg(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10366 if (UNTAG_Bool(REGB1
)) {
10367 /* syntax/mmbuilder.nit:1347 */
10368 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10369 REGB1
= CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10370 REGB2
= TAG_Int(1);
10371 /* ../lib/standard/kernel.nit:239 */
10372 REGB2
= TAG_Int(-UNTAG_Int(REGB2
));
10373 /* syntax/mmbuilder.nit:1347 */
10374 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
10375 if (UNTAG_Bool(REGB3
)) {
10377 /* ../lib/standard/kernel.nit:230 */
10378 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
10379 /* syntax/mmbuilder.nit:1347 */
10382 if (UNTAG_Bool(REGB3
)) {
10383 /* syntax/mmbuilder.nit:1348 */
10384 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10385 REGB3
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
10386 CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank__eq(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB3
);
10388 /* syntax/mmbuilder.nit:1350 */
10389 if (!once_value_2
) {
10390 fra
.me
.REG
[6] = BOX_NativeString("Error: A vararg parameter is already defined.");
10391 REGB3
= TAG_Int(45);
10392 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB3
);
10393 once_value_2
= fra
.me
.REG
[6];
10394 register_static_object(&once_value_2
);
10395 } else fra
.me
.REG
[6] = once_value_2
;
10396 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10397 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[6]);
10399 /* syntax/mmbuilder.nit:1352 */
10400 fra
.me
.REG
[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
10401 fra
.me
.REG
[0] = fra
.me
.REG
[6];
10403 /* syntax/mmbuilder.nit:1354 */
10404 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AParam___variable(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
10405 CALL_syntax___syntax_base___Variable___stype__eq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
10406 /* ../lib/standard/collection/array.nit:274 */
10407 REGB3
= TAG_Int(1);
10408 /* ../lib/standard/kernel.nit:238 */
10409 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
10410 /* ../lib/standard/collection/array.nit:274 */
10413 /* ../lib/standard/collection/array.nit:272 */
10418 /* syntax/mmbuilder.nit:1356 */
10419 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10420 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10421 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10424 stack_frame_head
= fra
.me
.prev
;
10427 static const char LOCATE_syntax___mmbuilder___AParam___is_vararg
[] = "mmbuilder::AParam::is_vararg";
10428 val_t
syntax___mmbuilder___AParam___is_vararg(val_t p0
){
10429 struct {struct stack_frame_t me
;} fra
;
10433 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10434 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10435 fra
.me
.line
= 1360;
10436 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___is_vararg
;
10437 fra
.me
.has_broke
= 0;
10438 fra
.me
.REG_size
= 1;
10439 fra
.me
.nitni_local_ref_head
= NULL
;
10440 fra
.me
.REG
[0] = NIT_NULL
;
10441 fra
.me
.REG
[0] = p0
;
10442 /* syntax/mmbuilder.nit:1360 */
10443 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_dotdotdot(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10444 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10445 if (UNTAG_Bool(REGB0
)) {
10447 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10448 if (UNTAG_Bool(REGB1
)) {
10449 REGB1
= TAG_Bool(0);
10452 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
10456 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10459 stack_frame_head
= fra
.me
.prev
;
10462 static const char LOCATE_syntax___mmbuilder___AClosureDecl___position
[] = "mmbuilder::AClosureDecl::(syntax_base::AClosureDecl::position)";
10463 val_t
syntax___mmbuilder___AClosureDecl___position(val_t p0
){
10464 struct {struct stack_frame_t me
;} fra
;
10467 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10468 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10469 fra
.me
.line
= 1364;
10470 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClosureDecl___position
;
10471 fra
.me
.has_broke
= 0;
10472 fra
.me
.REG_size
= 1;
10473 fra
.me
.nitni_local_ref_head
= NULL
;
10474 fra
.me
.REG
[0] = NIT_NULL
;
10475 fra
.me
.REG
[0] = p0
;
10476 /* syntax/mmbuilder.nit:1364 */
10477 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___AClosureDecl____position(fra
.me
.REG
[0])!=NIT_NULL
);
10478 if (UNTAG_Bool(REGB0
)) {
10480 nit_abort("Uninitialized attribute %s", "_position", LOCATE_syntax___mmbuilder
, 1364);
10482 REGB0
= ATTR_syntax___mmbuilder___AClosureDecl____position(fra
.me
.REG
[0]);
10483 stack_frame_head
= fra
.me
.prev
;
10486 static const char LOCATE_syntax___mmbuilder___AClosureDecl___variable
[] = "mmbuilder::AClosureDecl::(syntax_base::AClosureDecl::variable)";
10487 val_t
syntax___mmbuilder___AClosureDecl___variable(val_t p0
){
10488 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10491 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10492 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10493 fra
.me
.line
= 1366;
10494 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClosureDecl___variable
;
10495 fra
.me
.has_broke
= 0;
10496 fra
.me
.REG_size
= 2;
10497 fra
.me
.nitni_local_ref_head
= NULL
;
10498 fra
.me
.REG
[0] = NIT_NULL
;
10499 fra
.me
.REG
[1] = NIT_NULL
;
10500 fra
.me
.REG
[0] = p0
;
10501 /* syntax/mmbuilder.nit:1366 */
10502 fra
.me
.REG
[1] = fra
.me
.REG
[0];
10503 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AClosureDecl____variable(fra
.me
.REG
[1]);
10504 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
10505 if (UNTAG_Bool(REGB0
)) {
10507 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1366);
10511 stack_frame_head
= fra
.me
.prev
;
10512 return fra
.me
.REG
[1];
10514 static const char LOCATE_syntax___mmbuilder___AClosureDecl___accept_property_verifier
[] = "mmbuilder::AClosureDecl::(mmbuilder::ANode::accept_property_verifier)";
10515 void syntax___mmbuilder___AClosureDecl___accept_property_verifier(val_t p0
, val_t p1
){
10516 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
10521 static val_t once_value_2
; /* Once value */
10522 static val_t once_value_3
; /* Once value */
10523 static val_t once_value_4
; /* Once value */
10524 static val_t once_value_5
; /* Once value */
10525 static val_t once_value_6
; /* Once value */
10526 static val_t once_value_7
; /* Once value */
10527 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10528 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10529 fra
.me
.line
= 1369;
10530 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClosureDecl___accept_property_verifier
;
10531 fra
.me
.has_broke
= 0;
10532 fra
.me
.REG_size
= 11;
10533 fra
.me
.nitni_local_ref_head
= NULL
;
10534 fra
.me
.REG
[0] = NIT_NULL
;
10535 fra
.me
.REG
[1] = NIT_NULL
;
10536 fra
.me
.REG
[2] = NIT_NULL
;
10537 fra
.me
.REG
[3] = NIT_NULL
;
10538 fra
.me
.REG
[4] = NIT_NULL
;
10539 fra
.me
.REG
[5] = NIT_NULL
;
10540 fra
.me
.REG
[6] = NIT_NULL
;
10541 fra
.me
.REG
[7] = NIT_NULL
;
10542 fra
.me
.REG
[8] = NIT_NULL
;
10543 fra
.me
.REG
[9] = NIT_NULL
;
10544 fra
.me
.REG
[10] = NIT_NULL
;
10545 fra
.me
.REG
[0] = p0
;
10546 fra
.me
.REG
[1] = p1
;
10547 /* syntax/mmbuilder.nit:1369 */
10548 fra
.me
.REG
[2] = fra
.me
.REG
[0];
10549 fra
.me
.REG
[3] = fra
.me
.REG
[1];
10550 /* syntax/mmbuilder.nit:1371 */
10551 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10552 /* syntax/mmbuilder.nit:1372 */
10553 fra
.me
.REG
[5] = NEW_SignatureBuilder_syntax___mmbuilder___SignatureBuilder___init();
10554 CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
10555 /* syntax/mmbuilder.nit:1373 */
10556 CALL_SUPER_syntax___mmbuilder___AClosureDecl___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
10557 /* syntax/mmbuilder.nit:1374 */
10558 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10559 REGB0
= CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10560 if (UNTAG_Bool(REGB0
)) {
10561 /* syntax/mmbuilder.nit:1375 */
10564 /* syntax/mmbuilder.nit:1377 */
10565 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10566 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10567 /* syntax/mmbuilder.nit:1378 */
10568 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10569 if (UNTAG_Bool(REGB0
)) {
10571 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10572 if (UNTAG_Bool(REGB1
)) {
10573 REGB1
= TAG_Bool(0);
10576 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
10580 if (UNTAG_Bool(REGB0
)) {
10581 /* syntax/mmbuilder.nit:1379 */
10582 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
10583 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10584 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
10585 fra
.me
.REG
[5] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[5]);
10586 fra
.me
.REG
[1] = fra
.me
.REG
[5];
10588 /* syntax/mmbuilder.nit:1381 */
10589 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10590 if (UNTAG_Bool(REGB0
)) {
10591 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1381);
10593 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10594 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10595 if (UNTAG_Bool(REGB0
)) {
10597 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10598 if (UNTAG_Bool(REGB1
)) {
10599 REGB1
= TAG_Bool(0);
10602 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
10606 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10607 if (UNTAG_Bool(REGB0
)) {
10608 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AClosureDecl___n_kwbreak(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10609 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10610 if (UNTAG_Bool(REGB0
)) {
10612 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10613 if (UNTAG_Bool(REGB1
)) {
10614 REGB1
= TAG_Bool(0);
10617 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
10621 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10623 REGB1
= TAG_Bool(0);
10626 if (UNTAG_Bool(REGB0
)) {
10627 /* syntax/mmbuilder.nit:1382 */
10628 if (!once_value_2
) {
10629 fra
.me
.REG
[5] = BOX_NativeString("Syntax Error: A break block cannot have a return value.");
10630 REGB0
= TAG_Int(55);
10631 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
10632 once_value_2
= fra
.me
.REG
[5];
10633 register_static_object(&once_value_2
);
10634 } else fra
.me
.REG
[5] = once_value_2
;
10635 fra
.me
.REG
[5] = fra
.me
.REG
[5];
10636 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[5]);
10638 /* syntax/mmbuilder.nit:1386 */
10639 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___init();
10640 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10641 fra
.me
.REG
[0] = CALL_metamodel___inheritance___MMModule___type_any(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10642 fra
.me
.REG
[0] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[5], NIT_NULL
, fra
.me
.REG
[0]);
10643 /* syntax/mmbuilder.nit:1387 */
10644 if (!once_value_3
) {
10645 if (!once_value_4
) {
10646 fra
.me
.REG
[5] = BOX_NativeString("break");
10647 REGB0
= TAG_Int(5);
10648 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
10649 once_value_4
= fra
.me
.REG
[5];
10650 register_static_object(&once_value_4
);
10651 } else fra
.me
.REG
[5] = once_value_4
;
10652 fra
.me
.REG
[5] = fra
.me
.REG
[5];
10653 fra
.me
.REG
[5] = CALL_symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
10654 once_value_3
= fra
.me
.REG
[5];
10655 register_static_object(&once_value_3
);
10656 } else fra
.me
.REG
[5] = once_value_3
;
10657 fra
.me
.REG
[5] = fra
.me
.REG
[5];
10658 REGB0
= TAG_Bool(0);
10659 REGB1
= TAG_Bool(1);
10660 fra
.me
.REG
[0] = NEW_MMClosure_metamodel___static_type___MMClosure___init(fra
.me
.REG
[5], fra
.me
.REG
[0], REGB0
, REGB1
);
10661 /* syntax/mmbuilder.nit:1388 */
10662 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10663 if (UNTAG_Bool(REGB1
)) {
10664 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1388);
10666 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10667 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
10668 /* syntax/mmbuilder.nit:1390 */
10669 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10670 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10671 /* syntax/mmbuilder.nit:1391 */
10672 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AClosureDecl___n_kwbreak(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10673 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10674 if (UNTAG_Bool(REGB1
)) {
10676 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10677 if (UNTAG_Bool(REGB0
)) {
10678 REGB0
= TAG_Bool(0);
10681 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
10685 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
10686 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AClosureDecl___n_expr(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10687 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10688 if (UNTAG_Bool(REGB0
)) {
10690 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10691 if (UNTAG_Bool(REGB2
)) {
10692 REGB2
= TAG_Bool(0);
10695 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
10699 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10700 fra
.me
.REG
[1] = NEW_MMClosure_metamodel___static_type___MMClosure___init(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB1
, REGB0
);
10701 /* syntax/mmbuilder.nit:1392 */
10702 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10703 /* ../lib/standard/collection/array.nit:269 */
10704 REGB0
= TAG_Int(0);
10705 /* ../lib/standard/collection/array.nit:270 */
10706 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
10707 if (UNTAG_Bool(REGB1
)) {
10709 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
10711 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
10712 /* ../lib/standard/collection/array.nit:271 */
10713 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
10714 /* ../lib/standard/collection/array.nit:272 */
10716 /* ../lib/standard/collection/array.nit:24 */
10717 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
10718 if (UNTAG_Bool(REGB1
)) {
10720 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
10722 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
10723 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
10724 if (UNTAG_Bool(REGB2
)) {
10726 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10728 /* ../lib/standard/kernel.nit:235 */
10729 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
10730 /* ../lib/standard/collection/array.nit:272 */
10731 if (UNTAG_Bool(REGB1
)) {
10732 /* ../lib/standard/collection/array.nit:273 */
10733 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
10734 if (UNTAG_Bool(REGB1
)) {
10735 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
10737 /* ../lib/standard/collection/array.nit:718 */
10738 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
10739 /* syntax/mmbuilder.nit:1393 */
10740 fra
.me
.REG
[8] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
10741 fra
.me
.REG
[8] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
10742 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[8],fra
.me
.REG
[0]));
10743 if (UNTAG_Bool(REGB1
)) {
10745 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
10748 if (UNTAG_Bool(REGB1
)) {
10749 /* syntax/mmbuilder.nit:1394 */
10750 fra
.me
.REG
[8] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10751 REGB1
= TAG_Int(5);
10752 fra
.me
.REG
[9] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10753 if (!once_value_5
) {
10754 fra
.me
.REG
[10] = BOX_NativeString("Error: A closure '!");
10755 REGB1
= TAG_Int(19);
10756 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
10757 once_value_5
= fra
.me
.REG
[10];
10758 register_static_object(&once_value_5
);
10759 } else fra
.me
.REG
[10] = once_value_5
;
10760 fra
.me
.REG
[10] = fra
.me
.REG
[10];
10761 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10762 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10763 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10764 if (!once_value_6
) {
10765 fra
.me
.REG
[10] = BOX_NativeString("' already defined at ");
10766 REGB1
= TAG_Int(21);
10767 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
10768 once_value_6
= fra
.me
.REG
[10];
10769 register_static_object(&once_value_6
);
10770 } else fra
.me
.REG
[10] = once_value_6
;
10771 fra
.me
.REG
[10] = fra
.me
.REG
[10];
10772 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10773 fra
.me
.REG
[7] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
10774 fra
.me
.REG
[7] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
10775 fra
.me
.REG
[10] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10776 fra
.me
.REG
[10] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
10777 fra
.me
.REG
[10] = CALL_location___Location___relative_to(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
10778 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10779 if (!once_value_7
) {
10780 fra
.me
.REG
[10] = BOX_NativeString(".");
10781 REGB1
= TAG_Int(1);
10782 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
10783 once_value_7
= fra
.me
.REG
[10];
10784 register_static_object(&once_value_7
);
10785 } else fra
.me
.REG
[10] = once_value_7
;
10786 fra
.me
.REG
[10] = fra
.me
.REG
[10];
10787 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10788 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
10789 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[8], fra
.me
.REG
[9]);
10790 /* syntax/mmbuilder.nit:1395 */
10793 /* ../lib/standard/collection/array.nit:274 */
10794 REGB1
= TAG_Int(1);
10795 /* ../lib/standard/kernel.nit:238 */
10796 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
10797 /* ../lib/standard/collection/array.nit:274 */
10800 /* ../lib/standard/collection/array.nit:272 */
10805 /* syntax/mmbuilder.nit:1398 */
10806 CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
10807 /* syntax/mmbuilder.nit:1399 */
10808 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10809 /* ../lib/standard/collection/array.nit:24 */
10810 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
10811 if (UNTAG_Bool(REGB0
)) {
10813 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
10815 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
10816 /* syntax/mmbuilder.nit:1399 */
10817 ATTR_syntax___mmbuilder___AClosureDecl____position(fra
.me
.REG
[2]) = REGB0
;
10818 /* syntax/mmbuilder.nit:1400 */
10819 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10820 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
10821 /* syntax/mmbuilder.nit:1401 */
10822 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10823 fra
.me
.REG
[4] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10824 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10825 fra
.me
.REG
[1] = NEW_ClosureVariable_syntax___syntax_base___ClosureVariable___init(fra
.me
.REG
[4], fra
.me
.REG
[3], fra
.me
.REG
[1]);
10826 ATTR_syntax___mmbuilder___AClosureDecl____variable(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
10828 stack_frame_head
= fra
.me
.prev
;
10831 static const char LOCATE_syntax___mmbuilder___AType___check_visibility
[] = "mmbuilder::AType::check_visibility";
10832 void syntax___mmbuilder___AType___check_visibility(val_t p0
, val_t p1
, val_t p2
){
10833 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
10838 static val_t once_value_2
; /* Once value */
10839 static val_t once_value_3
; /* Once value */
10840 static val_t once_value_4
; /* Once value */
10841 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10842 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10843 fra
.me
.line
= 1406;
10844 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AType___check_visibility
;
10845 fra
.me
.has_broke
= 0;
10846 fra
.me
.REG_size
= 6;
10847 fra
.me
.nitni_local_ref_head
= NULL
;
10848 fra
.me
.REG
[0] = NIT_NULL
;
10849 fra
.me
.REG
[1] = NIT_NULL
;
10850 fra
.me
.REG
[2] = NIT_NULL
;
10851 fra
.me
.REG
[3] = NIT_NULL
;
10852 fra
.me
.REG
[4] = NIT_NULL
;
10853 fra
.me
.REG
[5] = NIT_NULL
;
10854 fra
.me
.REG
[0] = p0
;
10855 fra
.me
.REG
[1] = p1
;
10856 fra
.me
.REG
[2] = p2
;
10857 /* syntax/mmbuilder.nit:1409 */
10858 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10859 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10860 REGB1
= TAG_Int(3);
10861 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
10862 if (UNTAG_Bool(REGB2
)) {
10864 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10866 /* ../lib/standard/kernel.nit:236 */
10867 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
10868 /* syntax/mmbuilder.nit:1409 */
10869 if (UNTAG_Bool(REGB1
)) {
10872 /* syntax/mmbuilder.nit:1410 */
10873 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
10874 /* syntax/mmbuilder.nit:1411 */
10875 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10876 if (UNTAG_Bool(REGB1
)) {
10878 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10879 if (UNTAG_Bool(REGB0
)) {
10880 REGB0
= TAG_Bool(0);
10883 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
10887 if (UNTAG_Bool(REGB1
)) {
10890 /* syntax/mmbuilder.nit:1412 */
10891 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10892 if (UNTAG_Bool(REGB1
)) {
10893 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1412);
10895 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10896 /* syntax/mmbuilder.nit:1413 */
10897 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10898 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10899 REGB0
= TAG_Int(3);
10900 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10901 if (UNTAG_Bool(REGB2
)) {
10903 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10905 /* ../lib/standard/kernel.nit:236 */
10906 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
10907 /* syntax/mmbuilder.nit:1413 */
10908 if (UNTAG_Bool(REGB0
)) {
10909 /* syntax/mmbuilder.nit:1414 */
10910 REGB0
= TAG_Int(5);
10911 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
10912 if (!once_value_2
) {
10913 fra
.me
.REG
[5] = BOX_NativeString("Access error: Class ");
10914 REGB0
= TAG_Int(20);
10915 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
10916 once_value_2
= fra
.me
.REG
[5];
10917 register_static_object(&once_value_2
);
10918 } else fra
.me
.REG
[5] = once_value_2
;
10919 fra
.me
.REG
[5] = fra
.me
.REG
[5];
10920 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
10921 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10922 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
10923 if (!once_value_3
) {
10924 fra
.me
.REG
[3] = BOX_NativeString(" is private and cannot be used in the signature of the non-private property ");
10925 REGB0
= TAG_Int(76);
10926 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
10927 once_value_3
= fra
.me
.REG
[3];
10928 register_static_object(&once_value_3
);
10929 } else fra
.me
.REG
[3] = once_value_3
;
10930 fra
.me
.REG
[3] = fra
.me
.REG
[3];
10931 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
10932 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10933 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
10934 if (!once_value_4
) {
10935 fra
.me
.REG
[3] = BOX_NativeString(".");
10936 REGB0
= TAG_Int(1);
10937 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
10938 once_value_4
= fra
.me
.REG
[3];
10939 register_static_object(&once_value_4
);
10940 } else fra
.me
.REG
[3] = once_value_4
;
10941 fra
.me
.REG
[3] = fra
.me
.REG
[3];
10942 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
10943 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10944 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
10946 /* syntax/mmbuilder.nit:1416 */
10947 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AType___n_types(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10948 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___AType___check_visibility_5
));
10950 stack_frame_head
= fra
.me
.prev
;
10953 void OC_syntax___mmbuilder___AType___check_visibility_5(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
10954 struct {struct stack_frame_t me
;} fra
;
10957 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10958 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10960 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AType___check_visibility
;
10961 fra
.me
.has_broke
= 0;
10962 fra
.me
.REG_size
= 1;
10963 fra
.me
.nitni_local_ref_head
= NULL
;
10964 fra
.me
.REG
[0] = NIT_NULL
;
10965 fra
.me
.closure_ctx
= closctx_param
;
10966 fra
.me
.closure_funs
= CREG
;
10967 fra
.me
.REG
[0] = p0
;
10968 CREG
[0] = clos_fun0
;
10969 /* syntax/mmbuilder.nit:1417 */
10970 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1], closctx
->REG
[2]);
10971 stack_frame_head
= fra
.me
.prev
;
10974 static const char LOCATE_syntax___mmbuilder___AExpr___accept_class_builder
[] = "mmbuilder::AExpr::(mmbuilder::ANode::accept_class_builder)";
10975 void syntax___mmbuilder___AExpr___accept_class_builder(val_t p0
, val_t p1
){
10976 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10978 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10979 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10980 fra
.me
.line
= 1423;
10981 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExpr___accept_class_builder
;
10982 fra
.me
.has_broke
= 0;
10983 fra
.me
.REG_size
= 2;
10984 fra
.me
.nitni_local_ref_head
= NULL
;
10985 fra
.me
.REG
[0] = NIT_NULL
;
10986 fra
.me
.REG
[1] = NIT_NULL
;
10987 fra
.me
.REG
[0] = p0
;
10988 fra
.me
.REG
[1] = p1
;
10989 stack_frame_head
= fra
.me
.prev
;
10992 static const char LOCATE_syntax___mmbuilder___AExpr___accept_property_builder
[] = "mmbuilder::AExpr::(mmbuilder::ANode::accept_property_builder)";
10993 void syntax___mmbuilder___AExpr___accept_property_builder(val_t p0
, val_t p1
){
10994 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10996 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10997 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10998 fra
.me
.line
= 1424;
10999 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExpr___accept_property_builder
;
11000 fra
.me
.has_broke
= 0;
11001 fra
.me
.REG_size
= 2;
11002 fra
.me
.nitni_local_ref_head
= NULL
;
11003 fra
.me
.REG
[0] = NIT_NULL
;
11004 fra
.me
.REG
[1] = NIT_NULL
;
11005 fra
.me
.REG
[0] = p0
;
11006 fra
.me
.REG
[1] = p1
;
11007 stack_frame_head
= fra
.me
.prev
;
11010 static const char LOCATE_syntax___mmbuilder___AExpr___accept_property_verifier
[] = "mmbuilder::AExpr::(mmbuilder::ANode::accept_property_verifier)";
11011 void syntax___mmbuilder___AExpr___accept_property_verifier(val_t p0
, val_t p1
){
11012 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
11014 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
11015 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
11016 fra
.me
.line
= 1425;
11017 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExpr___accept_property_verifier
;
11018 fra
.me
.has_broke
= 0;
11019 fra
.me
.REG_size
= 2;
11020 fra
.me
.nitni_local_ref_head
= NULL
;
11021 fra
.me
.REG
[0] = NIT_NULL
;
11022 fra
.me
.REG
[1] = NIT_NULL
;
11023 fra
.me
.REG
[0] = p0
;
11024 fra
.me
.REG
[1] = p1
;
11025 stack_frame_head
= fra
.me
.prev
;
11028 static const char LOCATE_syntax___mmbuilder___AExpr___get_easy_stype
[] = "mmbuilder::AExpr::get_easy_stype";
11029 val_t
syntax___mmbuilder___AExpr___get_easy_stype(val_t p0
, val_t p1
){
11030 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
11032 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
11033 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
11034 fra
.me
.line
= 1427;
11035 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExpr___get_easy_stype
;
11036 fra
.me
.has_broke
= 0;
11037 fra
.me
.REG_size
= 2;
11038 fra
.me
.nitni_local_ref_head
= NULL
;
11039 fra
.me
.REG
[0] = NIT_NULL
;
11040 fra
.me
.REG
[1] = NIT_NULL
;
11041 fra
.me
.REG
[0] = p0
;
11042 fra
.me
.REG
[1] = p1
;
11043 /* syntax/mmbuilder.nit:1427 */
11044 fra
.me
.REG
[1] = NIT_NULL
;
11047 stack_frame_head
= fra
.me
.prev
;
11048 return fra
.me
.REG
[1];
11050 static const char LOCATE_syntax___mmbuilder___ABoolExpr___get_easy_stype
[] = "mmbuilder::ABoolExpr::(mmbuilder::AExpr::get_easy_stype)";
11051 val_t
syntax___mmbuilder___ABoolExpr___get_easy_stype(val_t p0
, val_t p1
){
11052 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
11054 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
11055 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
11056 fra
.me
.line
= 1431;
11057 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ABoolExpr___get_easy_stype
;
11058 fra
.me
.has_broke
= 0;
11059 fra
.me
.REG_size
= 2;
11060 fra
.me
.nitni_local_ref_head
= NULL
;
11061 fra
.me
.REG
[0] = NIT_NULL
;
11062 fra
.me
.REG
[1] = NIT_NULL
;
11063 fra
.me
.REG
[0] = p0
;
11064 fra
.me
.REG
[1] = p1
;
11065 /* syntax/mmbuilder.nit:1431 */
11066 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_bool(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
11069 stack_frame_head
= fra
.me
.prev
;
11070 return fra
.me
.REG
[1];
11072 static const char LOCATE_syntax___mmbuilder___AStringExpr___get_easy_stype
[] = "mmbuilder::AStringExpr::(mmbuilder::AExpr::get_easy_stype)";
11073 val_t
syntax___mmbuilder___AStringExpr___get_easy_stype(val_t p0
, val_t p1
){
11074 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
11076 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
11077 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
11078 fra
.me
.line
= 1435;
11079 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStringExpr___get_easy_stype
;
11080 fra
.me
.has_broke
= 0;
11081 fra
.me
.REG_size
= 2;
11082 fra
.me
.nitni_local_ref_head
= NULL
;
11083 fra
.me
.REG
[0] = NIT_NULL
;
11084 fra
.me
.REG
[1] = NIT_NULL
;
11085 fra
.me
.REG
[0] = p0
;
11086 fra
.me
.REG
[1] = p1
;
11087 /* syntax/mmbuilder.nit:1435 */
11088 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_string(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
11091 stack_frame_head
= fra
.me
.prev
;
11092 return fra
.me
.REG
[1];
11094 static const char LOCATE_syntax___mmbuilder___ACharExpr___get_easy_stype
[] = "mmbuilder::ACharExpr::(mmbuilder::AExpr::get_easy_stype)";
11095 val_t
syntax___mmbuilder___ACharExpr___get_easy_stype(val_t p0
, val_t p1
){
11096 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
11098 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
11099 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
11100 fra
.me
.line
= 1439;
11101 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ACharExpr___get_easy_stype
;
11102 fra
.me
.has_broke
= 0;
11103 fra
.me
.REG_size
= 2;
11104 fra
.me
.nitni_local_ref_head
= NULL
;
11105 fra
.me
.REG
[0] = NIT_NULL
;
11106 fra
.me
.REG
[1] = NIT_NULL
;
11107 fra
.me
.REG
[0] = p0
;
11108 fra
.me
.REG
[1] = p1
;
11109 /* syntax/mmbuilder.nit:1439 */
11110 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_char(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
11113 stack_frame_head
= fra
.me
.prev
;
11114 return fra
.me
.REG
[1];
11116 static const char LOCATE_syntax___mmbuilder___AIntExpr___get_easy_stype
[] = "mmbuilder::AIntExpr::(mmbuilder::AExpr::get_easy_stype)";
11117 val_t
syntax___mmbuilder___AIntExpr___get_easy_stype(val_t p0
, val_t p1
){
11118 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
11120 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
11121 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
11122 fra
.me
.line
= 1443;
11123 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AIntExpr___get_easy_stype
;
11124 fra
.me
.has_broke
= 0;
11125 fra
.me
.REG_size
= 2;
11126 fra
.me
.nitni_local_ref_head
= NULL
;
11127 fra
.me
.REG
[0] = NIT_NULL
;
11128 fra
.me
.REG
[1] = NIT_NULL
;
11129 fra
.me
.REG
[0] = p0
;
11130 fra
.me
.REG
[1] = p1
;
11131 /* syntax/mmbuilder.nit:1443 */
11132 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_int(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
11135 stack_frame_head
= fra
.me
.prev
;
11136 return fra
.me
.REG
[1];
11138 static const char LOCATE_syntax___mmbuilder___AFloatExpr___get_easy_stype
[] = "mmbuilder::AFloatExpr::(mmbuilder::AExpr::get_easy_stype)";
11139 val_t
syntax___mmbuilder___AFloatExpr___get_easy_stype(val_t p0
, val_t p1
){
11140 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
11142 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
11143 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
11144 fra
.me
.line
= 1447;
11145 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AFloatExpr___get_easy_stype
;
11146 fra
.me
.has_broke
= 0;
11147 fra
.me
.REG_size
= 2;
11148 fra
.me
.nitni_local_ref_head
= NULL
;
11149 fra
.me
.REG
[0] = NIT_NULL
;
11150 fra
.me
.REG
[1] = NIT_NULL
;
11151 fra
.me
.REG
[0] = p0
;
11152 fra
.me
.REG
[1] = p1
;
11153 /* syntax/mmbuilder.nit:1447 */
11154 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_float(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
11157 stack_frame_head
= fra
.me
.prev
;
11158 return fra
.me
.REG
[1];
11160 static const char LOCATE_syntax___mmbuilder___ANewExpr___get_easy_stype
[] = "mmbuilder::ANewExpr::(mmbuilder::AExpr::get_easy_stype)";
11161 val_t
syntax___mmbuilder___ANewExpr___get_easy_stype(val_t p0
, val_t p1
){
11162 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
11164 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
11165 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
11166 fra
.me
.line
= 1451;
11167 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANewExpr___get_easy_stype
;
11168 fra
.me
.has_broke
= 0;
11169 fra
.me
.REG_size
= 2;
11170 fra
.me
.nitni_local_ref_head
= NULL
;
11171 fra
.me
.REG
[0] = NIT_NULL
;
11172 fra
.me
.REG
[1] = NIT_NULL
;
11173 fra
.me
.REG
[0] = p0
;
11174 fra
.me
.REG
[1] = p1
;
11175 /* syntax/mmbuilder.nit:1451 */
11176 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ANewExpr___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
11177 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
11180 stack_frame_head
= fra
.me
.prev
;
11181 return fra
.me
.REG
[1];