1 /* This C file is generated by NIT to compile module syntax___mmbuilder. */
2 #include "syntax___mmbuilder._sep.h"
3 void syntax___mmbuilder___ToolContext___handle_property_conflict(val_t p0
, val_t p1
, val_t p2
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
9 static val_t once_value_2
; /* Once value */
10 static val_t once_value_3
; /* Once value */
11 static val_t once_value_4
; /* Once value */
12 static val_t once_value_5
; /* Once value */
13 static val_t once_value_6
; /* Once value */
14 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
17 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ToolContext___handle_property_conflict
;
20 fra
.me
.nitni_local_ref_head
= NULL
;
21 fra
.me
.REG
[0] = NIT_NULL
;
22 fra
.me
.REG
[1] = NIT_NULL
;
23 fra
.me
.REG
[2] = NIT_NULL
;
24 fra
.me
.REG
[3] = NIT_NULL
;
25 fra
.me
.REG
[4] = NIT_NULL
;
26 fra
.me
.REG
[5] = NIT_NULL
;
27 fra
.me
.REG
[6] = NIT_NULL
;
28 fra
.me
.REG
[7] = NIT_NULL
;
32 /* syntax/mmbuilder.nit:28 */
33 fra
.me
.REG
[3] = NIT_NULL
;
34 /* syntax/mmbuilder.nit:29 */
35 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], COLOR_syntax___syntax_base___MMSrcLocalClass
, ID_syntax___syntax_base___MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
36 if (UNTAG_Bool(REGB0
)) {
37 /* syntax/mmbuilder.nit:30 */
38 fra
.me
.REG
[4] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
39 /* syntax/mmbuilder.nit:31 */
40 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
41 if (UNTAG_Bool(REGB0
)) {
43 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
44 if (UNTAG_Bool(REGB1
)) {
45 REGB1
= TAG_Bool(false);
48 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
52 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
53 if (UNTAG_Bool(REGB0
)) {
54 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
55 if (UNTAG_Bool(REGB0
)) {
56 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 31);
58 CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
61 /* syntax/mmbuilder.nit:34 */
62 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___init();
63 /* ../lib/standard/collection/array.nit:266 */
64 fra
.me
.REG
[5] = fra
.me
.REG
[2];
65 /* ../lib/standard/collection/array.nit:269 */
67 /* ../lib/standard/collection/array.nit:270 */
68 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
69 if (UNTAG_Bool(REGB1
)) {
71 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
73 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
74 /* ../lib/standard/collection/array.nit:271 */
75 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
76 /* ../lib/standard/collection/array.nit:272 */
78 /* ../lib/standard/collection/array.nit:24 */
79 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
80 if (UNTAG_Bool(REGB1
)) {
82 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
84 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
85 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
86 if (UNTAG_Bool(REGB2
)) {
88 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
90 /* ../lib/standard/kernel.nit:232 */
91 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
92 /* ../lib/standard/collection/array.nit:272 */
93 if (UNTAG_Bool(REGB1
)) {
94 /* ../lib/standard/collection/array.nit:273 */
95 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
96 if (UNTAG_Bool(REGB1
)) {
97 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
99 /* ../lib/standard/collection/array.nit:718 */
100 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
101 /* syntax/mmbuilder.nit:36 */
102 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
103 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
104 /* ../lib/standard/collection/array.nit:274 */
106 /* ../lib/standard/kernel.nit:235 */
107 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
108 /* ../lib/standard/collection/array.nit:274 */
111 /* ../lib/standard/collection/array.nit:272 */
116 /* syntax/mmbuilder.nit:38 */
118 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
120 fra
.me
.REG
[5] = BOX_NativeString("Property inheritance conflict in class ");
122 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
123 once_value_2
= fra
.me
.REG
[5];
124 register_static_object(&once_value_2
);
125 } else fra
.me
.REG
[5] = once_value_2
;
126 fra
.me
.REG
[5] = fra
.me
.REG
[5];
127 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
128 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
129 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1]);
131 fra
.me
.REG
[1] = BOX_NativeString(" for `");
133 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
134 once_value_3
= fra
.me
.REG
[1];
135 register_static_object(&once_value_3
);
136 } else fra
.me
.REG
[1] = once_value_3
;
137 fra
.me
.REG
[1] = fra
.me
.REG
[1];
138 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1]);
139 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
140 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
141 if (UNTAG_Bool(REGB0
)) {
142 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 38);
144 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
145 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
146 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
148 fra
.me
.REG
[2] = BOX_NativeString("': conflicting properties are defined in ");
150 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
151 once_value_4
= fra
.me
.REG
[2];
152 register_static_object(&once_value_4
);
153 } else fra
.me
.REG
[2] = once_value_4
;
154 fra
.me
.REG
[2] = fra
.me
.REG
[2];
155 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
157 fra
.me
.REG
[2] = BOX_NativeString(", ");
159 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
160 once_value_5
= fra
.me
.REG
[2];
161 register_static_object(&once_value_5
);
162 } else fra
.me
.REG
[2] = once_value_5
;
163 fra
.me
.REG
[2] = fra
.me
.REG
[2];
164 fra
.me
.REG
[2] = CALL_standard___string___Collection___join(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
165 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
167 fra
.me
.REG
[2] = BOX_NativeString("");
169 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
170 once_value_6
= fra
.me
.REG
[2];
171 register_static_object(&once_value_6
);
172 } else fra
.me
.REG
[2] = once_value_6
;
173 fra
.me
.REG
[2] = fra
.me
.REG
[2];
174 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
175 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
176 CALL_toolcontext___ToolContext___fatal_error(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], fra
.me
.REG
[6]);
177 stack_frame_head
= fra
.me
.prev
;
180 val_t
syntax___mmbuilder___CSHSorter___compare(val_t p0
, val_t p1
, val_t p2
){
181 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
185 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
186 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
188 fra
.me
.meth
= LOCATE_syntax___mmbuilder___CSHSorter___compare
;
189 fra
.me
.has_broke
= 0;
191 fra
.me
.nitni_local_ref_head
= NULL
;
192 fra
.me
.REG
[0] = NIT_NULL
;
193 fra
.me
.REG
[1] = NIT_NULL
;
194 fra
.me
.REG
[2] = NIT_NULL
;
198 /* syntax/mmbuilder.nit:47 */
199 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
200 REGB0
= CALL_metamodel___partial_order___PartialOrderElement___rank(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
201 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
202 REGB1
= CALL_metamodel___partial_order___PartialOrderElement___rank(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
203 REGB1
= CALL_standard___kernel___Comparable_____leqg(REGB0
)(REGB0
, REGB1
);
206 stack_frame_head
= fra
.me
.prev
;
209 void syntax___mmbuilder___CSHSorter___init(val_t p0
, int* init_table
){
210 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___CSHSorter
].i
;
211 struct {struct stack_frame_t me
;} fra
;
213 if (init_table
[itpos0
]) return;
214 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
215 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
217 fra
.me
.meth
= LOCATE_syntax___mmbuilder___CSHSorter___init
;
218 fra
.me
.has_broke
= 0;
220 fra
.me
.nitni_local_ref_head
= NULL
;
221 fra
.me
.REG
[0] = NIT_NULL
;
223 stack_frame_head
= fra
.me
.prev
;
224 init_table
[itpos0
] = 1;
227 void syntax___mmbuilder___MMSrcModule___do_mmbuilder(val_t p0
, val_t p1
){
228 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
233 static val_t once_value_3
; /* Once value */
234 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
235 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
237 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcModule___do_mmbuilder
;
238 fra
.me
.has_broke
= 0;
240 fra
.me
.nitni_local_ref_head
= NULL
;
241 fra
.me
.REG
[0] = NIT_NULL
;
242 fra
.me
.REG
[1] = NIT_NULL
;
243 fra
.me
.REG
[2] = NIT_NULL
;
244 fra
.me
.REG
[3] = NIT_NULL
;
245 fra
.me
.REG
[4] = NIT_NULL
;
246 fra
.me
.REG
[5] = NIT_NULL
;
247 fra
.me
.REG
[6] = NIT_NULL
;
248 fra
.me
.REG
[7] = NIT_NULL
;
251 /* syntax/mmbuilder.nit:59 */
252 CALL_metamodel___inheritance___MMModule___import_global_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
253 /* syntax/mmbuilder.nit:62 */
254 fra
.me
.REG
[2] = NEW_ClassBuilderVisitor_syntax___mmbuilder___ClassBuilderVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
255 /* syntax/mmbuilder.nit:63 */
256 fra
.me
.REG
[3] = CALL_syntax___syntax_base___MMSrcModule___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
257 CALL_parser___parser_prod___Visitor___enter_visit(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
258 /* syntax/mmbuilder.nit:64 */
259 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
260 /* syntax/mmbuilder.nit:66 */
261 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___mhe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
262 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
263 if (UNTAG_Bool(REGB0
)) {
264 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 66);
266 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
267 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
268 if (UNTAG_Bool(REGB0
)) {
269 /* syntax/mmbuilder.nit:67 */
270 CALL_syntax___mmbuilder___MMSrcModule___process_default_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
272 /* syntax/mmbuilder.nit:71 */
273 CALL_metamodel___inheritance___MMModule___import_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
274 /* syntax/mmbuilder.nit:74 */
275 fra
.me
.REG
[3] = NEW_ClassSpecializationBuilderVisitor_syntax___mmbuilder___ClassSpecializationBuilderVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
276 /* syntax/mmbuilder.nit:75 */
277 fra
.me
.REG
[2] = CALL_syntax___syntax_base___MMSrcModule___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
278 CALL_parser___parser_prod___Visitor___enter_visit(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
279 /* syntax/mmbuilder.nit:76 */
280 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
281 /* syntax/mmbuilder.nit:79 */
282 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
283 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
));
284 /* syntax/mmbuilder.nit:85 */
285 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
286 /* syntax/mmbuilder.nit:90 */
287 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___class_specialization_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
288 fra
.me
.REG
[2] = CALL_standard___collection___array___Collection___to_a(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
289 /* syntax/mmbuilder.nit:93 */
291 fra
.me
.REG
[3] = NEW_CSHSorter_syntax___mmbuilder___CSHSorter___init();
292 once_value_3
= fra
.me
.REG
[3];
293 register_static_object(&once_value_3
);
294 } else fra
.me
.REG
[3] = once_value_3
;
295 fra
.me
.REG
[3] = fra
.me
.REG
[3];
296 /* syntax/mmbuilder.nit:94 */
297 CALL_standard___collection___sorter___AbstractSorter___sort(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
298 /* syntax/mmbuilder.nit:97 */
299 fra
.me
.REG
[3] = NEW_ClassAncestorBuilder_syntax___mmbuilder___ClassAncestorBuilder___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
300 /* ../lib/standard/collection/array.nit:266 */
301 fra
.me
.REG
[4] = fra
.me
.REG
[2];
302 /* ../lib/standard/collection/array.nit:269 */
304 /* ../lib/standard/collection/array.nit:270 */
305 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
306 if (UNTAG_Bool(REGB1
)) {
308 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
310 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
311 /* ../lib/standard/collection/array.nit:271 */
312 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
313 /* ../lib/standard/collection/array.nit:272 */
315 /* ../lib/standard/collection/array.nit:24 */
316 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
317 if (UNTAG_Bool(REGB1
)) {
319 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
321 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
322 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
323 if (UNTAG_Bool(REGB2
)) {
325 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
327 /* ../lib/standard/kernel.nit:232 */
328 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
329 /* ../lib/standard/collection/array.nit:272 */
330 if (UNTAG_Bool(REGB1
)) {
331 /* ../lib/standard/collection/array.nit:273 */
332 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
333 if (UNTAG_Bool(REGB1
)) {
334 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
336 /* ../lib/standard/collection/array.nit:718 */
337 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
338 /* syntax/mmbuilder.nit:99 */
339 CALL_syntax___mmbuilder___MMLocalClass___accept_class_visitor(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
340 /* syntax/mmbuilder.nit:100 */
341 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
342 /* syntax/mmbuilder.nit:101 */
343 CALL_metamodel___inheritance___MMLocalClass___compute_ancestors(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
344 /* ../lib/standard/collection/array.nit:274 */
346 /* ../lib/standard/kernel.nit:235 */
347 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
348 /* ../lib/standard/collection/array.nit:274 */
351 /* ../lib/standard/collection/array.nit:272 */
356 /* syntax/mmbuilder.nit:105 */
357 fra
.me
.REG
[3] = NEW_ClassVerifierVisitor_syntax___mmbuilder___ClassVerifierVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
358 /* ../lib/standard/collection/array.nit:266 */
359 fra
.me
.REG
[5] = fra
.me
.REG
[2];
360 /* ../lib/standard/collection/array.nit:269 */
362 /* ../lib/standard/collection/array.nit:270 */
363 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
364 if (UNTAG_Bool(REGB1
)) {
366 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
368 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
369 /* ../lib/standard/collection/array.nit:271 */
370 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
371 /* ../lib/standard/collection/array.nit:272 */
373 /* ../lib/standard/collection/array.nit:24 */
374 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
375 if (UNTAG_Bool(REGB1
)) {
377 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
379 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
380 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
381 if (UNTAG_Bool(REGB2
)) {
383 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
385 /* ../lib/standard/kernel.nit:232 */
386 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
387 /* ../lib/standard/collection/array.nit:272 */
388 if (UNTAG_Bool(REGB1
)) {
389 /* ../lib/standard/collection/array.nit:273 */
390 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
391 if (UNTAG_Bool(REGB1
)) {
392 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
394 /* ../lib/standard/collection/array.nit:718 */
395 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
396 /* syntax/mmbuilder.nit:107 */
397 CALL_syntax___mmbuilder___MMLocalClass___accept_class_visitor(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
398 /* ../lib/standard/collection/array.nit:274 */
400 /* ../lib/standard/kernel.nit:235 */
401 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
402 /* ../lib/standard/collection/array.nit:274 */
405 /* ../lib/standard/collection/array.nit:272 */
410 /* syntax/mmbuilder.nit:109 */
411 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
412 /* syntax/mmbuilder.nit:112 */
413 fra
.me
.REG
[3] = NEW_PropertyBuilderVisitor_syntax___mmbuilder___PropertyBuilderVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
414 /* ../lib/standard/collection/array.nit:266 */
415 fra
.me
.REG
[4] = fra
.me
.REG
[2];
416 /* ../lib/standard/collection/array.nit:269 */
418 /* ../lib/standard/collection/array.nit:270 */
419 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
420 if (UNTAG_Bool(REGB1
)) {
422 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
424 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
425 /* ../lib/standard/collection/array.nit:271 */
426 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
427 /* ../lib/standard/collection/array.nit:272 */
429 /* ../lib/standard/collection/array.nit:24 */
430 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
431 if (UNTAG_Bool(REGB1
)) {
433 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
435 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
436 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
437 if (UNTAG_Bool(REGB2
)) {
439 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
441 /* ../lib/standard/kernel.nit:232 */
442 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
443 /* ../lib/standard/collection/array.nit:272 */
444 if (UNTAG_Bool(REGB1
)) {
445 /* ../lib/standard/collection/array.nit:273 */
446 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
447 if (UNTAG_Bool(REGB1
)) {
448 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
450 /* ../lib/standard/collection/array.nit:718 */
451 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
452 /* syntax/mmbuilder.nit:115 */
453 CALL_syntax___mmbuilder___MMLocalClass___accept_class_visitor(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
454 /* syntax/mmbuilder.nit:118 */
455 REGB1
= TAG_Bool(VAL_ISA(fra
.me
.REG
[6], COLOR_syntax___syntax_base___MMSrcLocalClass
, ID_syntax___syntax_base___MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
456 if (UNTAG_Bool(REGB1
)) {
457 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
458 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
459 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[7],fra
.me
.REG
[6]));
460 if (UNTAG_Bool(REGB1
)) {
462 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
466 REGB2
= TAG_Bool(false);
469 if (UNTAG_Bool(REGB1
)) {
470 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
471 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
472 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
474 REGB2
= TAG_Bool(false);
477 if (UNTAG_Bool(REGB1
)) {
478 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
479 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
480 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
482 REGB2
= TAG_Bool(false);
485 if (UNTAG_Bool(REGB1
)) {
486 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
487 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
488 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
490 REGB2
= TAG_Bool(false);
493 if (UNTAG_Bool(REGB1
)) {
494 /* syntax/mmbuilder.nit:119 */
495 CALL_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
497 /* ../lib/standard/collection/array.nit:274 */
499 /* ../lib/standard/kernel.nit:235 */
500 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
501 /* ../lib/standard/collection/array.nit:274 */
504 /* ../lib/standard/collection/array.nit:272 */
509 /* syntax/mmbuilder.nit:124 */
510 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
511 /* syntax/mmbuilder.nit:127 */
512 fra
.me
.REG
[0] = NEW_PropertyVerifierVisitor_syntax___mmbuilder___PropertyVerifierVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
513 /* ../lib/standard/collection/array.nit:269 */
515 /* ../lib/standard/collection/array.nit:270 */
516 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
517 if (UNTAG_Bool(REGB1
)) {
519 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
521 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
522 /* ../lib/standard/collection/array.nit:271 */
523 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
524 /* ../lib/standard/collection/array.nit:272 */
526 /* ../lib/standard/collection/array.nit:24 */
527 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
528 if (UNTAG_Bool(REGB1
)) {
530 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
532 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
533 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
534 if (UNTAG_Bool(REGB2
)) {
536 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
538 /* ../lib/standard/kernel.nit:232 */
539 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
540 /* ../lib/standard/collection/array.nit:272 */
541 if (UNTAG_Bool(REGB1
)) {
542 /* ../lib/standard/collection/array.nit:273 */
543 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
544 if (UNTAG_Bool(REGB1
)) {
545 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
547 /* ../lib/standard/collection/array.nit:718 */
548 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
549 /* syntax/mmbuilder.nit:129 */
550 CALL_syntax___mmbuilder___MMLocalClass___accept_properties_visitor(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
551 /* ../lib/standard/collection/array.nit:274 */
553 /* ../lib/standard/kernel.nit:235 */
554 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
555 /* ../lib/standard/collection/array.nit:274 */
558 /* ../lib/standard/collection/array.nit:272 */
563 /* syntax/mmbuilder.nit:132 */
564 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
565 stack_frame_head
= fra
.me
.prev
;
568 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
){
569 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
575 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
576 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
578 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcModule___do_mmbuilder
;
579 fra
.me
.has_broke
= 0;
581 fra
.me
.nitni_local_ref_head
= NULL
;
582 fra
.me
.REG
[0] = NIT_NULL
;
583 fra
.me
.REG
[1] = NIT_NULL
;
584 fra
.me
.closure_ctx
= closctx_param
;
585 fra
.me
.closure_funs
= CREG
;
588 /* syntax/mmbuilder.nit:80 */
589 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
590 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
591 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
592 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___visibility_for(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[1]);
593 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
594 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
595 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
596 if (UNTAG_Bool(REGB2
)) {
598 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
600 /* ../lib/standard/kernel.nit:232 */
601 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
602 /* syntax/mmbuilder.nit:80 */
603 if (UNTAG_Bool(REGB1
)) {
604 /* syntax/mmbuilder.nit:81 */
607 /* syntax/mmbuilder.nit:83 */
608 CALL_metamodel___inheritance___MMLocalClass___compute_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
610 stack_frame_head
= fra
.me
.prev
;
613 void syntax___mmbuilder___MMSrcModule___process_default_classes(val_t p0
, val_t p1
){
614 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
617 static val_t once_value_1
; /* Once value */
618 static val_t once_value_2
; /* Once value */
619 static val_t once_value_3
; /* Once value */
620 static val_t once_value_4
; /* Once value */
621 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
622 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
624 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcModule___process_default_classes
;
625 fra
.me
.has_broke
= 0;
627 fra
.me
.nitni_local_ref_head
= NULL
;
628 fra
.me
.REG
[0] = NIT_NULL
;
629 fra
.me
.REG
[1] = NIT_NULL
;
630 fra
.me
.REG
[2] = NIT_NULL
;
631 fra
.me
.REG
[3] = NIT_NULL
;
634 /* syntax/mmbuilder.nit:138 */
637 fra
.me
.REG
[1] = BOX_NativeString("Object");
639 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
640 once_value_2
= fra
.me
.REG
[1];
641 register_static_object(&once_value_2
);
642 } else fra
.me
.REG
[1] = once_value_2
;
643 fra
.me
.REG
[1] = fra
.me
.REG
[1];
644 fra
.me
.REG
[1] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
645 once_value_1
= fra
.me
.REG
[1];
646 register_static_object(&once_value_1
);
647 } else fra
.me
.REG
[1] = once_value_1
;
648 fra
.me
.REG
[1] = fra
.me
.REG
[1];
649 /* syntax/mmbuilder.nit:139 */
650 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
651 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
652 if (UNTAG_Bool(REGB0
)) {
653 /* syntax/mmbuilder.nit:140 */
655 fra
.me
.REG
[2] = NEW_MMSrcLocalClass_syntax___syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[0], fra
.me
.REG
[1], NIT_NULL
, REGB0
);
656 /* syntax/mmbuilder.nit:141 */
657 CALL_metamodel___abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
658 /* syntax/mmbuilder.nit:142 */
659 fra
.me
.REG
[3] = CALL_syntax___syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
660 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[2]);
662 /* syntax/mmbuilder.nit:144 */
665 fra
.me
.REG
[2] = BOX_NativeString("Bool");
667 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
668 once_value_4
= fra
.me
.REG
[2];
669 register_static_object(&once_value_4
);
670 } else fra
.me
.REG
[2] = once_value_4
;
671 fra
.me
.REG
[2] = fra
.me
.REG
[2];
672 fra
.me
.REG
[2] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
673 once_value_3
= fra
.me
.REG
[2];
674 register_static_object(&once_value_3
);
675 } else fra
.me
.REG
[2] = once_value_3
;
676 fra
.me
.REG
[2] = fra
.me
.REG
[2];
677 fra
.me
.REG
[1] = fra
.me
.REG
[2];
678 /* syntax/mmbuilder.nit:145 */
679 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
680 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
681 if (UNTAG_Bool(REGB0
)) {
682 /* syntax/mmbuilder.nit:146 */
684 fra
.me
.REG
[2] = NEW_MMSrcLocalClass_syntax___syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[0], fra
.me
.REG
[1], NIT_NULL
, REGB0
);
685 /* syntax/mmbuilder.nit:147 */
686 CALL_metamodel___abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
687 /* syntax/mmbuilder.nit:148 */
688 fra
.me
.REG
[0] = CALL_syntax___syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
689 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
691 stack_frame_head
= fra
.me
.prev
;
694 void syntax___mmbuilder___MMLocalClass___accept_class_visitor(val_t p0
, val_t p1
){
695 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
697 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
698 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
700 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMLocalClass___accept_class_visitor
;
701 fra
.me
.has_broke
= 0;
703 fra
.me
.nitni_local_ref_head
= NULL
;
704 fra
.me
.REG
[0] = NIT_NULL
;
705 fra
.me
.REG
[1] = NIT_NULL
;
708 stack_frame_head
= fra
.me
.prev
;
711 void syntax___mmbuilder___MMLocalClass___accept_properties_visitor(val_t p0
, val_t p1
){
712 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
714 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
715 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
717 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMLocalClass___accept_properties_visitor
;
718 fra
.me
.has_broke
= 0;
720 fra
.me
.nitni_local_ref_head
= NULL
;
721 fra
.me
.REG
[0] = NIT_NULL
;
722 fra
.me
.REG
[1] = NIT_NULL
;
725 stack_frame_head
= fra
.me
.prev
;
728 void syntax___mmbuilder___MMSrcLocalClass___accept_class_visitor(val_t p0
, val_t p1
){
729 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
733 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
734 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
736 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_class_visitor
;
737 fra
.me
.has_broke
= 0;
739 fra
.me
.nitni_local_ref_head
= NULL
;
740 fra
.me
.REG
[0] = NIT_NULL
;
741 fra
.me
.REG
[1] = NIT_NULL
;
742 fra
.me
.REG
[2] = NIT_NULL
;
745 /* syntax/mmbuilder.nit:168 */
746 fra
.me
.REG
[0] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
747 /* syntax/mmbuilder.nit:169 */
749 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
750 if (UNTAG_Bool(REGB0
)) {
752 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
753 if (UNTAG_Bool(REGB1
)) {
754 REGB1
= TAG_Bool(false);
757 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
761 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
762 if (UNTAG_Bool(REGB0
)) {
763 /* syntax/mmbuilder.nit:170 */
764 CALL_parser___parser_prod___Visitor___enter_visit(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
765 /* syntax/mmbuilder.nit:171 */
766 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
767 if (UNTAG_Bool(REGB0
)) {
768 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 171);
770 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AClassdef___next_node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
771 fra
.me
.REG
[0] = fra
.me
.REG
[2];
773 /* syntax/mmbuilder.nit:169 */
778 stack_frame_head
= fra
.me
.prev
;
781 void syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor(val_t p0
, val_t p1
){
782 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
786 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
787 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
789 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor
;
790 fra
.me
.has_broke
= 0;
792 fra
.me
.nitni_local_ref_head
= NULL
;
793 fra
.me
.REG
[0] = NIT_NULL
;
794 fra
.me
.REG
[1] = NIT_NULL
;
795 fra
.me
.REG
[2] = NIT_NULL
;
796 fra
.me
.REG
[3] = NIT_NULL
;
799 /* syntax/mmbuilder.nit:178 */
800 fra
.me
.REG
[2] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
801 /* syntax/mmbuilder.nit:179 */
803 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
804 if (UNTAG_Bool(REGB0
)) {
806 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
807 if (UNTAG_Bool(REGB1
)) {
808 REGB1
= TAG_Bool(false);
811 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
815 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
816 if (UNTAG_Bool(REGB0
)) {
817 /* syntax/mmbuilder.nit:180 */
818 CALL_parser___parser_prod___Visitor___enter_visit(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
819 /* syntax/mmbuilder.nit:181 */
820 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
821 if (UNTAG_Bool(REGB0
)) {
822 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 181);
824 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AClassdef___next_node(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
825 fra
.me
.REG
[2] = fra
.me
.REG
[3];
827 /* syntax/mmbuilder.nit:179 */
832 /* syntax/mmbuilder.nit:184 */
833 fra
.me
.REG
[0] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
834 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead___values(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
835 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
));
836 stack_frame_head
= fra
.me
.prev
;
839 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
){
840 struct {struct stack_frame_t me
;} fra
;
843 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
844 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
846 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor
;
847 fra
.me
.has_broke
= 0;
849 fra
.me
.nitni_local_ref_head
= NULL
;
850 fra
.me
.REG
[0] = NIT_NULL
;
851 fra
.me
.closure_ctx
= closctx_param
;
852 fra
.me
.closure_funs
= CREG
;
855 /* syntax/mmbuilder.nit:185 */
856 CALL_syntax___mmbuilder___MMLocalProperty___accept_property_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
857 stack_frame_head
= fra
.me
.prev
;
860 void syntax___mmbuilder___MMSrcLocalClass___process_default_constructors(val_t p0
, val_t p1
){
861 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
866 static val_t once_value_7
; /* Once value */
867 static val_t once_value_8
; /* Once value */
868 static val_t once_value_13
; /* Once value */
869 static val_t once_value_14
; /* Once value */
870 static val_t once_value_15
; /* Once value */
871 static val_t once_value_16
; /* Once value */
872 static val_t once_value_17
; /* Once value */
873 static val_t once_value_18
; /* Once value */
874 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
875 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
877 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
878 fra
.me
.has_broke
= 0;
879 fra
.me
.REG_size
= 11;
880 fra
.me
.nitni_local_ref_head
= NULL
;
881 fra
.me
.REG
[0] = NIT_NULL
;
882 fra
.me
.REG
[1] = NIT_NULL
;
883 fra
.me
.REG
[2] = NIT_NULL
;
884 fra
.me
.REG
[3] = NIT_NULL
;
885 fra
.me
.REG
[4] = NIT_NULL
;
886 fra
.me
.REG
[5] = NIT_NULL
;
887 fra
.me
.REG
[6] = NIT_NULL
;
888 fra
.me
.REG
[7] = NIT_NULL
;
889 fra
.me
.REG
[8] = NIT_NULL
;
890 fra
.me
.REG
[9] = NIT_NULL
;
891 fra
.me
.REG
[10] = NIT_NULL
;
894 /* syntax/mmbuilder.nit:189 */
895 fra
.me
.REG
[2] = fra
.me
.REG
[0];
896 /* syntax/mmbuilder.nit:193 */
897 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
898 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
));
899 switch ((&(fra
.me
))->has_broke
) {
901 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
903 /* syntax/mmbuilder.nit:201 */
904 fra
.me
.REG
[3] = NEW_ArraySet_standard___collection___array___ArraySet___init();
905 /* syntax/mmbuilder.nit:202 */
906 fra
.me
.REG
[4] = NEW_ArraySet_standard___collection___array___ArraySet___init();
907 /* syntax/mmbuilder.nit:203 */
908 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
909 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
910 /* ../lib/standard/collection/array.nit:269 */
912 /* ../lib/standard/collection/array.nit:270 */
913 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
914 if (UNTAG_Bool(REGB1
)) {
916 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
918 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
919 /* ../lib/standard/collection/array.nit:271 */
920 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
921 /* ../lib/standard/collection/array.nit:272 */
923 /* ../lib/standard/collection/array.nit:24 */
924 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
925 if (UNTAG_Bool(REGB1
)) {
927 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
929 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
930 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
931 if (UNTAG_Bool(REGB2
)) {
933 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
935 /* ../lib/standard/kernel.nit:232 */
936 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
937 /* ../lib/standard/collection/array.nit:272 */
938 if (UNTAG_Bool(REGB1
)) {
939 /* ../lib/standard/collection/array.nit:273 */
940 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
941 if (UNTAG_Bool(REGB1
)) {
942 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
944 /* ../lib/standard/collection/array.nit:718 */
945 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
946 /* syntax/mmbuilder.nit:204 */
947 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
948 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
949 if (UNTAG_Bool(REGB1
)) {
950 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
951 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
952 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
954 REGB2
= TAG_Bool(false);
957 if (UNTAG_Bool(REGB1
)) {
958 REGB1
= TAG_Bool(true);
960 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
961 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
964 if (UNTAG_Bool(REGB1
)) {
967 /* syntax/mmbuilder.nit:205 */
968 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
969 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
));
970 /* syntax/mmbuilder.nit:209 */
973 fra
.me
.REG
[8] = BOX_NativeString("init");
975 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
976 once_value_8
= fra
.me
.REG
[8];
977 register_static_object(&once_value_8
);
978 } else fra
.me
.REG
[8] = once_value_8
;
979 fra
.me
.REG
[8] = fra
.me
.REG
[8];
980 fra
.me
.REG
[8] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
981 once_value_7
= fra
.me
.REG
[8];
982 register_static_object(&once_value_7
);
983 } else fra
.me
.REG
[8] = once_value_7
;
984 fra
.me
.REG
[8] = fra
.me
.REG
[8];
985 /* syntax/mmbuilder.nit:210 */
986 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
987 if (UNTAG_Bool(REGB1
)) {
988 /* syntax/mmbuilder.nit:211 */
989 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___get_property_by_name(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
990 /* syntax/mmbuilder.nit:212 */
991 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[8]);
992 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[8]);
995 /* ../lib/standard/collection/array.nit:274 */
997 /* ../lib/standard/kernel.nit:235 */
998 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
999 /* ../lib/standard/collection/array.nit:274 */
1002 /* ../lib/standard/collection/array.nit:272 */
1007 /* syntax/mmbuilder.nit:217 */
1008 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___init();
1009 /* syntax/mmbuilder.nit:218 */
1010 fra
.me
.REG
[5] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1011 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___MapRead___values(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1012 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
));
1013 /* syntax/mmbuilder.nit:225 */
1014 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1015 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1016 if (UNTAG_Bool(REGB0
)) {
1017 /* syntax/mmbuilder.nit:228 */
1018 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___init();
1019 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
));
1020 /* syntax/mmbuilder.nit:236 */
1021 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1022 fra
.me
.REG
[8] = CALL_metamodel___partial_order___PartialOrderElement___order(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1023 fra
.me
.REG
[8] = CALL_metamodel___partial_order___PartialOrder___select_smallests(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
1024 fra
.me
.REG
[5] = fra
.me
.REG
[8];
1025 /* syntax/mmbuilder.nit:239 */
1026 fra
.me
.REG
[8] = NIT_NULL
;
1027 /* ../lib/standard/collection/array.nit:24 */
1028 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
1029 if (UNTAG_Bool(REGB0
)) {
1031 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1033 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
1034 /* syntax/mmbuilder.nit:241 */
1036 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1037 if (UNTAG_Bool(REGB2
)) {
1039 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1041 /* ../lib/standard/kernel.nit:234 */
1042 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
1043 /* syntax/mmbuilder.nit:241 */
1044 if (UNTAG_Bool(REGB1
)) {
1045 /* syntax/mmbuilder.nit:242 */
1046 fra
.me
.REG
[7] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1048 fra
.me
.REG
[9] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1049 if (!once_value_13
) {
1050 fra
.me
.REG
[10] = BOX_NativeString("Error: Explicit constructor required in ");
1051 REGB1
= TAG_Int(40);
1052 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
1053 once_value_13
= fra
.me
.REG
[10];
1054 register_static_object(&once_value_13
);
1055 } else fra
.me
.REG
[10] = once_value_13
;
1056 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1057 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1058 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1059 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1060 if (!once_value_14
) {
1061 fra
.me
.REG
[10] = BOX_NativeString(" since multiple inheritance of constructor is forbiden. Conflicting classes are ");
1062 REGB1
= TAG_Int(80);
1063 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
1064 once_value_14
= fra
.me
.REG
[10];
1065 register_static_object(&once_value_14
);
1066 } else fra
.me
.REG
[10] = once_value_14
;
1067 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1068 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1069 if (!once_value_15
) {
1070 fra
.me
.REG
[10] = BOX_NativeString(", ");
1072 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
1073 once_value_15
= fra
.me
.REG
[10];
1074 register_static_object(&once_value_15
);
1075 } else fra
.me
.REG
[10] = once_value_15
;
1076 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1077 fra
.me
.REG
[10] = CALL_standard___string___Collection___join(fra
.me
.REG
[5])(fra
.me
.REG
[5], 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_16
) {
1080 fra
.me
.REG
[10] = BOX_NativeString(". Costructors are ");
1081 REGB1
= TAG_Int(18);
1082 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
1083 once_value_16
= fra
.me
.REG
[10];
1084 register_static_object(&once_value_16
);
1085 } else fra
.me
.REG
[10] = once_value_16
;
1086 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1087 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1088 if (!once_value_17
) {
1089 fra
.me
.REG
[10] = BOX_NativeString(", ");
1091 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
1092 once_value_17
= fra
.me
.REG
[10];
1093 register_static_object(&once_value_17
);
1094 } else fra
.me
.REG
[10] = once_value_17
;
1095 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1096 fra
.me
.REG
[10] = CALL_standard___string___Collection___join(fra
.me
.REG
[4])(fra
.me
.REG
[4], 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_18
) {
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_18
= fra
.me
.REG
[10];
1103 register_static_object(&once_value_18
);
1104 } else fra
.me
.REG
[10] = once_value_18
;
1105 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1106 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1107 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1108 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7], fra
.me
.REG
[9]);
1109 /* syntax/mmbuilder.nit:243 */
1112 /* ../lib/standard/collection/array.nit:24 */
1113 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
1114 if (UNTAG_Bool(REGB1
)) {
1116 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1118 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
1119 /* syntax/mmbuilder.nit:244 */
1121 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
1122 if (UNTAG_Bool(REGB2
)) {
1124 /* ../lib/standard/kernel.nit:227 */
1125 REGB0
= TAG_Bool((REGB1
)==(REGB0
));
1126 /* syntax/mmbuilder.nit:244 */
1129 if (UNTAG_Bool(REGB2
)) {
1130 /* syntax/mmbuilder.nit:245 */
1131 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1132 fra
.me
.REG
[8] = fra
.me
.REG
[5];
1135 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
));
1136 /* syntax/mmbuilder.nit:254 */
1137 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1138 REGB2
= TAG_Bool(fra
.me
.REG
[8]!=NIT_NULL
);
1139 if (UNTAG_Bool(REGB2
)) {
1141 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 254);
1143 REGB2
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1144 if (UNTAG_Bool(REGB2
)) {
1145 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 254);
1147 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1148 CALL_metamodel___abstractmetamodel___MMGlobalClass___mixin_of__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1150 /* syntax/mmbuilder.nit:259 */
1151 fra
.me
.REG
[3] = CALL_standard___collection___array___Collection___to_a(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1152 fra
.me
.REG
[3] = NEW_MMImplicitInit_syntax___syntax_base___MMImplicitInit___init(fra
.me
.REG
[2], fra
.me
.REG
[6], fra
.me
.REG
[3]);
1153 /* syntax/mmbuilder.nit:260 */
1154 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1], fra
.me
.REG
[3]);
1157 stack_frame_head
= fra
.me
.prev
;
1160 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
){
1161 struct {struct stack_frame_t me
;} fra
;
1166 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1167 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1169 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1170 fra
.me
.has_broke
= 0;
1171 fra
.me
.REG_size
= 1;
1172 fra
.me
.nitni_local_ref_head
= NULL
;
1173 fra
.me
.REG
[0] = NIT_NULL
;
1174 fra
.me
.closure_ctx
= closctx_param
;
1175 fra
.me
.closure_funs
= CREG
;
1177 CREG
[0] = clos_fun0
;
1178 /* syntax/mmbuilder.nit:194 */
1179 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1180 if (UNTAG_Bool(REGB0
)) {
1181 /* syntax/mmbuilder.nit:196 */
1182 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1183 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1184 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],closctx
->REG
[2]));
1185 if (UNTAG_Bool(REGB0
)) {
1187 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[2]);
1190 if (UNTAG_Bool(REGB0
)) {
1191 closctx
->has_broke
= 1;
1196 stack_frame_head
= fra
.me
.prev
;
1199 void OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_5(struct stack_frame_t
*closctx
, val_t p0
){
1200 struct {struct stack_frame_t me
;} fra
;
1203 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1204 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1206 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1207 fra
.me
.has_broke
= 0;
1208 fra
.me
.REG_size
= 1;
1209 fra
.me
.nitni_local_ref_head
= NULL
;
1210 fra
.me
.REG
[0] = NIT_NULL
;
1212 /* syntax/mmbuilder.nit:206 */
1213 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1214 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1215 if (UNTAG_Bool(REGB0
)) {
1218 /* syntax/mmbuilder.nit:207 */
1219 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[4])(closctx
->REG
[4], fra
.me
.REG
[0]);
1221 stack_frame_head
= fra
.me
.prev
;
1224 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
){
1225 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1230 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1231 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1233 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1234 fra
.me
.has_broke
= 0;
1235 fra
.me
.REG_size
= 2;
1236 fra
.me
.nitni_local_ref_head
= NULL
;
1237 fra
.me
.REG
[0] = NIT_NULL
;
1238 fra
.me
.REG
[1] = NIT_NULL
;
1239 fra
.me
.closure_ctx
= closctx_param
;
1240 fra
.me
.closure_funs
= CREG
;
1242 CREG
[0] = clos_fun0
;
1243 /* syntax/mmbuilder.nit:219 */
1244 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_syntax___syntax_base___MMSrcAttribute
, ID_syntax___syntax_base___MMSrcAttribute
)) /*cast MMSrcAttribute*/;
1245 if (UNTAG_Bool(REGB0
)) {
1246 /* syntax/mmbuilder.nit:220 */
1247 fra
.me
.REG
[1] = CALL_syntax___syntax_base___MMLocalProperty___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1248 /* syntax/mmbuilder.nit:221 */
1249 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1250 if (UNTAG_Bool(REGB0
)) {
1251 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 221);
1253 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AAttrPropdef___n_expr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1254 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1255 if (UNTAG_Bool(REGB0
)) {
1257 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1258 if (UNTAG_Bool(REGB1
)) {
1259 REGB1
= TAG_Bool(false);
1262 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1266 if (UNTAG_Bool(REGB0
)) {
1267 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[6])(closctx
->REG
[6], fra
.me
.REG
[0]);
1270 stack_frame_head
= fra
.me
.prev
;
1273 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
){
1274 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1278 /* syntax/mmbuilder.nit:229 */
1279 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1280 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1282 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1283 fra
.me
.has_broke
= 0;
1284 fra
.me
.REG_size
= 2;
1285 fra
.me
.nitni_local_ref_head
= NULL
;
1286 fra
.me
.REG
[0] = NIT_NULL
;
1287 fra
.me
.REG
[1] = NIT_NULL
;
1288 fra
.me
.closure_ctx
= closctx_param
;
1289 fra
.me
.closure_funs
= CREG
;
1291 CREG
[0] = clos_fun0
;
1292 /* syntax/mmbuilder.nit:230 */
1293 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1294 /* syntax/mmbuilder.nit:231 */
1295 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(closctx
->REG
[5])(closctx
->REG
[5], fra
.me
.REG
[0]);
1296 if (UNTAG_Bool(REGB0
)) {
1299 /* syntax/mmbuilder.nit:232 */
1300 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1301 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_mixin(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1302 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1303 if (UNTAG_Bool(REGB0
)) {
1304 /* syntax/mmbuilder.nit:233 */
1305 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[5])(closctx
->REG
[5], fra
.me
.REG
[0]);
1308 stack_frame_head
= fra
.me
.prev
;
1311 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
){
1312 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1318 /* syntax/mmbuilder.nit:248 */
1319 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1320 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1322 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1323 fra
.me
.has_broke
= 0;
1324 fra
.me
.REG_size
= 2;
1325 fra
.me
.nitni_local_ref_head
= NULL
;
1326 fra
.me
.REG
[0] = NIT_NULL
;
1327 fra
.me
.REG
[1] = NIT_NULL
;
1328 fra
.me
.closure_ctx
= closctx_param
;
1329 fra
.me
.closure_funs
= CREG
;
1331 CREG
[0] = clos_fun0
;
1332 /* syntax/mmbuilder.nit:250 */
1333 REGB0
= TAG_Bool(closctx
->REG
[8]==NIT_NULL
);
1334 if (UNTAG_Bool(REGB0
)) {
1336 REGB1
= TAG_Bool(closctx
->REG
[8]==NIT_NULL
);
1337 if (UNTAG_Bool(REGB1
)) {
1338 REGB1
= TAG_Bool(false);
1341 REGB1
= CALL_standard___kernel___Object_____eqeq(closctx
->REG
[8])(closctx
->REG
[8], NIT_NULL
);
1345 if (UNTAG_Bool(REGB0
)) {
1346 REGB0
= TAG_Bool(true);
1348 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1349 REGB1
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[1],closctx
->REG
[8]));
1350 if (UNTAG_Bool(REGB1
)) {
1352 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[8]);
1357 if (UNTAG_Bool(REGB0
)) {
1358 /* syntax/mmbuilder.nit:251 */
1359 CALL_metamodel___inheritance___MMLocalClass___make_visible_an_inherited_global_property(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
1361 stack_frame_head
= fra
.me
.prev
;
1364 void syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(val_t p0
, val_t p1
, val_t p2
){
1365 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1368 static val_t once_value_1
; /* Once value */
1369 static val_t once_value_2
; /* Once value */
1370 static val_t once_value_3
; /* Once value */
1371 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1372 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1374 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property
;
1375 fra
.me
.has_broke
= 0;
1376 fra
.me
.REG_size
= 7;
1377 fra
.me
.nitni_local_ref_head
= NULL
;
1378 fra
.me
.REG
[0] = NIT_NULL
;
1379 fra
.me
.REG
[1] = NIT_NULL
;
1380 fra
.me
.REG
[2] = NIT_NULL
;
1381 fra
.me
.REG
[3] = NIT_NULL
;
1382 fra
.me
.REG
[4] = NIT_NULL
;
1383 fra
.me
.REG
[5] = NIT_NULL
;
1384 fra
.me
.REG
[6] = NIT_NULL
;
1388 /* syntax/mmbuilder.nit:269 */
1389 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1390 /* syntax/mmbuilder.nit:271 */
1391 fra
.me
.REG
[4] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1392 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1393 if (UNTAG_Bool(REGB0
)) {
1394 /* syntax/mmbuilder.nit:272 */
1395 fra
.me
.REG
[4] = CALL_syntax___syntax_base___MMLocalProperty___node(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1397 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1398 if (!once_value_1
) {
1399 fra
.me
.REG
[6] = BOX_NativeString("Error: A property ");
1400 REGB0
= TAG_Int(18);
1401 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1402 once_value_1
= fra
.me
.REG
[6];
1403 register_static_object(&once_value_1
);
1404 } else fra
.me
.REG
[6] = once_value_1
;
1405 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1406 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1407 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1408 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1409 if (!once_value_2
) {
1410 fra
.me
.REG
[6] = BOX_NativeString(" is already defined in class ");
1411 REGB0
= TAG_Int(29);
1412 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1413 once_value_2
= fra
.me
.REG
[6];
1414 register_static_object(&once_value_2
);
1415 } else fra
.me
.REG
[6] = once_value_2
;
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_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1419 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1420 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1421 if (!once_value_3
) {
1422 fra
.me
.REG
[6] = BOX_NativeString(".");
1424 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1425 once_value_3
= fra
.me
.REG
[6];
1426 register_static_object(&once_value_3
);
1427 } else fra
.me
.REG
[6] = once_value_3
;
1428 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1429 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1430 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1431 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[5]);
1432 /* syntax/mmbuilder.nit:273 */
1435 /* syntax/mmbuilder.nit:275 */
1436 fra
.me
.REG
[5] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1437 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[2]);
1438 /* syntax/mmbuilder.nit:278 */
1439 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1440 if (UNTAG_Bool(REGB0
)) {
1441 /* syntax/mmbuilder.nit:279 */
1442 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___get_property_by_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1443 /* syntax/mmbuilder.nit:280 */
1444 CALL_metamodel___inheritance___MMLocalProperty___inherit_global(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1446 /* syntax/mmbuilder.nit:283 */
1447 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalProperty___is_global_set(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1448 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1449 if (UNTAG_Bool(REGB0
)) {
1450 /* syntax/mmbuilder.nit:284 */
1451 CALL_metamodel___abstractmetamodel___MMLocalProperty___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1452 /* syntax/mmbuilder.nit:285 */
1453 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1454 REGB0
= CALL_syntax___syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1455 CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
1458 stack_frame_head
= fra
.me
.prev
;
1461 void syntax___mmbuilder___MMLocalProperty___accept_property_visitor(val_t p0
, val_t p1
){
1462 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1464 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1465 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1467 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMLocalProperty___accept_property_visitor
;
1468 fra
.me
.has_broke
= 0;
1469 fra
.me
.REG_size
= 2;
1470 fra
.me
.nitni_local_ref_head
= NULL
;
1471 fra
.me
.REG
[0] = NIT_NULL
;
1472 fra
.me
.REG
[1] = NIT_NULL
;
1475 stack_frame_head
= fra
.me
.prev
;
1478 val_t
syntax___mmbuilder___MMImplicitInit___super_init(val_t p0
){
1479 struct {struct stack_frame_t me
;} fra
;
1481 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1482 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1484 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMImplicitInit___super_init
;
1485 fra
.me
.has_broke
= 0;
1486 fra
.me
.REG_size
= 1;
1487 fra
.me
.nitni_local_ref_head
= NULL
;
1488 fra
.me
.REG
[0] = NIT_NULL
;
1490 /* syntax/mmbuilder.nit:297 */
1491 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___MMImplicitInit____super_init(fra
.me
.REG
[0]);
1492 stack_frame_head
= fra
.me
.prev
;
1493 return fra
.me
.REG
[0];
1495 void syntax___mmbuilder___MMImplicitInit___accept_property_visitor(val_t p0
, val_t p1
){
1496 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
1503 static val_t once_value_1
; /* Once value */
1504 static val_t once_value_2
; /* Once value */
1505 static val_t once_value_3
; /* Once value */
1506 static val_t once_value_4
; /* Once value */
1507 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1508 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1510 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMImplicitInit___accept_property_visitor
;
1511 fra
.me
.has_broke
= 0;
1512 fra
.me
.REG_size
= 9;
1513 fra
.me
.nitni_local_ref_head
= NULL
;
1514 fra
.me
.REG
[0] = NIT_NULL
;
1515 fra
.me
.REG
[1] = NIT_NULL
;
1516 fra
.me
.REG
[2] = NIT_NULL
;
1517 fra
.me
.REG
[3] = NIT_NULL
;
1518 fra
.me
.REG
[4] = NIT_NULL
;
1519 fra
.me
.REG
[5] = NIT_NULL
;
1520 fra
.me
.REG
[6] = NIT_NULL
;
1521 fra
.me
.REG
[7] = NIT_NULL
;
1522 fra
.me
.REG
[8] = NIT_NULL
;
1525 /* syntax/mmbuilder.nit:298 */
1526 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1527 /* syntax/mmbuilder.nit:300 */
1528 fra
.me
.REG
[3] = NIT_NULL
;
1529 /* syntax/mmbuilder.nit:301 */
1530 fra
.me
.REG
[4] = CALL_syntax___syntax_base___MMImplicitInit___super_inits(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1531 /* ../lib/standard/collection/array.nit:269 */
1533 /* ../lib/standard/collection/array.nit:270 */
1534 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1535 if (UNTAG_Bool(REGB1
)) {
1537 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1539 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1540 /* ../lib/standard/collection/array.nit:271 */
1541 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
1542 /* ../lib/standard/collection/array.nit:272 */
1544 /* ../lib/standard/collection/array.nit:24 */
1545 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1546 if (UNTAG_Bool(REGB1
)) {
1548 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1550 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1551 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1552 if (UNTAG_Bool(REGB2
)) {
1554 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1556 /* ../lib/standard/kernel.nit:232 */
1557 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1558 /* ../lib/standard/collection/array.nit:272 */
1559 if (UNTAG_Bool(REGB1
)) {
1560 /* ../lib/standard/collection/array.nit:273 */
1561 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1562 if (UNTAG_Bool(REGB1
)) {
1563 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1565 /* ../lib/standard/collection/array.nit:718 */
1566 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
1567 /* syntax/mmbuilder.nit:302 */
1568 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1569 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1570 if (UNTAG_Bool(REGB1
)) {
1571 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 302);
1573 REGB1
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1575 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1576 if (UNTAG_Bool(REGB3
)) {
1578 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1580 /* ../lib/standard/kernel.nit:234 */
1581 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
1582 /* syntax/mmbuilder.nit:302 */
1583 if (UNTAG_Bool(REGB2
)) {
1584 /* syntax/mmbuilder.nit:303 */
1585 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1586 if (UNTAG_Bool(REGB2
)) {
1588 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1589 if (UNTAG_Bool(REGB1
)) {
1590 REGB1
= TAG_Bool(false);
1593 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1597 if (UNTAG_Bool(REGB2
)) {
1598 /* syntax/mmbuilder.nit:304 */
1599 fra
.me
.REG
[3] = fra
.me
.REG
[6];
1601 /* syntax/mmbuilder.nit:306 */
1603 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
1604 if (!once_value_1
) {
1605 fra
.me
.REG
[8] = BOX_NativeString("Error: explicit constructor needed in ");
1606 REGB2
= TAG_Int(38);
1607 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
1608 once_value_1
= fra
.me
.REG
[8];
1609 register_static_object(&once_value_1
);
1610 } else fra
.me
.REG
[8] = once_value_1
;
1611 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1612 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1613 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1614 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1615 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1616 if (!once_value_2
) {
1617 fra
.me
.REG
[8] = BOX_NativeString(" since both super-constructor ");
1618 REGB2
= TAG_Int(30);
1619 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
1620 once_value_2
= fra
.me
.REG
[8];
1621 register_static_object(&once_value_2
);
1622 } else fra
.me
.REG
[8] = once_value_2
;
1623 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1624 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1625 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1626 if (UNTAG_Bool(REGB2
)) {
1627 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 306);
1629 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1630 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1631 if (!once_value_3
) {
1632 fra
.me
.REG
[8] = BOX_NativeString(" and ");
1634 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
1635 once_value_3
= fra
.me
.REG
[8];
1636 register_static_object(&once_value_3
);
1637 } else fra
.me
.REG
[8] = once_value_3
;
1638 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1639 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1640 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1641 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1642 if (!once_value_4
) {
1643 fra
.me
.REG
[6] = BOX_NativeString(" have paramters");
1644 REGB2
= TAG_Int(15);
1645 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
1646 once_value_4
= fra
.me
.REG
[6];
1647 register_static_object(&once_value_4
);
1648 } else fra
.me
.REG
[6] = once_value_4
;
1649 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1650 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1651 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1652 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[7]);
1653 /* syntax/mmbuilder.nit:307 */
1657 /* ../lib/standard/collection/array.nit:274 */
1659 /* ../lib/standard/kernel.nit:235 */
1660 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1661 /* ../lib/standard/collection/array.nit:274 */
1664 /* ../lib/standard/collection/array.nit:272 */
1669 /* syntax/mmbuilder.nit:311 */
1670 ATTR_syntax___mmbuilder___MMImplicitInit____super_init(fra
.me
.REG
[2]) = fra
.me
.REG
[3];
1671 /* syntax/mmbuilder.nit:313 */
1672 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
1673 /* syntax/mmbuilder.nit:314 */
1674 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1675 if (UNTAG_Bool(REGB0
)) {
1677 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1678 if (UNTAG_Bool(REGB2
)) {
1679 REGB2
= TAG_Bool(false);
1682 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1686 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1687 if (UNTAG_Bool(REGB0
)) {
1688 /* syntax/mmbuilder.nit:315 */
1689 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1690 if (UNTAG_Bool(REGB0
)) {
1691 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 315);
1693 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1694 /* syntax/mmbuilder.nit:316 */
1696 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1697 if (UNTAG_Bool(REGB2
)) {
1698 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 316);
1700 REGB2
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1701 /* ../lib/standard/kernel.nit:352 */
1703 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1704 if (UNTAG_Bool(REGB1
)) {
1706 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1708 /* ../lib/standard/kernel.nit:232 */
1709 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1710 /* ../lib/standard/kernel.nit:352 */
1711 if (UNTAG_Bool(REGB1
)) {
1712 /* syntax/mmbuilder.nit:316 */
1714 /* syntax/mmbuilder.nit:317 */
1715 REGB3
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1716 if (UNTAG_Bool(REGB3
)) {
1717 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 317);
1719 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___params(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1720 /* ../lib/standard/collection/array.nit:280 */
1722 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1723 if (UNTAG_Bool(REGB4
)) {
1725 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1727 /* ../lib/standard/kernel.nit:233 */
1728 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB3
));
1729 /* ../lib/standard/collection/array.nit:280 */
1730 if (UNTAG_Bool(REGB3
)) {
1731 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
1732 if (UNTAG_Bool(REGB3
)) {
1734 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1736 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
1737 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1738 if (UNTAG_Bool(REGB4
)) {
1740 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1742 /* ../lib/standard/kernel.nit:232 */
1743 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB3
));
1745 /* ../lib/standard/collection/array.nit:280 */
1746 REGB4
= TAG_Bool(false);
1749 if (UNTAG_Bool(REGB3
)) {
1751 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
1753 /* ../lib/standard/collection/array.nit:281 */
1754 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
1755 REGB3
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1756 if (UNTAG_Bool(REGB3
)) {
1757 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1759 /* ../lib/standard/collection/array.nit:718 */
1760 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB1
)];
1761 /* ../lib/standard/collection/array.nit:281 */
1764 /* syntax/mmbuilder.nit:317 */
1765 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
1766 /* ../lib/standard/kernel.nit:354 */
1768 /* ../lib/standard/kernel.nit:235 */
1769 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1770 /* ../lib/standard/kernel.nit:354 */
1773 /* ../lib/standard/kernel.nit:352 */
1779 /* syntax/mmbuilder.nit:320 */
1780 fra
.me
.REG
[3] = CALL_syntax___syntax_base___MMImplicitInit___unassigned_attributes(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1781 /* ../lib/standard/collection/array.nit:269 */
1783 /* ../lib/standard/collection/array.nit:270 */
1784 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1785 if (UNTAG_Bool(REGB2
)) {
1787 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1789 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1790 /* ../lib/standard/collection/array.nit:271 */
1791 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1792 /* ../lib/standard/collection/array.nit:272 */
1794 /* ../lib/standard/collection/array.nit:24 */
1795 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1796 if (UNTAG_Bool(REGB2
)) {
1798 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1800 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1801 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1802 if (UNTAG_Bool(REGB1
)) {
1804 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1806 /* ../lib/standard/kernel.nit:232 */
1807 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1808 /* ../lib/standard/collection/array.nit:272 */
1809 if (UNTAG_Bool(REGB2
)) {
1810 /* ../lib/standard/collection/array.nit:273 */
1811 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1812 if (UNTAG_Bool(REGB2
)) {
1813 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1815 /* ../lib/standard/collection/array.nit:718 */
1816 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
1817 /* syntax/mmbuilder.nit:321 */
1818 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1819 /* syntax/mmbuilder.nit:322 */
1820 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1821 if (UNTAG_Bool(REGB2
)) {
1823 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1824 if (UNTAG_Bool(REGB1
)) {
1825 REGB1
= TAG_Bool(false);
1828 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
1832 if (UNTAG_Bool(REGB2
)) {
1835 /* syntax/mmbuilder.nit:323 */
1836 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1837 /* syntax/mmbuilder.nit:324 */
1838 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1839 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1840 REGB2
= TAG_Char('_');
1841 REGB1
= TAG_Bool(IS_EQUAL_ON(REGB2
,fra
.me
.REG
[8]));
1842 if (UNTAG_Bool(REGB1
)) {
1844 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1845 if (UNTAG_Bool(REGB3
)) {
1846 REGB3
= TAG_Bool(false);
1849 /* ../lib/standard/kernel.nit:378 */
1850 REGB2
= TAG_Bool((fra
.me
.REG
[8])==(REGB2
));
1851 /* syntax/mmbuilder.nit:324 */
1855 if (UNTAG_Bool(REGB1
)) {
1856 REGB1
= TAG_Bool(true);
1858 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1859 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1860 REGB2
= TAG_Char('@');
1861 REGB3
= TAG_Bool(IS_EQUAL_ON(REGB2
,fra
.me
.REG
[8]));
1862 if (UNTAG_Bool(REGB3
)) {
1864 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1865 if (UNTAG_Bool(REGB4
)) {
1866 REGB4
= TAG_Bool(false);
1869 /* ../lib/standard/kernel.nit:378 */
1870 REGB2
= TAG_Bool((fra
.me
.REG
[8])==(REGB2
));
1871 /* syntax/mmbuilder.nit:324 */
1877 if (UNTAG_Bool(REGB1
)) {
1878 /* syntax/mmbuilder.nit:325 */
1879 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1881 fra
.me
.REG
[4] = CALL_standard___string___AbstractString___substring_from(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
1882 fra
.me
.REG
[4] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1883 fra
.me
.REG
[6] = fra
.me
.REG
[4];
1885 /* syntax/mmbuilder.nit:327 */
1886 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1887 if (UNTAG_Bool(REGB1
)) {
1888 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 327);
1890 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1891 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*/;
1892 if (UNTAG_Bool(REGB1
)) {
1894 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 327);
1896 fra
.me
.REG
[6] = NEW_MMParam_metamodel___static_type___MMParam___init(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1897 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
1898 /* ../lib/standard/collection/array.nit:274 */
1900 /* ../lib/standard/kernel.nit:235 */
1901 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1902 /* ../lib/standard/collection/array.nit:274 */
1905 /* ../lib/standard/collection/array.nit:272 */
1910 /* syntax/mmbuilder.nit:329 */
1911 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1912 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1913 fra
.me
.REG
[0] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[0]);
1914 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1916 stack_frame_head
= fra
.me
.prev
;
1919 val_t
syntax___mmbuilder___MMSrcAncestor___local_class(val_t p0
){
1920 struct {struct stack_frame_t me
;} fra
;
1923 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1924 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1926 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcAncestor___local_class
;
1927 fra
.me
.has_broke
= 0;
1928 fra
.me
.REG_size
= 1;
1929 fra
.me
.nitni_local_ref_head
= NULL
;
1930 fra
.me
.REG
[0] = NIT_NULL
;
1932 /* syntax/mmbuilder.nit:337 */
1933 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
1934 if (UNTAG_Bool(REGB0
)) {
1936 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_syntax___mmbuilder
, 337);
1938 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[0]);
1939 stack_frame_head
= fra
.me
.prev
;
1940 return fra
.me
.REG
[0];
1942 void syntax___mmbuilder___MMSrcAncestor___init(val_t p0
, val_t p1
, int* init_table
){
1943 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___MMSrcAncestor
].i
;
1944 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1946 if (init_table
[itpos1
]) return;
1947 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1948 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1950 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcAncestor___init
;
1951 fra
.me
.has_broke
= 0;
1952 fra
.me
.REG_size
= 3;
1953 fra
.me
.nitni_local_ref_head
= NULL
;
1954 fra
.me
.REG
[0] = NIT_NULL
;
1955 fra
.me
.REG
[1] = NIT_NULL
;
1956 fra
.me
.REG
[2] = NIT_NULL
;
1959 /* syntax/mmbuilder.nit:339 */
1960 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1961 CALL_metamodel___static_type___MMAncestor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
1962 /* syntax/mmbuilder.nit:341 */
1963 ATTR_syntax___mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
1964 stack_frame_head
= fra
.me
.prev
;
1965 init_table
[itpos1
] = 1;
1968 val_t
syntax___mmbuilder___ClassBuilderVisitor___local_class_arity(val_t p0
){
1969 struct {struct stack_frame_t me
;} fra
;
1972 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1973 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1975 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity
;
1976 fra
.me
.has_broke
= 0;
1977 fra
.me
.REG_size
= 1;
1978 fra
.me
.nitni_local_ref_head
= NULL
;
1979 fra
.me
.REG
[0] = NIT_NULL
;
1981 /* syntax/mmbuilder.nit:352 */
1982 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0])!=NIT_NULL
);
1983 if (UNTAG_Bool(REGB0
)) {
1985 nit_abort("Uninitialized attribute %s", "_local_class_arity", LOCATE_syntax___mmbuilder
, 352);
1987 REGB0
= ATTR_syntax___mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0]);
1988 stack_frame_head
= fra
.me
.prev
;
1991 void syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq(val_t p0
, val_t p1
){
1992 struct {struct stack_frame_t me
;} fra
;
1995 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1996 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1998 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq
;
1999 fra
.me
.has_broke
= 0;
2000 fra
.me
.REG_size
= 1;
2001 fra
.me
.nitni_local_ref_head
= NULL
;
2002 fra
.me
.REG
[0] = NIT_NULL
;
2005 /* syntax/mmbuilder.nit:352 */
2006 ATTR_syntax___mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0]) = REGB0
;
2007 stack_frame_head
= fra
.me
.prev
;
2010 val_t
syntax___mmbuilder___ClassBuilderVisitor___formals(val_t p0
){
2011 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___formals
;
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
;
2022 /* syntax/mmbuilder.nit:355 */
2023 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___ClassBuilderVisitor____formals(fra
.me
.REG
[0]);
2024 stack_frame_head
= fra
.me
.prev
;
2025 return fra
.me
.REG
[0];
2027 void syntax___mmbuilder___ClassBuilderVisitor___formals__eq(val_t p0
, val_t p1
){
2028 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2030 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2031 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2033 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___formals__eq
;
2034 fra
.me
.has_broke
= 0;
2035 fra
.me
.REG_size
= 2;
2036 fra
.me
.nitni_local_ref_head
= NULL
;
2037 fra
.me
.REG
[0] = NIT_NULL
;
2038 fra
.me
.REG
[1] = NIT_NULL
;
2041 /* syntax/mmbuilder.nit:355 */
2042 ATTR_syntax___mmbuilder___ClassBuilderVisitor____formals(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2043 stack_frame_head
= fra
.me
.prev
;
2046 void syntax___mmbuilder___ClassBuilderVisitor___visit(val_t p0
, val_t p1
){
2047 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___visit
;
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:358 */
2062 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2063 if (UNTAG_Bool(REGB0
)) {
2064 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 358);
2066 CALL_syntax___mmbuilder___ANode___accept_class_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2067 stack_frame_head
= fra
.me
.prev
;
2070 void syntax___mmbuilder___ClassBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2071 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___ClassBuilderVisitor
].i
;
2072 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2074 if (init_table
[itpos2
]) return;
2075 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2076 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2078 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___init
;
2079 fra
.me
.has_broke
= 0;
2080 fra
.me
.REG_size
= 3;
2081 fra
.me
.nitni_local_ref_head
= NULL
;
2082 fra
.me
.REG
[0] = NIT_NULL
;
2083 fra
.me
.REG
[1] = NIT_NULL
;
2084 fra
.me
.REG
[2] = NIT_NULL
;
2088 /* syntax/mmbuilder.nit:359 */
2089 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2090 stack_frame_head
= fra
.me
.prev
;
2091 init_table
[itpos2
] = 1;
2094 void syntax___mmbuilder___ClassSpecializationBuilderVisitor___visit(val_t p0
, val_t p1
){
2095 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2098 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2099 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2101 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassSpecializationBuilderVisitor___visit
;
2102 fra
.me
.has_broke
= 0;
2103 fra
.me
.REG_size
= 2;
2104 fra
.me
.nitni_local_ref_head
= NULL
;
2105 fra
.me
.REG
[0] = NIT_NULL
;
2106 fra
.me
.REG
[1] = NIT_NULL
;
2109 /* syntax/mmbuilder.nit:366 */
2110 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2111 if (UNTAG_Bool(REGB0
)) {
2112 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 366);
2114 CALL_syntax___mmbuilder___ANode___accept_class_specialization_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2115 stack_frame_head
= fra
.me
.prev
;
2118 void syntax___mmbuilder___ClassSpecializationBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2119 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___ClassSpecializationBuilderVisitor
].i
;
2120 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2122 if (init_table
[itpos3
]) return;
2123 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2124 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2126 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassSpecializationBuilderVisitor___init
;
2127 fra
.me
.has_broke
= 0;
2128 fra
.me
.REG_size
= 3;
2129 fra
.me
.nitni_local_ref_head
= NULL
;
2130 fra
.me
.REG
[0] = NIT_NULL
;
2131 fra
.me
.REG
[1] = NIT_NULL
;
2132 fra
.me
.REG
[2] = NIT_NULL
;
2136 /* syntax/mmbuilder.nit:367 */
2137 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2138 stack_frame_head
= fra
.me
.prev
;
2139 init_table
[itpos3
] = 1;
2142 void syntax___mmbuilder___ClassAncestorBuilder___visit(val_t p0
, val_t p1
){
2143 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2146 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2147 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2149 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassAncestorBuilder___visit
;
2150 fra
.me
.has_broke
= 0;
2151 fra
.me
.REG_size
= 2;
2152 fra
.me
.nitni_local_ref_head
= NULL
;
2153 fra
.me
.REG
[0] = NIT_NULL
;
2154 fra
.me
.REG
[1] = NIT_NULL
;
2157 /* syntax/mmbuilder.nit:374 */
2158 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2159 if (UNTAG_Bool(REGB0
)) {
2160 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 374);
2162 CALL_syntax___mmbuilder___ANode___accept_class_ancestor_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2163 stack_frame_head
= fra
.me
.prev
;
2166 void syntax___mmbuilder___ClassAncestorBuilder___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2167 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___ClassAncestorBuilder
].i
;
2168 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2170 if (init_table
[itpos4
]) return;
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___init
;
2175 fra
.me
.has_broke
= 0;
2176 fra
.me
.REG_size
= 3;
2177 fra
.me
.nitni_local_ref_head
= NULL
;
2178 fra
.me
.REG
[0] = NIT_NULL
;
2179 fra
.me
.REG
[1] = NIT_NULL
;
2180 fra
.me
.REG
[2] = NIT_NULL
;
2184 /* syntax/mmbuilder.nit:375 */
2185 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2186 stack_frame_head
= fra
.me
.prev
;
2187 init_table
[itpos4
] = 1;
2190 void syntax___mmbuilder___ClassVerifierVisitor___visit(val_t p0
, val_t p1
){
2191 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2194 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2195 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2197 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassVerifierVisitor___visit
;
2198 fra
.me
.has_broke
= 0;
2199 fra
.me
.REG_size
= 2;
2200 fra
.me
.nitni_local_ref_head
= NULL
;
2201 fra
.me
.REG
[0] = NIT_NULL
;
2202 fra
.me
.REG
[1] = NIT_NULL
;
2205 /* syntax/mmbuilder.nit:382 */
2206 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2207 if (UNTAG_Bool(REGB0
)) {
2208 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 382);
2210 CALL_syntax___mmbuilder___ANode___accept_class_verifier(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2211 stack_frame_head
= fra
.me
.prev
;
2214 void syntax___mmbuilder___ClassVerifierVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2215 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___ClassVerifierVisitor
].i
;
2216 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2218 if (init_table
[itpos5
]) return;
2219 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2220 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2222 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassVerifierVisitor___init
;
2223 fra
.me
.has_broke
= 0;
2224 fra
.me
.REG_size
= 3;
2225 fra
.me
.nitni_local_ref_head
= NULL
;
2226 fra
.me
.REG
[0] = NIT_NULL
;
2227 fra
.me
.REG
[1] = NIT_NULL
;
2228 fra
.me
.REG
[2] = NIT_NULL
;
2232 /* syntax/mmbuilder.nit:383 */
2233 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2234 stack_frame_head
= fra
.me
.prev
;
2235 init_table
[itpos5
] = 1;
2238 void syntax___mmbuilder___PropertyBuilderVisitor___visit(val_t p0
, val_t p1
){
2239 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2242 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2243 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2245 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyBuilderVisitor___visit
;
2246 fra
.me
.has_broke
= 0;
2247 fra
.me
.REG_size
= 2;
2248 fra
.me
.nitni_local_ref_head
= NULL
;
2249 fra
.me
.REG
[0] = NIT_NULL
;
2250 fra
.me
.REG
[1] = NIT_NULL
;
2253 /* syntax/mmbuilder.nit:393 */
2254 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2255 if (UNTAG_Bool(REGB0
)) {
2256 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 393);
2258 CALL_syntax___mmbuilder___ANode___accept_property_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2259 stack_frame_head
= fra
.me
.prev
;
2262 void syntax___mmbuilder___PropertyBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2263 int itpos6
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___PropertyBuilderVisitor
].i
;
2264 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2266 if (init_table
[itpos6
]) return;
2267 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2268 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2270 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyBuilderVisitor___init
;
2271 fra
.me
.has_broke
= 0;
2272 fra
.me
.REG_size
= 3;
2273 fra
.me
.nitni_local_ref_head
= NULL
;
2274 fra
.me
.REG
[0] = NIT_NULL
;
2275 fra
.me
.REG
[1] = NIT_NULL
;
2276 fra
.me
.REG
[2] = NIT_NULL
;
2280 /* syntax/mmbuilder.nit:394 */
2281 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2282 stack_frame_head
= fra
.me
.prev
;
2283 init_table
[itpos6
] = 1;
2286 val_t
syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(val_t p0
){
2287 struct {struct stack_frame_t me
;} fra
;
2290 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2291 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2293 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder
;
2294 fra
.me
.has_broke
= 0;
2295 fra
.me
.REG_size
= 1;
2296 fra
.me
.nitni_local_ref_head
= NULL
;
2297 fra
.me
.REG
[0] = NIT_NULL
;
2299 /* syntax/mmbuilder.nit:402 */
2300 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0])!=NIT_NULL
);
2301 if (UNTAG_Bool(REGB0
)) {
2303 nit_abort("Uninitialized attribute %s", "_signature_builder", LOCATE_syntax___mmbuilder
, 402);
2305 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0]);
2306 stack_frame_head
= fra
.me
.prev
;
2307 return fra
.me
.REG
[0];
2309 void syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(val_t p0
, val_t p1
){
2310 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2312 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2313 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2315 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq
;
2316 fra
.me
.has_broke
= 0;
2317 fra
.me
.REG_size
= 2;
2318 fra
.me
.nitni_local_ref_head
= NULL
;
2319 fra
.me
.REG
[0] = NIT_NULL
;
2320 fra
.me
.REG
[1] = NIT_NULL
;
2323 /* syntax/mmbuilder.nit:402 */
2324 ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2325 stack_frame_head
= fra
.me
.prev
;
2328 void syntax___mmbuilder___PropertyVerifierVisitor___visit(val_t p0
, val_t p1
){
2329 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2332 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2333 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2335 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___visit
;
2336 fra
.me
.has_broke
= 0;
2337 fra
.me
.REG_size
= 2;
2338 fra
.me
.nitni_local_ref_head
= NULL
;
2339 fra
.me
.REG
[0] = NIT_NULL
;
2340 fra
.me
.REG
[1] = NIT_NULL
;
2343 /* syntax/mmbuilder.nit:405 */
2344 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2345 if (UNTAG_Bool(REGB0
)) {
2346 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 405);
2348 CALL_syntax___mmbuilder___ANode___accept_property_verifier(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2349 stack_frame_head
= fra
.me
.prev
;
2352 void syntax___mmbuilder___PropertyVerifierVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2353 int itpos7
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___PropertyVerifierVisitor
].i
;
2354 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2356 if (init_table
[itpos7
]) return;
2357 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2358 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2360 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___init
;
2361 fra
.me
.has_broke
= 0;
2362 fra
.me
.REG_size
= 4;
2363 fra
.me
.nitni_local_ref_head
= NULL
;
2364 fra
.me
.REG
[0] = NIT_NULL
;
2365 fra
.me
.REG
[1] = NIT_NULL
;
2366 fra
.me
.REG
[2] = NIT_NULL
;
2367 fra
.me
.REG
[3] = NIT_NULL
;
2371 /* syntax/mmbuilder.nit:407 */
2372 fra
.me
.REG
[3] = fra
.me
.REG
[0];
2373 /* syntax/mmbuilder.nit:409 */
2374 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2375 /* syntax/mmbuilder.nit:410 */
2376 fra
.me
.REG
[2] = NEW_SignatureBuilder_syntax___mmbuilder___SignatureBuilder___init();
2377 ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
2378 stack_frame_head
= fra
.me
.prev
;
2379 init_table
[itpos7
] = 1;
2382 val_t
syntax___mmbuilder___SignatureBuilder___params(val_t p0
){
2383 struct {struct stack_frame_t me
;} fra
;
2386 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2387 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2389 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___params
;
2390 fra
.me
.has_broke
= 0;
2391 fra
.me
.REG_size
= 1;
2392 fra
.me
.nitni_local_ref_head
= NULL
;
2393 fra
.me
.REG
[0] = NIT_NULL
;
2395 /* syntax/mmbuilder.nit:416 */
2396 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0])!=NIT_NULL
);
2397 if (UNTAG_Bool(REGB0
)) {
2399 nit_abort("Uninitialized attribute %s", "_params", LOCATE_syntax___mmbuilder
, 416);
2401 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0]);
2402 stack_frame_head
= fra
.me
.prev
;
2403 return fra
.me
.REG
[0];
2405 void syntax___mmbuilder___SignatureBuilder___params__eq(val_t p0
, val_t p1
){
2406 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2408 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2409 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2411 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___params__eq
;
2412 fra
.me
.has_broke
= 0;
2413 fra
.me
.REG_size
= 2;
2414 fra
.me
.nitni_local_ref_head
= NULL
;
2415 fra
.me
.REG
[0] = NIT_NULL
;
2416 fra
.me
.REG
[1] = NIT_NULL
;
2419 /* syntax/mmbuilder.nit:416 */
2420 ATTR_syntax___mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2421 stack_frame_head
= fra
.me
.prev
;
2424 val_t
syntax___mmbuilder___SignatureBuilder___untyped_params(val_t p0
){
2425 struct {struct stack_frame_t me
;} fra
;
2428 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2429 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2431 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___untyped_params
;
2432 fra
.me
.has_broke
= 0;
2433 fra
.me
.REG_size
= 1;
2434 fra
.me
.nitni_local_ref_head
= NULL
;
2435 fra
.me
.REG
[0] = NIT_NULL
;
2437 /* syntax/mmbuilder.nit:419 */
2438 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0])!=NIT_NULL
);
2439 if (UNTAG_Bool(REGB0
)) {
2441 nit_abort("Uninitialized attribute %s", "_untyped_params", LOCATE_syntax___mmbuilder
, 419);
2443 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0]);
2444 stack_frame_head
= fra
.me
.prev
;
2445 return fra
.me
.REG
[0];
2447 void syntax___mmbuilder___SignatureBuilder___untyped_params__eq(val_t p0
, val_t p1
){
2448 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2450 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2451 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2453 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___untyped_params__eq
;
2454 fra
.me
.has_broke
= 0;
2455 fra
.me
.REG_size
= 2;
2456 fra
.me
.nitni_local_ref_head
= NULL
;
2457 fra
.me
.REG
[0] = NIT_NULL
;
2458 fra
.me
.REG
[1] = NIT_NULL
;
2461 /* syntax/mmbuilder.nit:419 */
2462 ATTR_syntax___mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2463 stack_frame_head
= fra
.me
.prev
;
2466 val_t
syntax___mmbuilder___SignatureBuilder___vararg_rank(val_t p0
){
2467 struct {struct stack_frame_t me
;} fra
;
2470 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2471 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2473 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___vararg_rank
;
2474 fra
.me
.has_broke
= 0;
2475 fra
.me
.REG_size
= 1;
2476 fra
.me
.nitni_local_ref_head
= NULL
;
2477 fra
.me
.REG
[0] = NIT_NULL
;
2479 /* syntax/mmbuilder.nit:422 */
2480 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0])!=NIT_NULL
);
2481 if (UNTAG_Bool(REGB0
)) {
2483 nit_abort("Uninitialized attribute %s", "_vararg_rank", LOCATE_syntax___mmbuilder
, 422);
2485 REGB0
= ATTR_syntax___mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0]);
2486 stack_frame_head
= fra
.me
.prev
;
2489 void syntax___mmbuilder___SignatureBuilder___vararg_rank__eq(val_t p0
, val_t p1
){
2490 struct {struct stack_frame_t me
;} fra
;
2493 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2494 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2496 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___vararg_rank__eq
;
2497 fra
.me
.has_broke
= 0;
2498 fra
.me
.REG_size
= 1;
2499 fra
.me
.nitni_local_ref_head
= NULL
;
2500 fra
.me
.REG
[0] = NIT_NULL
;
2503 /* syntax/mmbuilder.nit:422 */
2504 ATTR_syntax___mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0]) = REGB0
;
2505 stack_frame_head
= fra
.me
.prev
;
2508 val_t
syntax___mmbuilder___SignatureBuilder___closure_decls(val_t p0
){
2509 struct {struct stack_frame_t me
;} fra
;
2512 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2513 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2515 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___closure_decls
;
2516 fra
.me
.has_broke
= 0;
2517 fra
.me
.REG_size
= 1;
2518 fra
.me
.nitni_local_ref_head
= NULL
;
2519 fra
.me
.REG
[0] = NIT_NULL
;
2521 /* syntax/mmbuilder.nit:425 */
2522 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0])!=NIT_NULL
);
2523 if (UNTAG_Bool(REGB0
)) {
2525 nit_abort("Uninitialized attribute %s", "_closure_decls", LOCATE_syntax___mmbuilder
, 425);
2527 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0]);
2528 stack_frame_head
= fra
.me
.prev
;
2529 return fra
.me
.REG
[0];
2531 void syntax___mmbuilder___SignatureBuilder___closure_decls__eq(val_t p0
, val_t p1
){
2532 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2534 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2535 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2537 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___closure_decls__eq
;
2538 fra
.me
.has_broke
= 0;
2539 fra
.me
.REG_size
= 2;
2540 fra
.me
.nitni_local_ref_head
= NULL
;
2541 fra
.me
.REG
[0] = NIT_NULL
;
2542 fra
.me
.REG
[1] = NIT_NULL
;
2545 /* syntax/mmbuilder.nit:425 */
2546 ATTR_syntax___mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2547 stack_frame_head
= fra
.me
.prev
;
2550 val_t
syntax___mmbuilder___SignatureBuilder___has_error_occured(val_t p0
){
2551 struct {struct stack_frame_t me
;} fra
;
2554 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2555 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2557 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___has_error_occured
;
2558 fra
.me
.has_broke
= 0;
2559 fra
.me
.REG_size
= 1;
2560 fra
.me
.nitni_local_ref_head
= NULL
;
2561 fra
.me
.REG
[0] = NIT_NULL
;
2563 /* syntax/mmbuilder.nit:428 */
2564 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0])!=NIT_NULL
);
2565 if (UNTAG_Bool(REGB0
)) {
2567 nit_abort("Uninitialized attribute %s", "_has_error_occured", LOCATE_syntax___mmbuilder
, 428);
2569 REGB0
= ATTR_syntax___mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0]);
2570 stack_frame_head
= fra
.me
.prev
;
2573 void syntax___mmbuilder___SignatureBuilder___has_error_occured__eq(val_t p0
, val_t p1
){
2574 struct {struct stack_frame_t me
;} fra
;
2577 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2578 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2580 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq
;
2581 fra
.me
.has_broke
= 0;
2582 fra
.me
.REG_size
= 1;
2583 fra
.me
.nitni_local_ref_head
= NULL
;
2584 fra
.me
.REG
[0] = NIT_NULL
;
2587 /* syntax/mmbuilder.nit:428 */
2588 ATTR_syntax___mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0]) = REGB0
;
2589 stack_frame_head
= fra
.me
.prev
;
2592 val_t
syntax___mmbuilder___SignatureBuilder___signature(val_t p0
){
2593 struct {struct stack_frame_t me
;} fra
;
2595 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2596 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2598 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___signature
;
2599 fra
.me
.has_broke
= 0;
2600 fra
.me
.REG_size
= 1;
2601 fra
.me
.nitni_local_ref_head
= NULL
;
2602 fra
.me
.REG
[0] = NIT_NULL
;
2604 /* syntax/mmbuilder.nit:431 */
2605 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___SignatureBuilder____signature(fra
.me
.REG
[0]);
2606 stack_frame_head
= fra
.me
.prev
;
2607 return fra
.me
.REG
[0];
2609 void syntax___mmbuilder___SignatureBuilder___signature__eq(val_t p0
, val_t p1
){
2610 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2612 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2613 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2615 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___signature__eq
;
2616 fra
.me
.has_broke
= 0;
2617 fra
.me
.REG_size
= 2;
2618 fra
.me
.nitni_local_ref_head
= NULL
;
2619 fra
.me
.REG
[0] = NIT_NULL
;
2620 fra
.me
.REG
[1] = NIT_NULL
;
2623 /* syntax/mmbuilder.nit:431 */
2624 ATTR_syntax___mmbuilder___SignatureBuilder____signature(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2625 stack_frame_head
= fra
.me
.prev
;
2628 void syntax___mmbuilder___SignatureBuilder___init(val_t p0
, int* init_table
){
2629 int itpos8
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___SignatureBuilder
].i
;
2630 struct {struct stack_frame_t me
;} fra
;
2632 if (init_table
[itpos8
]) return;
2633 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2634 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2636 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___init
;
2637 fra
.me
.has_broke
= 0;
2638 fra
.me
.REG_size
= 0;
2639 fra
.me
.nitni_local_ref_head
= NULL
;
2640 stack_frame_head
= fra
.me
.prev
;
2641 init_table
[itpos8
] = 1;
2644 void syntax___mmbuilder___ANode___accept_class_builder(val_t p0
, val_t p1
){
2645 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2647 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2648 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2650 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_class_builder
;
2651 fra
.me
.has_broke
= 0;
2652 fra
.me
.REG_size
= 2;
2653 fra
.me
.nitni_local_ref_head
= NULL
;
2654 fra
.me
.REG
[0] = NIT_NULL
;
2655 fra
.me
.REG
[1] = NIT_NULL
;
2658 /* syntax/mmbuilder.nit:438 */
2659 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2660 stack_frame_head
= fra
.me
.prev
;
2663 void syntax___mmbuilder___ANode___accept_class_specialization_builder(val_t p0
, val_t p1
){
2664 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2666 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2667 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2669 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_class_specialization_builder
;
2670 fra
.me
.has_broke
= 0;
2671 fra
.me
.REG_size
= 2;
2672 fra
.me
.nitni_local_ref_head
= NULL
;
2673 fra
.me
.REG
[0] = NIT_NULL
;
2674 fra
.me
.REG
[1] = NIT_NULL
;
2677 /* syntax/mmbuilder.nit:439 */
2678 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2679 stack_frame_head
= fra
.me
.prev
;
2682 void syntax___mmbuilder___ANode___accept_class_ancestor_builder(val_t p0
, val_t p1
){
2683 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2685 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2686 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2688 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_class_ancestor_builder
;
2689 fra
.me
.has_broke
= 0;
2690 fra
.me
.REG_size
= 2;
2691 fra
.me
.nitni_local_ref_head
= NULL
;
2692 fra
.me
.REG
[0] = NIT_NULL
;
2693 fra
.me
.REG
[1] = NIT_NULL
;
2696 /* syntax/mmbuilder.nit:440 */
2697 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2698 stack_frame_head
= fra
.me
.prev
;
2701 void syntax___mmbuilder___ANode___accept_class_verifier(val_t p0
, val_t p1
){
2702 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2704 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2705 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2707 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_class_verifier
;
2708 fra
.me
.has_broke
= 0;
2709 fra
.me
.REG_size
= 2;
2710 fra
.me
.nitni_local_ref_head
= NULL
;
2711 fra
.me
.REG
[0] = NIT_NULL
;
2712 fra
.me
.REG
[1] = NIT_NULL
;
2715 /* syntax/mmbuilder.nit:441 */
2716 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2717 stack_frame_head
= fra
.me
.prev
;
2720 void syntax___mmbuilder___ANode___accept_property_builder(val_t p0
, val_t p1
){
2721 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2723 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2724 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2726 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_property_builder
;
2727 fra
.me
.has_broke
= 0;
2728 fra
.me
.REG_size
= 2;
2729 fra
.me
.nitni_local_ref_head
= NULL
;
2730 fra
.me
.REG
[0] = NIT_NULL
;
2731 fra
.me
.REG
[1] = NIT_NULL
;
2734 /* syntax/mmbuilder.nit:442 */
2735 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2736 stack_frame_head
= fra
.me
.prev
;
2739 void syntax___mmbuilder___ANode___accept_property_verifier(val_t p0
, val_t p1
){
2740 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2742 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2743 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2745 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_property_verifier
;
2746 fra
.me
.has_broke
= 0;
2747 fra
.me
.REG_size
= 2;
2748 fra
.me
.nitni_local_ref_head
= NULL
;
2749 fra
.me
.REG
[0] = NIT_NULL
;
2750 fra
.me
.REG
[1] = NIT_NULL
;
2753 /* syntax/mmbuilder.nit:443 */
2754 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2755 stack_frame_head
= fra
.me
.prev
;
2758 void syntax___mmbuilder___AModule___import_super_modules(val_t p0
, val_t p1
, val_t p2
){
2759 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2763 static val_t once_value_2
; /* Once value */
2764 static val_t once_value_3
; /* Once value */
2765 static val_t once_value_4
; /* Once value */
2766 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2767 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2769 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AModule___import_super_modules
;
2770 fra
.me
.has_broke
= 0;
2771 fra
.me
.REG_size
= 5;
2772 fra
.me
.nitni_local_ref_head
= NULL
;
2773 fra
.me
.REG
[0] = NIT_NULL
;
2774 fra
.me
.REG
[1] = NIT_NULL
;
2775 fra
.me
.REG
[2] = NIT_NULL
;
2776 fra
.me
.REG
[3] = NIT_NULL
;
2777 fra
.me
.REG
[4] = NIT_NULL
;
2781 /* syntax/mmbuilder.nit:451 */
2782 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___init();
2783 /* syntax/mmbuilder.nit:452 */
2784 fra
.me
.REG
[4] = NIT_NULL
;
2785 /* syntax/mmbuilder.nit:453 */
2786 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AModule___n_imports(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2787 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
));
2788 /* syntax/mmbuilder.nit:463 */
2789 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2790 if (UNTAG_Bool(REGB0
)) {
2792 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2793 if (UNTAG_Bool(REGB1
)) {
2794 REGB1
= TAG_Bool(false);
2797 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
2801 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2802 if (UNTAG_Bool(REGB0
)) {
2803 /* syntax/mmbuilder.nit:464 */
2804 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2805 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2806 if (UNTAG_Bool(REGB0
)) {
2807 /* syntax/mmbuilder.nit:465 */
2808 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2809 if (UNTAG_Bool(REGB0
)) {
2810 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 465);
2812 fra
.me
.REG
[4] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2813 if (!once_value_2
) {
2814 fra
.me
.REG
[0] = BOX_NativeString("Error: Top modules cannot import other modules.");
2815 REGB0
= TAG_Int(47);
2816 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2817 once_value_2
= fra
.me
.REG
[0];
2818 register_static_object(&once_value_2
);
2819 } else fra
.me
.REG
[0] = once_value_2
;
2820 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2821 CALL_toolcontext___ToolContext___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[0]);
2824 /* syntax/mmbuilder.nit:467 */
2825 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2826 if (UNTAG_Bool(REGB0
)) {
2827 /* syntax/mmbuilder.nit:468 */
2828 if (!once_value_3
) {
2829 if (!once_value_4
) {
2830 fra
.me
.REG
[0] = BOX_NativeString("standard");
2832 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2833 once_value_4
= fra
.me
.REG
[0];
2834 register_static_object(&once_value_4
);
2835 } else fra
.me
.REG
[0] = once_value_4
;
2836 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2837 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2838 once_value_3
= fra
.me
.REG
[0];
2839 register_static_object(&once_value_3
);
2840 } else fra
.me
.REG
[0] = once_value_3
;
2841 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2842 /* syntax/mmbuilder.nit:469 */
2843 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]);
2844 /* syntax/mmbuilder.nit:470 */
2845 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2846 /* syntax/mmbuilder.nit:471 */
2848 CALL_metamodel___abstractmetamodel___MMModule___add_super_module(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0], REGB0
);
2851 /* syntax/mmbuilder.nit:474 */
2852 CALL_metamodel___abstractmetamodel___MMContext___add_module(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[3]);
2853 stack_frame_head
= fra
.me
.prev
;
2856 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
){
2857 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2862 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2863 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2865 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AModule___import_super_modules
;
2866 fra
.me
.has_broke
= 0;
2867 fra
.me
.REG_size
= 2;
2868 fra
.me
.nitni_local_ref_head
= NULL
;
2869 fra
.me
.REG
[0] = NIT_NULL
;
2870 fra
.me
.REG
[1] = NIT_NULL
;
2871 fra
.me
.closure_ctx
= closctx_param
;
2872 fra
.me
.closure_funs
= CREG
;
2874 CREG
[0] = clos_fun0
;
2875 /* syntax/mmbuilder.nit:454 */
2876 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___AImport___module_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2877 /* syntax/mmbuilder.nit:455 */
2878 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2879 if (UNTAG_Bool(REGB0
)) {
2881 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2882 if (UNTAG_Bool(REGB1
)) {
2883 REGB1
= TAG_Bool(false);
2886 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
2890 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2891 if (UNTAG_Bool(REGB0
)) {
2892 /* syntax/mmbuilder.nit:456 */
2893 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___get_module(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[1], closctx
->REG
[2]);
2894 /* syntax/mmbuilder.nit:457 */
2895 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[1]);
2896 /* syntax/mmbuilder.nit:458 */
2897 REGB0
= CALL_syntax___mmbuilder___AImport___visibility_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2898 CALL_metamodel___abstractmetamodel___MMModule___add_super_module(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[1], REGB0
);
2900 /* syntax/mmbuilder.nit:460 */
2901 closctx
->REG
[4] = fra
.me
.REG
[0];
2903 stack_frame_head
= fra
.me
.prev
;
2906 void syntax___mmbuilder___AModuledecl___accept_class_builder(val_t p0
, val_t p1
){
2907 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2911 static val_t once_value_1
; /* Once value */
2912 static val_t once_value_2
; /* Once value */
2913 static val_t once_value_3
; /* Once value */
2914 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2915 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2917 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AModuledecl___accept_class_builder
;
2918 fra
.me
.has_broke
= 0;
2919 fra
.me
.REG_size
= 5;
2920 fra
.me
.nitni_local_ref_head
= NULL
;
2921 fra
.me
.REG
[0] = NIT_NULL
;
2922 fra
.me
.REG
[1] = NIT_NULL
;
2923 fra
.me
.REG
[2] = NIT_NULL
;
2924 fra
.me
.REG
[3] = NIT_NULL
;
2925 fra
.me
.REG
[4] = NIT_NULL
;
2928 /* syntax/mmbuilder.nit:481 */
2929 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AModuledecl___n_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2930 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AModuleName___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2931 fra
.me
.REG
[2] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2932 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2933 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2934 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[3]));
2935 if (UNTAG_Bool(REGB0
)) {
2937 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2940 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2941 if (UNTAG_Bool(REGB0
)) {
2942 /* syntax/mmbuilder.nit:482 */
2943 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AModuledecl___n_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2944 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AModuleName___n_id(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2946 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2947 if (!once_value_1
) {
2948 fra
.me
.REG
[4] = BOX_NativeString("Error: Module name mismatch between ");
2949 REGB0
= TAG_Int(36);
2950 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2951 once_value_1
= fra
.me
.REG
[4];
2952 register_static_object(&once_value_1
);
2953 } else fra
.me
.REG
[4] = once_value_1
;
2954 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2955 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2956 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2957 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2958 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2959 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2960 if (!once_value_2
) {
2961 fra
.me
.REG
[4] = BOX_NativeString(" and ");
2963 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2964 once_value_2
= fra
.me
.REG
[4];
2965 register_static_object(&once_value_2
);
2966 } else fra
.me
.REG
[4] = once_value_2
;
2967 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2968 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2969 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AModuledecl___n_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2970 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AModuleName___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2971 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2972 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2973 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2974 if (!once_value_3
) {
2975 fra
.me
.REG
[0] = BOX_NativeString("");
2977 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2978 once_value_3
= fra
.me
.REG
[0];
2979 register_static_object(&once_value_3
);
2980 } else fra
.me
.REG
[0] = once_value_3
;
2981 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2982 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2983 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2984 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3], fra
.me
.REG
[2]);
2986 stack_frame_head
= fra
.me
.prev
;
2989 val_t
syntax___mmbuilder___AImport___module_name(val_t p0
){
2990 struct {struct stack_frame_t me
;} fra
;
2992 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2993 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2995 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AImport___module_name
;
2996 fra
.me
.has_broke
= 0;
2997 fra
.me
.REG_size
= 0;
2998 fra
.me
.nitni_local_ref_head
= NULL
;
2999 /* syntax/mmbuilder.nit:488 */
3000 nit_abort("Deferred method called", NULL
, LOCATE_syntax___mmbuilder
, 488);
3001 stack_frame_head
= fra
.me
.prev
;
3004 val_t
syntax___mmbuilder___AImport___visibility_level(val_t p0
){
3005 struct {struct stack_frame_t me
;} fra
;
3007 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3008 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3010 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AImport___visibility_level
;
3011 fra
.me
.has_broke
= 0;
3012 fra
.me
.REG_size
= 0;
3013 fra
.me
.nitni_local_ref_head
= NULL
;
3014 /* syntax/mmbuilder.nit:491 */
3015 nit_abort("Deferred method called", NULL
, LOCATE_syntax___mmbuilder
, 491);
3016 stack_frame_head
= fra
.me
.prev
;
3019 val_t
syntax___mmbuilder___AStdImport___module_name(val_t p0
){
3020 struct {struct stack_frame_t me
;} fra
;
3022 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3023 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3025 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdImport___module_name
;
3026 fra
.me
.has_broke
= 0;
3027 fra
.me
.REG_size
= 1;
3028 fra
.me
.nitni_local_ref_head
= NULL
;
3029 fra
.me
.REG
[0] = NIT_NULL
;
3031 /* syntax/mmbuilder.nit:497 */
3032 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdImport___n_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3033 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AModuleName___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3034 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3037 stack_frame_head
= fra
.me
.prev
;
3038 return fra
.me
.REG
[0];
3040 val_t
syntax___mmbuilder___AStdImport___visibility_level(val_t p0
){
3041 struct {struct stack_frame_t me
;} fra
;
3044 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3045 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3047 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdImport___visibility_level
;
3048 fra
.me
.has_broke
= 0;
3049 fra
.me
.REG_size
= 1;
3050 fra
.me
.nitni_local_ref_head
= NULL
;
3051 fra
.me
.REG
[0] = NIT_NULL
;
3053 /* syntax/mmbuilder.nit:501 */
3054 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdImport___n_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3055 REGB0
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3058 stack_frame_head
= fra
.me
.prev
;
3061 val_t
syntax___mmbuilder___ANoImport___module_name(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___ANoImport___module_name
;
3068 fra
.me
.has_broke
= 0;
3069 fra
.me
.REG_size
= 1;
3070 fra
.me
.nitni_local_ref_head
= NULL
;
3071 fra
.me
.REG
[0] = NIT_NULL
;
3073 /* syntax/mmbuilder.nit:507 */
3074 fra
.me
.REG
[0] = NIT_NULL
;
3077 stack_frame_head
= fra
.me
.prev
;
3078 return fra
.me
.REG
[0];
3080 val_t
syntax___mmbuilder___AVisibility___level(val_t p0
){
3081 struct {struct stack_frame_t me
;} fra
;
3083 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3084 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3086 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AVisibility___level
;
3087 fra
.me
.has_broke
= 0;
3088 fra
.me
.REG_size
= 0;
3089 fra
.me
.nitni_local_ref_head
= NULL
;
3090 /* syntax/mmbuilder.nit:512 */
3091 nit_abort("Deferred method called", NULL
, LOCATE_syntax___mmbuilder
, 512);
3092 stack_frame_head
= fra
.me
.prev
;
3095 val_t
syntax___mmbuilder___APublicVisibility___level(val_t p0
){
3096 struct {struct stack_frame_t me
;} fra
;
3099 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3100 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3102 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APublicVisibility___level
;
3103 fra
.me
.has_broke
= 0;
3104 fra
.me
.REG_size
= 1;
3105 fra
.me
.nitni_local_ref_head
= NULL
;
3106 fra
.me
.REG
[0] = NIT_NULL
;
3108 /* syntax/mmbuilder.nit:516 */
3112 stack_frame_head
= fra
.me
.prev
;
3115 val_t
syntax___mmbuilder___AProtectedVisibility___level(val_t p0
){
3116 struct {struct stack_frame_t me
;} fra
;
3119 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3120 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3122 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AProtectedVisibility___level
;
3123 fra
.me
.has_broke
= 0;
3124 fra
.me
.REG_size
= 1;
3125 fra
.me
.nitni_local_ref_head
= NULL
;
3126 fra
.me
.REG
[0] = NIT_NULL
;
3128 /* syntax/mmbuilder.nit:519 */
3132 stack_frame_head
= fra
.me
.prev
;
3135 val_t
syntax___mmbuilder___APrivateVisibility___level(val_t p0
){
3136 struct {struct stack_frame_t me
;} fra
;
3139 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3140 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3142 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APrivateVisibility___level
;
3143 fra
.me
.has_broke
= 0;
3144 fra
.me
.REG_size
= 1;
3145 fra
.me
.nitni_local_ref_head
= NULL
;
3146 fra
.me
.REG
[0] = NIT_NULL
;
3148 /* syntax/mmbuilder.nit:522 */
3152 stack_frame_head
= fra
.me
.prev
;
3155 val_t
syntax___mmbuilder___AIntrudeVisibility___level(val_t p0
){
3156 struct {struct stack_frame_t me
;} fra
;
3159 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3160 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3162 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AIntrudeVisibility___level
;
3163 fra
.me
.has_broke
= 0;
3164 fra
.me
.REG_size
= 1;
3165 fra
.me
.nitni_local_ref_head
= NULL
;
3166 fra
.me
.REG
[0] = NIT_NULL
;
3168 /* syntax/mmbuilder.nit:525 */
3172 stack_frame_head
= fra
.me
.prev
;
3175 val_t
syntax___mmbuilder___AClassdef___local_class(val_t p0
){
3176 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3179 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3180 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3182 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___local_class
;
3183 fra
.me
.has_broke
= 0;
3184 fra
.me
.REG_size
= 2;
3185 fra
.me
.nitni_local_ref_head
= NULL
;
3186 fra
.me
.REG
[0] = NIT_NULL
;
3187 fra
.me
.REG
[1] = NIT_NULL
;
3189 /* syntax/mmbuilder.nit:530 */
3190 fra
.me
.REG
[1] = fra
.me
.REG
[0];
3191 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[1]);
3192 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
3193 if (UNTAG_Bool(REGB0
)) {
3195 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 530);
3199 stack_frame_head
= fra
.me
.prev
;
3200 return fra
.me
.REG
[1];
3202 val_t
syntax___mmbuilder___AClassdef___name(val_t p0
){
3203 struct {struct stack_frame_t me
;} fra
;
3205 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3206 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3208 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___name
;
3209 fra
.me
.has_broke
= 0;
3210 fra
.me
.REG_size
= 0;
3211 fra
.me
.nitni_local_ref_head
= NULL
;
3212 /* syntax/mmbuilder.nit:533 */
3213 nit_abort("Deferred method called", NULL
, LOCATE_syntax___mmbuilder
, 533);
3214 stack_frame_head
= fra
.me
.prev
;
3217 val_t
syntax___mmbuilder___AClassdef___arity(val_t p0
){
3218 struct {struct stack_frame_t me
;} fra
;
3221 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3222 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3224 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___arity
;
3225 fra
.me
.has_broke
= 0;
3226 fra
.me
.REG_size
= 1;
3227 fra
.me
.nitni_local_ref_head
= NULL
;
3228 fra
.me
.REG
[0] = NIT_NULL
;
3230 /* syntax/mmbuilder.nit:537 */
3234 stack_frame_head
= fra
.me
.prev
;
3237 val_t
syntax___mmbuilder___AClassdef___visibility_level(val_t p0
){
3238 struct {struct stack_frame_t me
;} fra
;
3241 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3242 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3244 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___visibility_level
;
3245 fra
.me
.has_broke
= 0;
3246 fra
.me
.REG_size
= 1;
3247 fra
.me
.nitni_local_ref_head
= NULL
;
3248 fra
.me
.REG
[0] = NIT_NULL
;
3250 /* syntax/mmbuilder.nit:540 */
3254 stack_frame_head
= fra
.me
.prev
;
3257 void syntax___mmbuilder___AClassdef___accept_class_builder(val_t p0
, val_t p1
){
3258 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
3262 static val_t once_value_1
; /* Once value */
3263 static val_t once_value_2
; /* Once value */
3264 static val_t once_value_3
; /* Once value */
3265 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3266 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3268 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___accept_class_builder
;
3269 fra
.me
.has_broke
= 0;
3270 fra
.me
.REG_size
= 9;
3271 fra
.me
.nitni_local_ref_head
= NULL
;
3272 fra
.me
.REG
[0] = NIT_NULL
;
3273 fra
.me
.REG
[1] = NIT_NULL
;
3274 fra
.me
.REG
[2] = NIT_NULL
;
3275 fra
.me
.REG
[3] = NIT_NULL
;
3276 fra
.me
.REG
[4] = NIT_NULL
;
3277 fra
.me
.REG
[5] = NIT_NULL
;
3278 fra
.me
.REG
[6] = NIT_NULL
;
3279 fra
.me
.REG
[7] = NIT_NULL
;
3280 fra
.me
.REG
[8] = NIT_NULL
;
3283 /* syntax/mmbuilder.nit:542 */
3284 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3285 fra
.me
.REG
[3] = fra
.me
.REG
[1];
3286 /* syntax/mmbuilder.nit:545 */
3287 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3288 /* syntax/mmbuilder.nit:546 */
3289 fra
.me
.REG
[5] = CALL_syntax___syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3290 /* syntax/mmbuilder.nit:547 */
3291 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3292 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3293 if (UNTAG_Bool(REGB0
)) {
3294 /* syntax/mmbuilder.nit:548 */
3295 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3296 fra
.me
.REG
[6] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3297 /* syntax/mmbuilder.nit:549 */
3298 ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[6];
3299 /* syntax/mmbuilder.nit:550 */
3300 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_parser___parser_nodes___AStdClassdef
, ID_parser___parser_nodes___AStdClassdef
)) /*cast AStdClassdef*/;
3301 if (UNTAG_Bool(REGB0
)) {
3302 /* syntax/mmbuilder.nit:552 */
3304 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3305 if (!once_value_1
) {
3306 fra
.me
.REG
[8] = BOX_NativeString("Error: A class ");
3307 REGB0
= TAG_Int(15);
3308 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3309 once_value_1
= fra
.me
.REG
[8];
3310 register_static_object(&once_value_1
);
3311 } else fra
.me
.REG
[8] = once_value_1
;
3312 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3313 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3314 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3315 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3316 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3317 if (!once_value_2
) {
3318 fra
.me
.REG
[8] = BOX_NativeString(" is already defined at line ");
3319 REGB0
= TAG_Int(28);
3320 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3321 once_value_2
= fra
.me
.REG
[8];
3322 register_static_object(&once_value_2
);
3323 } else fra
.me
.REG
[8] = once_value_2
;
3324 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3325 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3326 fra
.me
.REG
[8] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3327 REGB0
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
3328 if (UNTAG_Bool(REGB0
)) {
3329 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 552);
3331 fra
.me
.REG
[8] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3332 REGB0
= CALL_location___Location___line_start(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3333 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
3334 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3335 if (!once_value_3
) {
3336 fra
.me
.REG
[8] = BOX_NativeString(".");
3338 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3339 once_value_3
= fra
.me
.REG
[8];
3340 register_static_object(&once_value_3
);
3341 } else fra
.me
.REG
[8] = once_value_3
;
3342 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3343 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3344 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3345 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3346 /* syntax/mmbuilder.nit:553 */
3349 /* syntax/mmbuilder.nit:556 */
3350 fra
.me
.REG
[7] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3351 /* syntax/mmbuilder.nit:557 */
3353 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3354 if (UNTAG_Bool(REGB0
)) {
3355 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 557);
3357 fra
.me
.REG
[8] = CALL_syntax___syntax_base___AClassdef___next_node(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3358 REGB0
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
3359 if (UNTAG_Bool(REGB0
)) {
3361 REGB1
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
3362 if (UNTAG_Bool(REGB1
)) {
3363 REGB1
= TAG_Bool(false);
3366 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
3370 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3371 if (UNTAG_Bool(REGB0
)) {
3372 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3373 if (UNTAG_Bool(REGB0
)) {
3374 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 557);
3376 fra
.me
.REG
[8] = CALL_syntax___syntax_base___AClassdef___next_node(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3377 fra
.me
.REG
[7] = fra
.me
.REG
[8];
3383 /* syntax/mmbuilder.nit:558 */
3384 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3385 if (UNTAG_Bool(REGB0
)) {
3386 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 558);
3388 CALL_syntax___syntax_base___AClassdef___next_node__eq(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2]);
3390 /* syntax/mmbuilder.nit:560 */
3391 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3392 REGB0
= CALL_syntax___mmbuilder___AClassdef___arity(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3393 fra
.me
.REG
[7] = NEW_MMSrcLocalClass_syntax___syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[4], fra
.me
.REG
[7], fra
.me
.REG
[2], REGB0
);
3394 fra
.me
.REG
[6] = fra
.me
.REG
[7];
3395 /* syntax/mmbuilder.nit:561 */
3396 ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[6];
3397 /* syntax/mmbuilder.nit:562 */
3398 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3399 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7], fra
.me
.REG
[6]);
3400 /* syntax/mmbuilder.nit:563 */
3401 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3402 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
3403 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3404 if (UNTAG_Bool(REGB0
)) {
3405 /* syntax/mmbuilder.nit:564 */
3406 CALL_syntax___mmbuilder___AClassdef___build_class_introduction(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3408 /* syntax/mmbuilder.nit:566 */
3409 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3410 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMModule___global_class_named(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
3411 /* syntax/mmbuilder.nit:567 */
3412 CALL_syntax___mmbuilder___AClassdef___build_class_refinement(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[7]);
3415 /* syntax/mmbuilder.nit:571 */
3417 CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
3418 /* syntax/mmbuilder.nit:572 */
3419 fra
.me
.REG
[6] = CALL_syntax___syntax_base___MMSrcLocalClass___formal_dict(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3420 CALL_syntax___mmbuilder___ClassBuilderVisitor___formals__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3421 /* syntax/mmbuilder.nit:575 */
3422 CALL_SUPER_syntax___mmbuilder___AClassdef___accept_class_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3423 /* syntax/mmbuilder.nit:578 */
3424 CALL_syntax___mmbuilder___ClassBuilderVisitor___formals__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3426 stack_frame_head
= fra
.me
.prev
;
3429 void syntax___mmbuilder___AClassdef___build_class_introduction(val_t p0
, val_t p1
){
3430 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
3434 static val_t once_value_1
; /* Once value */
3435 static val_t once_value_2
; /* Once value */
3436 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3437 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3439 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___build_class_introduction
;
3440 fra
.me
.has_broke
= 0;
3441 fra
.me
.REG_size
= 5;
3442 fra
.me
.nitni_local_ref_head
= NULL
;
3443 fra
.me
.REG
[0] = NIT_NULL
;
3444 fra
.me
.REG
[1] = NIT_NULL
;
3445 fra
.me
.REG
[2] = NIT_NULL
;
3446 fra
.me
.REG
[3] = NIT_NULL
;
3447 fra
.me
.REG
[4] = NIT_NULL
;
3450 /* syntax/mmbuilder.nit:583 */
3451 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3452 CALL_metamodel___abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3453 /* syntax/mmbuilder.nit:584 */
3454 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3455 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3456 /* syntax/mmbuilder.nit:586 */
3457 REGB0
= CALL_syntax___mmbuilder___AClassdef___visibility_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3458 CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3459 /* syntax/mmbuilder.nit:587 */
3460 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AStdClassdef
, ID_parser___parser_nodes___AStdClassdef
)) /*cast AStdClassdef*/;
3461 if (UNTAG_Bool(REGB0
)) {
3462 /* syntax/mmbuilder.nit:588 */
3463 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3464 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3465 if (UNTAG_Bool(REGB0
)) {
3467 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3468 if (UNTAG_Bool(REGB1
)) {
3469 REGB1
= TAG_Bool(false);
3472 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3476 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3477 if (UNTAG_Bool(REGB0
)) {
3478 /* syntax/mmbuilder.nit:589 */
3480 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3481 if (!once_value_1
) {
3482 fra
.me
.REG
[4] = BOX_NativeString("Redef error: No class ");
3483 REGB0
= TAG_Int(22);
3484 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3485 once_value_1
= fra
.me
.REG
[4];
3486 register_static_object(&once_value_1
);
3487 } else fra
.me
.REG
[4] = once_value_1
;
3488 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3489 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3490 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3491 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3492 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3493 if (!once_value_2
) {
3494 fra
.me
.REG
[4] = BOX_NativeString(" is imported. Remove the redef keyword to define a new class.");
3495 REGB0
= TAG_Int(61);
3496 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3497 once_value_2
= fra
.me
.REG
[4];
3498 register_static_object(&once_value_2
);
3499 } else fra
.me
.REG
[4] = once_value_2
;
3500 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3501 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3502 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3503 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
3504 /* syntax/mmbuilder.nit:590 */
3507 /* syntax/mmbuilder.nit:592 */
3508 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3509 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_interface(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3510 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3511 /* syntax/mmbuilder.nit:593 */
3512 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3513 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3514 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3515 /* syntax/mmbuilder.nit:594 */
3516 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3517 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_enum(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3518 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3521 stack_frame_head
= fra
.me
.prev
;
3524 void syntax___mmbuilder___AClassdef___build_class_refinement(val_t p0
, val_t p1
, val_t p2
){
3525 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
3530 static val_t once_value_1
; /* Once value */
3531 static val_t once_value_2
; /* Once value */
3532 static val_t once_value_4
; /* Once value */
3533 static val_t once_value_5
; /* Once value */
3534 static val_t once_value_6
; /* Once value */
3535 static val_t once_value_7
; /* Once value */
3536 static val_t once_value_8
; /* Once value */
3537 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3538 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3540 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___build_class_refinement
;
3541 fra
.me
.has_broke
= 0;
3542 fra
.me
.REG_size
= 5;
3543 fra
.me
.nitni_local_ref_head
= NULL
;
3544 fra
.me
.REG
[0] = NIT_NULL
;
3545 fra
.me
.REG
[1] = NIT_NULL
;
3546 fra
.me
.REG
[2] = NIT_NULL
;
3547 fra
.me
.REG
[3] = NIT_NULL
;
3548 fra
.me
.REG
[4] = NIT_NULL
;
3552 /* syntax/mmbuilder.nit:600 */
3553 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3554 CALL_metamodel___abstractmetamodel___MMLocalClass___set_global(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3555 /* syntax/mmbuilder.nit:602 */
3556 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3557 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]);
3558 /* syntax/mmbuilder.nit:603 */
3559 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AStdClassdef
, ID_parser___parser_nodes___AStdClassdef
)) /*cast AStdClassdef*/;
3560 if (UNTAG_Bool(REGB0
)) {
3561 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3562 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3563 if (UNTAG_Bool(REGB0
)) {
3565 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3566 if (UNTAG_Bool(REGB1
)) {
3567 REGB1
= TAG_Bool(false);
3570 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3575 REGB1
= TAG_Bool(false);
3578 if (UNTAG_Bool(REGB0
)) {
3579 /* syntax/mmbuilder.nit:604 */
3581 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3582 if (!once_value_1
) {
3583 fra
.me
.REG
[4] = BOX_NativeString("Redef error: ");
3584 REGB0
= TAG_Int(13);
3585 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3586 once_value_1
= fra
.me
.REG
[4];
3587 register_static_object(&once_value_1
);
3588 } else fra
.me
.REG
[4] = once_value_1
;
3589 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3590 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3591 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3592 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3593 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3594 if (!once_value_2
) {
3595 fra
.me
.REG
[4] = BOX_NativeString(" is an imported class. Add the redef keyword to refine it.");
3596 REGB0
= TAG_Int(58);
3597 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3598 once_value_2
= fra
.me
.REG
[4];
3599 register_static_object(&once_value_2
);
3600 } else fra
.me
.REG
[4] = once_value_2
;
3601 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3602 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3603 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3604 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
3605 /* syntax/mmbuilder.nit:605 */
3608 /* syntax/mmbuilder.nit:608 */
3609 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3610 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3611 fra
.me
.REG
[3] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[0]);
3612 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3613 if (UNTAG_Bool(REGB1
)) {
3614 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 608);
3616 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3617 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
3618 if (UNTAG_Bool(REGB2
)) {
3620 /* ../lib/standard/kernel.nit:227 */
3621 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
3622 /* syntax/mmbuilder.nit:608 */
3625 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
3626 if (UNTAG_Bool(REGB2
)) {
3627 /* syntax/mmbuilder.nit:609 */
3629 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
3630 if (!once_value_4
) {
3631 fra
.me
.REG
[4] = BOX_NativeString("Redef error: Formal parameter arity missmatch; got ");
3632 REGB2
= TAG_Int(51);
3633 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
3634 once_value_4
= fra
.me
.REG
[4];
3635 register_static_object(&once_value_4
);
3636 } else fra
.me
.REG
[4] = once_value_4
;
3637 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3638 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3639 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[0]);
3640 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3641 if (UNTAG_Bool(REGB2
)) {
3642 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 609);
3644 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3645 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
3646 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3647 if (!once_value_5
) {
3648 fra
.me
.REG
[4] = BOX_NativeString(", expected ");
3649 REGB2
= TAG_Int(11);
3650 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
3651 once_value_5
= fra
.me
.REG
[4];
3652 register_static_object(&once_value_5
);
3653 } else fra
.me
.REG
[4] = once_value_5
;
3654 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3655 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3656 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3657 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3658 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
3659 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3660 if (!once_value_6
) {
3661 fra
.me
.REG
[4] = BOX_NativeString(".");
3663 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
3664 once_value_6
= fra
.me
.REG
[4];
3665 register_static_object(&once_value_6
);
3666 } else fra
.me
.REG
[4] = once_value_6
;
3667 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3668 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3669 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3670 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
3672 /* syntax/mmbuilder.nit:612 */
3673 REGB2
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AStdClassdef
, ID_parser___parser_nodes___AStdClassdef
)) /*cast AStdClassdef*/;
3674 if (UNTAG_Bool(REGB2
)) {
3675 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3676 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
3677 if (UNTAG_Bool(REGB2
)) {
3678 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3679 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_interface(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3681 REGB1
= TAG_Bool(false);
3684 if (UNTAG_Bool(REGB2
)) {
3685 REGB2
= TAG_Bool(true);
3687 /* syntax/mmbuilder.nit:613 */
3688 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3689 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3690 /* syntax/mmbuilder.nit:612 */
3693 if (UNTAG_Bool(REGB2
)) {
3694 /* syntax/mmbuilder.nit:613 */
3695 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3696 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3698 /* syntax/mmbuilder.nit:612 */
3699 REGB1
= TAG_Bool(false);
3702 if (UNTAG_Bool(REGB2
)) {
3703 REGB2
= TAG_Bool(true);
3705 /* syntax/mmbuilder.nit:614 */
3706 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3707 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3708 /* syntax/mmbuilder.nit:612 */
3711 if (UNTAG_Bool(REGB2
)) {
3712 /* syntax/mmbuilder.nit:614 */
3713 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3714 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_enum(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3716 /* syntax/mmbuilder.nit:612 */
3717 REGB1
= TAG_Bool(false);
3721 REGB1
= TAG_Bool(false);
3724 if (UNTAG_Bool(REGB2
)) {
3725 /* syntax/mmbuilder.nit:616 */
3727 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
3728 if (!once_value_7
) {
3729 fra
.me
.REG
[3] = BOX_NativeString("Redef error: cannot change kind of class ");
3730 REGB2
= TAG_Int(41);
3731 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
3732 once_value_7
= fra
.me
.REG
[3];
3733 register_static_object(&once_value_7
);
3734 } else fra
.me
.REG
[3] = once_value_7
;
3735 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3736 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3737 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3738 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3739 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3740 if (!once_value_8
) {
3741 fra
.me
.REG
[3] = BOX_NativeString(".");
3743 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
3744 once_value_8
= fra
.me
.REG
[3];
3745 register_static_object(&once_value_8
);
3746 } else fra
.me
.REG
[3] = once_value_8
;
3747 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3748 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3749 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3750 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
3753 stack_frame_head
= fra
.me
.prev
;
3756 void syntax___mmbuilder___AClassdef___accept_class_verifier(val_t p0
, val_t p1
){
3757 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
3762 static val_t once_value_1
; /* Once value */
3763 static val_t once_value_2
; /* Once value */
3764 static val_t once_value_3
; /* Once value */
3765 static val_t once_value_4
; /* Once value */
3766 static val_t once_value_5
; /* Once value */
3767 static val_t once_value_6
; /* Once value */
3768 static val_t once_value_7
; /* Once value */
3769 static val_t once_value_8
; /* Once value */
3770 static val_t once_value_9
; /* Once value */
3771 static val_t once_value_10
; /* Once value */
3772 static val_t once_value_11
; /* Once value */
3773 static val_t once_value_12
; /* Once value */
3774 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3775 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3777 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___accept_class_verifier
;
3778 fra
.me
.has_broke
= 0;
3779 fra
.me
.REG_size
= 9;
3780 fra
.me
.nitni_local_ref_head
= NULL
;
3781 fra
.me
.REG
[0] = NIT_NULL
;
3782 fra
.me
.REG
[1] = NIT_NULL
;
3783 fra
.me
.REG
[2] = NIT_NULL
;
3784 fra
.me
.REG
[3] = NIT_NULL
;
3785 fra
.me
.REG
[4] = NIT_NULL
;
3786 fra
.me
.REG
[5] = NIT_NULL
;
3787 fra
.me
.REG
[6] = NIT_NULL
;
3788 fra
.me
.REG
[7] = NIT_NULL
;
3789 fra
.me
.REG
[8] = NIT_NULL
;
3792 /* syntax/mmbuilder.nit:620 */
3793 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3794 fra
.me
.REG
[3] = fra
.me
.REG
[1];
3795 /* syntax/mmbuilder.nit:622 */
3796 CALL_SUPER_syntax___mmbuilder___AClassdef___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3797 /* syntax/mmbuilder.nit:623 */
3798 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3799 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3800 if (UNTAG_Bool(REGB0
)) {
3801 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 623);
3803 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3804 /* syntax/mmbuilder.nit:624 */
3805 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3806 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3807 if (UNTAG_Bool(REGB0
)) {
3808 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 624);
3810 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3811 fra
.me
.REG
[0] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3812 /* ../lib/standard/collection/array.nit:269 */
3814 /* ../lib/standard/collection/array.nit:270 */
3815 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3816 if (UNTAG_Bool(REGB1
)) {
3818 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
3820 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3821 /* ../lib/standard/collection/array.nit:271 */
3822 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
3823 /* ../lib/standard/collection/array.nit:272 */
3825 /* ../lib/standard/collection/array.nit:24 */
3826 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3827 if (UNTAG_Bool(REGB1
)) {
3829 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3831 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3832 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
3833 if (UNTAG_Bool(REGB2
)) {
3835 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3837 /* ../lib/standard/kernel.nit:232 */
3838 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
3839 /* ../lib/standard/collection/array.nit:272 */
3840 if (UNTAG_Bool(REGB1
)) {
3841 /* ../lib/standard/collection/array.nit:273 */
3842 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3843 if (UNTAG_Bool(REGB1
)) {
3844 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
3846 /* ../lib/standard/collection/array.nit:718 */
3847 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
3848 /* syntax/mmbuilder.nit:625 */
3849 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3850 /* syntax/mmbuilder.nit:626 */
3851 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3852 if (UNTAG_Bool(REGB1
)) {
3853 /* syntax/mmbuilder.nit:627 */
3854 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3855 if (UNTAG_Bool(REGB1
)) {
3856 /* syntax/mmbuilder.nit:628 */
3858 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
3859 if (!once_value_1
) {
3860 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
3861 REGB1
= TAG_Int(25);
3862 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3863 once_value_1
= fra
.me
.REG
[8];
3864 register_static_object(&once_value_1
);
3865 } else fra
.me
.REG
[8] = once_value_1
;
3866 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3867 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3868 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3869 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3870 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3871 if (!once_value_2
) {
3872 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise enum class ");
3873 REGB1
= TAG_Int(30);
3874 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3875 once_value_2
= fra
.me
.REG
[8];
3876 register_static_object(&once_value_2
);
3877 } else fra
.me
.REG
[8] = once_value_2
;
3878 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3879 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3880 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3881 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3882 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3883 if (!once_value_3
) {
3884 fra
.me
.REG
[8] = BOX_NativeString(".");
3886 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3887 once_value_3
= fra
.me
.REG
[8];
3888 register_static_object(&once_value_3
);
3889 } else fra
.me
.REG
[8] = once_value_3
;
3890 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3891 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3892 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3893 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3895 /* syntax/mmbuilder.nit:629 */
3896 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3897 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3898 if (UNTAG_Bool(REGB1
)) {
3899 /* syntax/mmbuilder.nit:630 */
3901 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
3902 if (!once_value_4
) {
3903 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
3904 REGB1
= TAG_Int(25);
3905 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3906 once_value_4
= fra
.me
.REG
[8];
3907 register_static_object(&once_value_4
);
3908 } else fra
.me
.REG
[8] = once_value_4
;
3909 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3910 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3911 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3912 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3913 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3914 if (!once_value_5
) {
3915 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
3916 REGB1
= TAG_Int(25);
3917 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3918 once_value_5
= fra
.me
.REG
[8];
3919 register_static_object(&once_value_5
);
3920 } else fra
.me
.REG
[8] = once_value_5
;
3921 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3922 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3923 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3924 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3925 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3926 if (!once_value_6
) {
3927 fra
.me
.REG
[8] = BOX_NativeString(".");
3929 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3930 once_value_6
= fra
.me
.REG
[8];
3931 register_static_object(&once_value_6
);
3932 } else fra
.me
.REG
[8] = once_value_6
;
3933 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3934 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3935 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3936 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3940 /* syntax/mmbuilder.nit:632 */
3941 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3942 if (UNTAG_Bool(REGB1
)) {
3943 /* syntax/mmbuilder.nit:633 */
3944 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3945 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3946 if (UNTAG_Bool(REGB1
)) {
3947 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3948 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3950 REGB2
= TAG_Bool(false);
3953 if (UNTAG_Bool(REGB1
)) {
3954 /* syntax/mmbuilder.nit:634 */
3956 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
3957 if (!once_value_7
) {
3958 fra
.me
.REG
[8] = BOX_NativeString("Special error: Enum class ");
3959 REGB1
= TAG_Int(26);
3960 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3961 once_value_7
= fra
.me
.REG
[8];
3962 register_static_object(&once_value_7
);
3963 } else fra
.me
.REG
[8] = once_value_7
;
3964 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3965 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3966 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3967 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3968 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3969 if (!once_value_8
) {
3970 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
3971 REGB1
= TAG_Int(25);
3972 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3973 once_value_8
= fra
.me
.REG
[8];
3974 register_static_object(&once_value_8
);
3975 } else fra
.me
.REG
[8] = once_value_8
;
3976 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3977 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3978 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3979 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3980 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3981 if (!once_value_9
) {
3982 fra
.me
.REG
[8] = BOX_NativeString(".");
3984 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3985 once_value_9
= fra
.me
.REG
[8];
3986 register_static_object(&once_value_9
);
3987 } else fra
.me
.REG
[8] = once_value_9
;
3988 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3989 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3990 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3991 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3994 /* syntax/mmbuilder.nit:637 */
3995 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3996 if (UNTAG_Bool(REGB1
)) {
3997 /* syntax/mmbuilder.nit:638 */
3999 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4000 if (!once_value_10
) {
4001 fra
.me
.REG
[7] = BOX_NativeString("Special error: Class ");
4002 REGB1
= TAG_Int(21);
4003 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
4004 once_value_10
= fra
.me
.REG
[7];
4005 register_static_object(&once_value_10
);
4006 } else fra
.me
.REG
[7] = once_value_10
;
4007 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4008 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4009 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4010 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4011 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4012 if (!once_value_11
) {
4013 fra
.me
.REG
[7] = BOX_NativeString(" try to specialise enum class ");
4014 REGB1
= TAG_Int(30);
4015 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
4016 once_value_11
= fra
.me
.REG
[7];
4017 register_static_object(&once_value_11
);
4018 } else fra
.me
.REG
[7] = once_value_11
;
4019 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4020 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4021 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4022 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4023 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4024 if (!once_value_12
) {
4025 fra
.me
.REG
[5] = BOX_NativeString(".");
4027 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
4028 once_value_12
= fra
.me
.REG
[5];
4029 register_static_object(&once_value_12
);
4030 } else fra
.me
.REG
[5] = once_value_12
;
4031 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4032 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4033 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4034 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[6]);
4038 /* ../lib/standard/collection/array.nit:274 */
4040 /* ../lib/standard/kernel.nit:235 */
4041 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
4042 /* ../lib/standard/collection/array.nit:274 */
4045 /* ../lib/standard/collection/array.nit:272 */
4050 stack_frame_head
= fra
.me
.prev
;
4053 void syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
4054 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4056 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4057 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4059 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor
;
4060 fra
.me
.has_broke
= 0;
4061 fra
.me
.REG_size
= 4;
4062 fra
.me
.nitni_local_ref_head
= NULL
;
4063 fra
.me
.REG
[0] = NIT_NULL
;
4064 fra
.me
.REG
[1] = NIT_NULL
;
4065 fra
.me
.REG
[2] = NIT_NULL
;
4066 fra
.me
.REG
[3] = NIT_NULL
;
4069 /* syntax/mmbuilder.nit:645 */
4070 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4071 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4072 /* syntax/mmbuilder.nit:647 */
4073 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4074 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4075 /* syntax/mmbuilder.nit:648 */
4076 CALL_SUPER_syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4077 /* syntax/mmbuilder.nit:649 */
4078 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
4079 stack_frame_head
= fra
.me
.prev
;
4082 val_t
syntax___mmbuilder___AClasskind___is_interface(val_t p0
){
4083 struct {struct stack_frame_t me
;} fra
;
4086 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4087 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4089 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClasskind___is_interface
;
4090 fra
.me
.has_broke
= 0;
4091 fra
.me
.REG_size
= 1;
4092 fra
.me
.nitni_local_ref_head
= NULL
;
4093 fra
.me
.REG
[0] = NIT_NULL
;
4095 /* syntax/mmbuilder.nit:654 */
4096 REGB0
= TAG_Bool(false);
4099 stack_frame_head
= fra
.me
.prev
;
4102 val_t
syntax___mmbuilder___AClasskind___is_enum(val_t p0
){
4103 struct {struct stack_frame_t me
;} fra
;
4106 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4107 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4109 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClasskind___is_enum
;
4110 fra
.me
.has_broke
= 0;
4111 fra
.me
.REG_size
= 1;
4112 fra
.me
.nitni_local_ref_head
= NULL
;
4113 fra
.me
.REG
[0] = NIT_NULL
;
4115 /* syntax/mmbuilder.nit:655 */
4116 REGB0
= TAG_Bool(false);
4119 stack_frame_head
= fra
.me
.prev
;
4122 val_t
syntax___mmbuilder___AClasskind___is_abstract(val_t p0
){
4123 struct {struct stack_frame_t me
;} fra
;
4126 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4127 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4129 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClasskind___is_abstract
;
4130 fra
.me
.has_broke
= 0;
4131 fra
.me
.REG_size
= 1;
4132 fra
.me
.nitni_local_ref_head
= NULL
;
4133 fra
.me
.REG
[0] = NIT_NULL
;
4135 /* syntax/mmbuilder.nit:656 */
4136 REGB0
= TAG_Bool(false);
4139 stack_frame_head
= fra
.me
.prev
;
4142 val_t
syntax___mmbuilder___AClasskind___is_extern(val_t p0
){
4143 struct {struct stack_frame_t me
;} fra
;
4146 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4147 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4149 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClasskind___is_extern
;
4150 fra
.me
.has_broke
= 0;
4151 fra
.me
.REG_size
= 1;
4152 fra
.me
.nitni_local_ref_head
= NULL
;
4153 fra
.me
.REG
[0] = NIT_NULL
;
4155 /* syntax/mmbuilder.nit:657 */
4156 REGB0
= TAG_Bool(false);
4159 stack_frame_head
= fra
.me
.prev
;
4162 val_t
syntax___mmbuilder___AInterfaceClasskind___is_interface(val_t p0
){
4163 struct {struct stack_frame_t me
;} fra
;
4166 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4167 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4169 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AInterfaceClasskind___is_interface
;
4170 fra
.me
.has_broke
= 0;
4171 fra
.me
.REG_size
= 1;
4172 fra
.me
.nitni_local_ref_head
= NULL
;
4173 fra
.me
.REG
[0] = NIT_NULL
;
4175 /* syntax/mmbuilder.nit:661 */
4176 REGB0
= TAG_Bool(true);
4179 stack_frame_head
= fra
.me
.prev
;
4182 val_t
syntax___mmbuilder___AEnumClasskind___is_enum(val_t p0
){
4183 struct {struct stack_frame_t me
;} fra
;
4186 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4187 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4189 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AEnumClasskind___is_enum
;
4190 fra
.me
.has_broke
= 0;
4191 fra
.me
.REG_size
= 1;
4192 fra
.me
.nitni_local_ref_head
= NULL
;
4193 fra
.me
.REG
[0] = NIT_NULL
;
4195 /* syntax/mmbuilder.nit:664 */
4196 REGB0
= TAG_Bool(true);
4199 stack_frame_head
= fra
.me
.prev
;
4202 val_t
syntax___mmbuilder___AExternClasskind___is_extern(val_t p0
){
4203 struct {struct stack_frame_t me
;} fra
;
4206 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4207 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4209 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExternClasskind___is_extern
;
4210 fra
.me
.has_broke
= 0;
4211 fra
.me
.REG_size
= 1;
4212 fra
.me
.nitni_local_ref_head
= NULL
;
4213 fra
.me
.REG
[0] = NIT_NULL
;
4215 /* syntax/mmbuilder.nit:667 */
4216 REGB0
= TAG_Bool(true);
4219 stack_frame_head
= fra
.me
.prev
;
4222 val_t
syntax___mmbuilder___AAbstractClasskind___is_abstract(val_t p0
){
4223 struct {struct stack_frame_t me
;} fra
;
4226 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4227 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4229 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAbstractClasskind___is_abstract
;
4230 fra
.me
.has_broke
= 0;
4231 fra
.me
.REG_size
= 1;
4232 fra
.me
.nitni_local_ref_head
= NULL
;
4233 fra
.me
.REG
[0] = NIT_NULL
;
4235 /* syntax/mmbuilder.nit:670 */
4236 REGB0
= TAG_Bool(true);
4239 stack_frame_head
= fra
.me
.prev
;
4242 val_t
syntax___mmbuilder___AStdClassdef___name(val_t p0
){
4243 struct {struct stack_frame_t me
;} fra
;
4246 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4247 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4249 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___name
;
4250 fra
.me
.has_broke
= 0;
4251 fra
.me
.REG_size
= 1;
4252 fra
.me
.nitni_local_ref_head
= NULL
;
4253 fra
.me
.REG
[0] = NIT_NULL
;
4255 /* syntax/mmbuilder.nit:676 */
4256 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4257 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4258 if (UNTAG_Bool(REGB0
)) {
4259 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 676);
4261 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4264 stack_frame_head
= fra
.me
.prev
;
4265 return fra
.me
.REG
[0];
4267 val_t
syntax___mmbuilder___AStdClassdef___arity(val_t p0
){
4268 struct {struct stack_frame_t me
;} fra
;
4271 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4272 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4274 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___arity
;
4275 fra
.me
.has_broke
= 0;
4276 fra
.me
.REG_size
= 1;
4277 fra
.me
.nitni_local_ref_head
= NULL
;
4278 fra
.me
.REG
[0] = NIT_NULL
;
4280 /* syntax/mmbuilder.nit:680 */
4281 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_formaldefs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4282 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4285 stack_frame_head
= fra
.me
.prev
;
4288 void syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder(val_t p0
, val_t p1
){
4289 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4293 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4294 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4296 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder
;
4297 fra
.me
.has_broke
= 0;
4298 fra
.me
.REG_size
= 4;
4299 fra
.me
.nitni_local_ref_head
= NULL
;
4300 fra
.me
.REG
[0] = NIT_NULL
;
4301 fra
.me
.REG
[1] = NIT_NULL
;
4302 fra
.me
.REG
[2] = NIT_NULL
;
4303 fra
.me
.REG
[3] = NIT_NULL
;
4306 /* syntax/mmbuilder.nit:682 */
4307 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4308 /* syntax/mmbuilder.nit:684 */
4309 CALL_SUPER_syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4310 /* syntax/mmbuilder.nit:686 */
4311 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4312 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4313 /* syntax/mmbuilder.nit:687 */
4314 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4315 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4316 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[3]));
4317 if (UNTAG_Bool(REGB0
)) {
4319 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4322 if (UNTAG_Bool(REGB0
)) {
4323 /* syntax/mmbuilder.nit:688 */
4324 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4325 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_interface(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4326 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4327 /* syntax/mmbuilder.nit:689 */
4328 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4329 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4330 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4331 /* syntax/mmbuilder.nit:690 */
4332 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4333 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_enum(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4334 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4335 /* syntax/mmbuilder.nit:691 */
4336 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4337 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_extern(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4338 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4339 /* syntax/mmbuilder.nit:692 */
4340 REGB0
= CALL_syntax___mmbuilder___AClassdef___visibility_level(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4341 CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4343 stack_frame_head
= fra
.me
.prev
;
4346 void syntax___mmbuilder___AStdClassdef___accept_class_verifier(val_t p0
, val_t p1
){
4347 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
4352 static val_t once_value_1
; /* Once value */
4353 static val_t once_value_2
; /* Once value */
4354 static val_t once_value_3
; /* Once value */
4355 static val_t once_value_4
; /* Once value */
4356 static val_t once_value_5
; /* Once value */
4357 static val_t once_value_6
; /* Once value */
4358 static val_t once_value_7
; /* Once value */
4359 static val_t once_value_8
; /* Once value */
4360 static val_t once_value_9
; /* Once value */
4361 static val_t once_value_10
; /* Once value */
4362 static val_t once_value_11
; /* Once value */
4363 static val_t once_value_12
; /* Once value */
4364 static val_t once_value_13
; /* Once value */
4365 static val_t once_value_14
; /* Once value */
4366 static val_t once_value_15
; /* Once value */
4367 static val_t once_value_16
; /* Once value */
4368 static val_t once_value_17
; /* Once value */
4369 static val_t once_value_18
; /* Once value */
4370 static val_t once_value_19
; /* Once value */
4371 static val_t once_value_20
; /* Once value */
4372 static val_t once_value_23
; /* Once value */
4373 static val_t once_value_24
; /* Once value */
4374 static val_t once_value_25
; /* Once value */
4375 static val_t once_value_26
; /* Once value */
4376 static val_t once_value_27
; /* Once value */
4377 static val_t once_value_28
; /* Once value */
4378 static val_t once_value_29
; /* Once value */
4379 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4380 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4382 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___accept_class_verifier
;
4383 fra
.me
.has_broke
= 0;
4384 fra
.me
.REG_size
= 9;
4385 fra
.me
.nitni_local_ref_head
= NULL
;
4386 fra
.me
.REG
[0] = NIT_NULL
;
4387 fra
.me
.REG
[1] = NIT_NULL
;
4388 fra
.me
.REG
[2] = NIT_NULL
;
4389 fra
.me
.REG
[3] = NIT_NULL
;
4390 fra
.me
.REG
[4] = NIT_NULL
;
4391 fra
.me
.REG
[5] = NIT_NULL
;
4392 fra
.me
.REG
[6] = NIT_NULL
;
4393 fra
.me
.REG
[7] = NIT_NULL
;
4394 fra
.me
.REG
[8] = NIT_NULL
;
4397 /* syntax/mmbuilder.nit:695 */
4398 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4399 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4400 /* syntax/mmbuilder.nit:697 */
4401 CALL_SUPER_syntax___mmbuilder___AStdClassdef___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4402 /* syntax/mmbuilder.nit:698 */
4403 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4404 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
4405 if (UNTAG_Bool(REGB0
)) {
4406 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 698);
4408 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4409 /* syntax/mmbuilder.nit:699 */
4410 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4411 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4412 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[0],fra
.me
.REG
[4]));
4413 if (UNTAG_Bool(REGB0
)) {
4415 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4418 if (UNTAG_Bool(REGB0
)) {
4419 /* syntax/mmbuilder.nit:701 */
4420 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4421 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4422 if (UNTAG_Bool(REGB0
)) {
4424 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4425 if (UNTAG_Bool(REGB1
)) {
4426 REGB1
= TAG_Bool(false);
4429 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
4433 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4434 if (UNTAG_Bool(REGB0
)) {
4435 /* syntax/mmbuilder.nit:702 */
4437 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4438 if (!once_value_1
) {
4439 fra
.me
.REG
[0] = BOX_NativeString("Redef error: No class ");
4440 REGB0
= TAG_Int(22);
4441 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4442 once_value_1
= fra
.me
.REG
[0];
4443 register_static_object(&once_value_1
);
4444 } else fra
.me
.REG
[0] = once_value_1
;
4445 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4446 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4447 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4448 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4449 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4450 if (!once_value_2
) {
4451 fra
.me
.REG
[0] = BOX_NativeString(" is imported. Remove the redef keyword to define a new class.");
4452 REGB0
= TAG_Int(61);
4453 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4454 once_value_2
= fra
.me
.REG
[0];
4455 register_static_object(&once_value_2
);
4456 } else fra
.me
.REG
[0] = once_value_2
;
4457 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4458 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4459 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4460 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[4]);
4462 /* syntax/mmbuilder.nit:704 */
4463 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4464 if (UNTAG_Bool(REGB0
)) {
4465 /* syntax/mmbuilder.nit:705 */
4466 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4467 REGB0
= TAG_Bool(true);
4468 CALL_metamodel___abstractmetamodel___MMModule___is_extern_hybrid__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
4470 /* syntax/mmbuilder.nit:708 */
4471 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4472 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4473 if (UNTAG_Bool(REGB0
)) {
4474 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 708);
4476 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4477 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4478 /* ../lib/standard/collection/array.nit:269 */
4480 /* ../lib/standard/collection/array.nit:270 */
4481 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
4482 if (UNTAG_Bool(REGB1
)) {
4484 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
4486 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
4487 /* ../lib/standard/collection/array.nit:271 */
4488 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
4489 /* ../lib/standard/collection/array.nit:272 */
4491 /* ../lib/standard/collection/array.nit:24 */
4492 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
4493 if (UNTAG_Bool(REGB1
)) {
4495 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
4497 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
4498 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4499 if (UNTAG_Bool(REGB2
)) {
4501 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4503 /* ../lib/standard/kernel.nit:232 */
4504 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
4505 /* ../lib/standard/collection/array.nit:272 */
4506 if (UNTAG_Bool(REGB1
)) {
4507 /* ../lib/standard/collection/array.nit:273 */
4508 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4509 if (UNTAG_Bool(REGB1
)) {
4510 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
4512 /* ../lib/standard/collection/array.nit:718 */
4513 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
4514 /* syntax/mmbuilder.nit:709 */
4515 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4516 /* syntax/mmbuilder.nit:710 */
4517 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4518 if (UNTAG_Bool(REGB1
)) {
4519 /* syntax/mmbuilder.nit:711 */
4520 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4521 if (UNTAG_Bool(REGB1
)) {
4522 /* syntax/mmbuilder.nit:712 */
4524 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4525 if (!once_value_3
) {
4526 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
4527 REGB1
= TAG_Int(25);
4528 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4529 once_value_3
= fra
.me
.REG
[8];
4530 register_static_object(&once_value_3
);
4531 } else fra
.me
.REG
[8] = once_value_3
;
4532 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4533 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4534 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4535 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4536 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4537 if (!once_value_4
) {
4538 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise enum class ");
4539 REGB1
= TAG_Int(30);
4540 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4541 once_value_4
= fra
.me
.REG
[8];
4542 register_static_object(&once_value_4
);
4543 } else fra
.me
.REG
[8] = once_value_4
;
4544 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4545 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4546 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4547 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4548 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4549 if (!once_value_5
) {
4550 fra
.me
.REG
[8] = BOX_NativeString(".");
4552 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4553 once_value_5
= fra
.me
.REG
[8];
4554 register_static_object(&once_value_5
);
4555 } else fra
.me
.REG
[8] = once_value_5
;
4556 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4557 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4558 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4559 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4561 /* syntax/mmbuilder.nit:713 */
4562 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4563 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4564 if (UNTAG_Bool(REGB1
)) {
4565 /* syntax/mmbuilder.nit:714 */
4567 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4568 if (!once_value_6
) {
4569 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
4570 REGB1
= TAG_Int(25);
4571 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4572 once_value_6
= fra
.me
.REG
[8];
4573 register_static_object(&once_value_6
);
4574 } else fra
.me
.REG
[8] = once_value_6
;
4575 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4576 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4577 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4578 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4579 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4580 if (!once_value_7
) {
4581 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
4582 REGB1
= TAG_Int(25);
4583 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4584 once_value_7
= fra
.me
.REG
[8];
4585 register_static_object(&once_value_7
);
4586 } else fra
.me
.REG
[8] = once_value_7
;
4587 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4588 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4589 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4590 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4591 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4592 if (!once_value_8
) {
4593 fra
.me
.REG
[8] = BOX_NativeString(".");
4595 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4596 once_value_8
= fra
.me
.REG
[8];
4597 register_static_object(&once_value_8
);
4598 } else fra
.me
.REG
[8] = once_value_8
;
4599 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4600 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4601 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4602 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4606 /* syntax/mmbuilder.nit:716 */
4607 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4608 if (UNTAG_Bool(REGB1
)) {
4609 /* syntax/mmbuilder.nit:717 */
4610 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4611 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4612 if (UNTAG_Bool(REGB1
)) {
4613 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4614 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4616 REGB2
= TAG_Bool(false);
4619 if (UNTAG_Bool(REGB1
)) {
4620 /* syntax/mmbuilder.nit:718 */
4622 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4623 if (!once_value_9
) {
4624 fra
.me
.REG
[8] = BOX_NativeString("Special error: Enum class ");
4625 REGB1
= TAG_Int(26);
4626 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4627 once_value_9
= fra
.me
.REG
[8];
4628 register_static_object(&once_value_9
);
4629 } else fra
.me
.REG
[8] = once_value_9
;
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_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
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_10
) {
4636 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
4637 REGB1
= TAG_Int(25);
4638 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4639 once_value_10
= fra
.me
.REG
[8];
4640 register_static_object(&once_value_10
);
4641 } else fra
.me
.REG
[8] = once_value_10
;
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
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4645 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4646 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4647 if (!once_value_11
) {
4648 fra
.me
.REG
[8] = BOX_NativeString(".");
4650 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4651 once_value_11
= fra
.me
.REG
[8];
4652 register_static_object(&once_value_11
);
4653 } else fra
.me
.REG
[8] = once_value_11
;
4654 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4655 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4656 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4657 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4660 /* syntax/mmbuilder.nit:720 */
4661 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4662 if (UNTAG_Bool(REGB1
)) {
4663 /* syntax/mmbuilder.nit:721 */
4664 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4665 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4666 if (UNTAG_Bool(REGB1
)) {
4667 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4668 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4670 REGB2
= TAG_Bool(false);
4673 if (UNTAG_Bool(REGB1
)) {
4674 /* syntax/mmbuilder.nit:722 */
4676 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4677 if (!once_value_12
) {
4678 fra
.me
.REG
[8] = BOX_NativeString("Special error: Extern class ");
4679 REGB1
= TAG_Int(28);
4680 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4681 once_value_12
= fra
.me
.REG
[8];
4682 register_static_object(&once_value_12
);
4683 } else fra
.me
.REG
[8] = once_value_12
;
4684 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4685 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4686 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4687 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4688 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4689 if (!once_value_13
) {
4690 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
4691 REGB1
= TAG_Int(25);
4692 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4693 once_value_13
= fra
.me
.REG
[8];
4694 register_static_object(&once_value_13
);
4695 } else fra
.me
.REG
[8] = once_value_13
;
4696 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4697 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4698 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4699 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4700 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4701 if (!once_value_14
) {
4702 fra
.me
.REG
[8] = BOX_NativeString(".");
4704 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4705 once_value_14
= fra
.me
.REG
[8];
4706 register_static_object(&once_value_14
);
4707 } else fra
.me
.REG
[8] = once_value_14
;
4708 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4709 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4710 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4711 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4714 /* syntax/mmbuilder.nit:725 */
4715 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4716 if (UNTAG_Bool(REGB1
)) {
4717 /* syntax/mmbuilder.nit:726 */
4719 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4720 if (!once_value_15
) {
4721 fra
.me
.REG
[8] = BOX_NativeString("Special error: Class ");
4722 REGB1
= TAG_Int(21);
4723 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4724 once_value_15
= fra
.me
.REG
[8];
4725 register_static_object(&once_value_15
);
4726 } else fra
.me
.REG
[8] = once_value_15
;
4727 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4728 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4729 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4730 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4731 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4732 if (!once_value_16
) {
4733 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise enum class ");
4734 REGB1
= TAG_Int(30);
4735 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4736 once_value_16
= fra
.me
.REG
[8];
4737 register_static_object(&once_value_16
);
4738 } else fra
.me
.REG
[8] = once_value_16
;
4739 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4740 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4741 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4742 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4743 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4744 if (!once_value_17
) {
4745 fra
.me
.REG
[8] = BOX_NativeString(".");
4747 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4748 once_value_17
= fra
.me
.REG
[8];
4749 register_static_object(&once_value_17
);
4750 } else fra
.me
.REG
[8] = once_value_17
;
4751 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4752 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4753 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4754 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4756 /* syntax/mmbuilder.nit:727 */
4757 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4758 if (UNTAG_Bool(REGB1
)) {
4759 /* syntax/mmbuilder.nit:728 */
4761 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4762 if (!once_value_18
) {
4763 fra
.me
.REG
[7] = BOX_NativeString("Special error: Class ");
4764 REGB1
= TAG_Int(21);
4765 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
4766 once_value_18
= fra
.me
.REG
[7];
4767 register_static_object(&once_value_18
);
4768 } else fra
.me
.REG
[7] = once_value_18
;
4769 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4770 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4771 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4772 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4773 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4774 if (!once_value_19
) {
4775 fra
.me
.REG
[7] = BOX_NativeString(" try to specialise extern class ");
4776 REGB1
= TAG_Int(32);
4777 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
4778 once_value_19
= fra
.me
.REG
[7];
4779 register_static_object(&once_value_19
);
4780 } else fra
.me
.REG
[7] = once_value_19
;
4781 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4782 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4783 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4784 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4785 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4786 if (!once_value_20
) {
4787 fra
.me
.REG
[5] = BOX_NativeString(".");
4789 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
4790 once_value_20
= fra
.me
.REG
[5];
4791 register_static_object(&once_value_20
);
4792 } else fra
.me
.REG
[5] = once_value_20
;
4793 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4794 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4795 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4796 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[6]);
4802 /* ../lib/standard/collection/array.nit:274 */
4804 /* ../lib/standard/kernel.nit:235 */
4805 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
4806 /* ../lib/standard/collection/array.nit:274 */
4809 /* ../lib/standard/collection/array.nit:272 */
4814 /* syntax/mmbuilder.nit:733 */
4817 /* syntax/mmbuilder.nit:738 */
4818 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4819 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]);
4820 /* syntax/mmbuilder.nit:739 */
4821 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4822 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4823 if (UNTAG_Bool(REGB0
)) {
4825 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4826 if (UNTAG_Bool(REGB1
)) {
4827 REGB1
= TAG_Bool(false);
4830 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
4834 if (UNTAG_Bool(REGB0
)) {
4835 /* syntax/mmbuilder.nit:740 */
4837 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4838 if (!once_value_23
) {
4839 fra
.me
.REG
[4] = BOX_NativeString("Redef error: ");
4840 REGB0
= TAG_Int(13);
4841 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4842 once_value_23
= fra
.me
.REG
[4];
4843 register_static_object(&once_value_23
);
4844 } else fra
.me
.REG
[4] = once_value_23
;
4845 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4846 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4847 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4848 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4849 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4850 if (!once_value_24
) {
4851 fra
.me
.REG
[4] = BOX_NativeString(" is an imported class. Add the redef keyword to refine it.");
4852 REGB0
= TAG_Int(58);
4853 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4854 once_value_24
= fra
.me
.REG
[4];
4855 register_static_object(&once_value_24
);
4856 } else fra
.me
.REG
[4] = once_value_24
;
4857 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4858 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4859 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4860 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4861 /* syntax/mmbuilder.nit:741 */
4864 /* syntax/mmbuilder.nit:744 */
4865 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4866 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4867 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4868 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4869 if (UNTAG_Bool(REGB1
)) {
4870 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 744);
4872 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4873 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
4874 if (UNTAG_Bool(REGB2
)) {
4876 /* ../lib/standard/kernel.nit:227 */
4877 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
4878 /* syntax/mmbuilder.nit:744 */
4881 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
4882 if (UNTAG_Bool(REGB2
)) {
4883 /* syntax/mmbuilder.nit:745 */
4885 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4886 if (!once_value_25
) {
4887 fra
.me
.REG
[4] = BOX_NativeString("Redef error: Formal parameter arity mismatch; got ");
4888 REGB2
= TAG_Int(50);
4889 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4890 once_value_25
= fra
.me
.REG
[4];
4891 register_static_object(&once_value_25
);
4892 } else fra
.me
.REG
[4] = once_value_25
;
4893 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4894 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4895 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4896 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4897 if (UNTAG_Bool(REGB2
)) {
4898 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 745);
4900 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4901 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
4902 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4903 if (!once_value_26
) {
4904 fra
.me
.REG
[4] = BOX_NativeString(", expected ");
4905 REGB2
= TAG_Int(11);
4906 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4907 once_value_26
= fra
.me
.REG
[4];
4908 register_static_object(&once_value_26
);
4909 } else fra
.me
.REG
[4] = once_value_26
;
4910 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4911 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4912 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4913 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4914 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
4915 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4916 if (!once_value_27
) {
4917 fra
.me
.REG
[4] = BOX_NativeString(".");
4919 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4920 once_value_27
= fra
.me
.REG
[4];
4921 register_static_object(&once_value_27
);
4922 } else fra
.me
.REG
[4] = once_value_27
;
4923 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4924 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4925 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4926 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4928 /* syntax/mmbuilder.nit:749 */
4929 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4930 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
4931 if (UNTAG_Bool(REGB2
)) {
4932 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4933 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_interface(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4935 REGB1
= TAG_Bool(false);
4938 if (UNTAG_Bool(REGB2
)) {
4939 REGB2
= TAG_Bool(true);
4941 /* syntax/mmbuilder.nit:750 */
4942 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4943 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4944 /* syntax/mmbuilder.nit:749 */
4947 if (UNTAG_Bool(REGB2
)) {
4948 /* syntax/mmbuilder.nit:750 */
4949 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4950 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4952 /* syntax/mmbuilder.nit:749 */
4953 REGB1
= TAG_Bool(false);
4956 if (UNTAG_Bool(REGB2
)) {
4957 REGB2
= TAG_Bool(true);
4959 /* syntax/mmbuilder.nit:751 */
4960 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4961 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4962 /* syntax/mmbuilder.nit:749 */
4965 if (UNTAG_Bool(REGB2
)) {
4966 /* syntax/mmbuilder.nit:751 */
4967 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4968 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_enum(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4970 /* syntax/mmbuilder.nit:749 */
4971 REGB1
= TAG_Bool(false);
4974 if (UNTAG_Bool(REGB2
)) {
4975 REGB2
= TAG_Bool(true);
4977 /* syntax/mmbuilder.nit:752 */
4978 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4979 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4980 /* syntax/mmbuilder.nit:749 */
4983 if (UNTAG_Bool(REGB2
)) {
4984 /* syntax/mmbuilder.nit:752 */
4985 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4986 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4988 /* syntax/mmbuilder.nit:749 */
4989 REGB1
= TAG_Bool(false);
4992 /* syntax/mmbuilder.nit:748 */
4993 if (UNTAG_Bool(REGB2
)) {
4994 /* syntax/mmbuilder.nit:754 */
4996 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4997 if (!once_value_28
) {
4998 fra
.me
.REG
[0] = BOX_NativeString("Redef error: cannot change kind of class ");
4999 REGB2
= TAG_Int(41);
5000 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB2
);
5001 once_value_28
= fra
.me
.REG
[0];
5002 register_static_object(&once_value_28
);
5003 } else fra
.me
.REG
[0] = once_value_28
;
5004 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5005 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5006 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5007 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5008 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5009 if (!once_value_29
) {
5010 fra
.me
.REG
[0] = BOX_NativeString(".");
5012 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB2
);
5013 once_value_29
= fra
.me
.REG
[0];
5014 register_static_object(&once_value_29
);
5015 } else fra
.me
.REG
[0] = once_value_29
;
5016 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5017 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5018 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5019 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[1]);
5022 stack_frame_head
= fra
.me
.prev
;
5025 val_t
syntax___mmbuilder___AStdClassdef___visibility_level(val_t p0
){
5026 struct {struct stack_frame_t me
;} fra
;
5029 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5030 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5032 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___visibility_level
;
5033 fra
.me
.has_broke
= 0;
5034 fra
.me
.REG_size
= 1;
5035 fra
.me
.nitni_local_ref_head
= NULL
;
5036 fra
.me
.REG
[0] = NIT_NULL
;
5038 /* syntax/mmbuilder.nit:760 */
5039 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5040 REGB0
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5043 stack_frame_head
= fra
.me
.prev
;
5046 val_t
syntax___mmbuilder___AMainClassdef___name(val_t p0
){
5047 struct {struct stack_frame_t me
;} fra
;
5050 static val_t once_value_1
; /* Once value */
5051 static val_t once_value_2
; /* Once value */
5052 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5053 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5055 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMainClassdef___name
;
5056 fra
.me
.has_broke
= 0;
5057 fra
.me
.REG_size
= 1;
5058 fra
.me
.nitni_local_ref_head
= NULL
;
5059 fra
.me
.REG
[0] = NIT_NULL
;
5061 /* syntax/mmbuilder.nit:767 */
5062 if (!once_value_1
) {
5063 if (!once_value_2
) {
5064 fra
.me
.REG
[0] = BOX_NativeString("Sys");
5066 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
5067 once_value_2
= fra
.me
.REG
[0];
5068 register_static_object(&once_value_2
);
5069 } else fra
.me
.REG
[0] = once_value_2
;
5070 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5071 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5072 once_value_1
= fra
.me
.REG
[0];
5073 register_static_object(&once_value_1
);
5074 } else fra
.me
.REG
[0] = once_value_1
;
5075 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5078 stack_frame_head
= fra
.me
.prev
;
5079 return fra
.me
.REG
[0];
5081 val_t
syntax___mmbuilder___ATopClassdef___name(val_t p0
){
5082 struct {struct stack_frame_t me
;} fra
;
5085 static val_t once_value_1
; /* Once value */
5086 static val_t once_value_2
; /* Once value */
5087 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5088 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5090 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATopClassdef___name
;
5091 fra
.me
.has_broke
= 0;
5092 fra
.me
.REG_size
= 1;
5093 fra
.me
.nitni_local_ref_head
= NULL
;
5094 fra
.me
.REG
[0] = NIT_NULL
;
5096 /* syntax/mmbuilder.nit:774 */
5097 if (!once_value_1
) {
5098 if (!once_value_2
) {
5099 fra
.me
.REG
[0] = BOX_NativeString("Object");
5101 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
5102 once_value_2
= fra
.me
.REG
[0];
5103 register_static_object(&once_value_2
);
5104 } else fra
.me
.REG
[0] = once_value_2
;
5105 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5106 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5107 once_value_1
= fra
.me
.REG
[0];
5108 register_static_object(&once_value_1
);
5109 } else fra
.me
.REG
[0] = once_value_1
;
5110 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5113 stack_frame_head
= fra
.me
.prev
;
5114 return fra
.me
.REG
[0];
5116 void syntax___mmbuilder___AFormaldef___accept_class_builder(val_t p0
, val_t p1
){
5117 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
5121 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5122 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5124 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AFormaldef___accept_class_builder
;
5125 fra
.me
.has_broke
= 0;
5126 fra
.me
.REG_size
= 6;
5127 fra
.me
.nitni_local_ref_head
= NULL
;
5128 fra
.me
.REG
[0] = NIT_NULL
;
5129 fra
.me
.REG
[1] = NIT_NULL
;
5130 fra
.me
.REG
[2] = NIT_NULL
;
5131 fra
.me
.REG
[3] = NIT_NULL
;
5132 fra
.me
.REG
[4] = NIT_NULL
;
5133 fra
.me
.REG
[5] = NIT_NULL
;
5136 /* syntax/mmbuilder.nit:782 */
5137 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5138 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5139 /* syntax/mmbuilder.nit:784 */
5140 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AFormaldef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5141 fra
.me
.REG
[4] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5142 /* syntax/mmbuilder.nit:785 */
5143 REGB0
= CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5144 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5145 fra
.me
.REG
[5] = NEW_MMTypeFormalParameter_metamodel___genericity___MMTypeFormalParameter___init(fra
.me
.REG
[4], REGB0
, fra
.me
.REG
[5]);
5146 /* syntax/mmbuilder.nit:786 */
5147 ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]) = fra
.me
.REG
[5];
5148 /* syntax/mmbuilder.nit:787 */
5149 REGB0
= CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5151 /* ../lib/standard/kernel.nit:235 */
5152 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
5153 /* syntax/mmbuilder.nit:787 */
5154 CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
5155 /* syntax/mmbuilder.nit:788 */
5156 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5157 CALL_metamodel___genericity___MMLocalClass___register_formal(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
5158 /* syntax/mmbuilder.nit:789 */
5159 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___ClassBuilderVisitor___formals(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5160 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
5161 if (UNTAG_Bool(REGB1
)) {
5162 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 789);
5164 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4], fra
.me
.REG
[5]);
5165 /* syntax/mmbuilder.nit:790 */
5166 CALL_SUPER_syntax___mmbuilder___AFormaldef___accept_class_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5167 stack_frame_head
= fra
.me
.prev
;
5170 void syntax___mmbuilder___AFormaldef___accept_class_verifier(val_t p0
, val_t p1
){
5171 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
5175 static val_t once_value_2
; /* Once value */
5176 static val_t once_value_3
; /* Once value */
5177 static val_t once_value_4
; /* Once value */
5178 static val_t once_value_5
; /* Once value */
5179 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5180 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5182 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AFormaldef___accept_class_verifier
;
5183 fra
.me
.has_broke
= 0;
5184 fra
.me
.REG_size
= 6;
5185 fra
.me
.nitni_local_ref_head
= NULL
;
5186 fra
.me
.REG
[0] = NIT_NULL
;
5187 fra
.me
.REG
[1] = NIT_NULL
;
5188 fra
.me
.REG
[2] = NIT_NULL
;
5189 fra
.me
.REG
[3] = NIT_NULL
;
5190 fra
.me
.REG
[4] = NIT_NULL
;
5191 fra
.me
.REG
[5] = NIT_NULL
;
5194 /* syntax/mmbuilder.nit:793 */
5195 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5196 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5197 /* syntax/mmbuilder.nit:795 */
5198 CALL_SUPER_syntax___mmbuilder___AFormaldef___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5199 /* syntax/mmbuilder.nit:796 */
5200 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5201 /* syntax/mmbuilder.nit:797 */
5202 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5203 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5204 /* syntax/mmbuilder.nit:798 */
5205 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
5206 if (UNTAG_Bool(REGB0
)) {
5208 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5211 if (UNTAG_Bool(REGB0
)) {
5212 /* syntax/mmbuilder.nit:799 */
5213 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5214 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5215 if (UNTAG_Bool(REGB0
)) {
5217 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5218 if (UNTAG_Bool(REGB1
)) {
5219 REGB1
= TAG_Bool(false);
5222 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
5226 if (UNTAG_Bool(REGB0
)) {
5227 /* syntax/mmbuilder.nit:800 */
5228 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5229 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5230 fra
.me
.REG
[5] = CALL_metamodel___inheritance___MMModule___type_any(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5231 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMType___as_nullable(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5232 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5233 if (UNTAG_Bool(REGB0
)) {
5234 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 800);
5236 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5238 /* syntax/mmbuilder.nit:802 */
5239 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5240 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
5241 if (UNTAG_Bool(REGB0
)) {
5242 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 802);
5244 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
5245 /* syntax/mmbuilder.nit:803 */
5246 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
5247 if (UNTAG_Bool(REGB0
)) {
5249 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
5250 if (UNTAG_Bool(REGB1
)) {
5251 REGB1
= TAG_Bool(false);
5254 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
5258 if (UNTAG_Bool(REGB0
)) {
5261 /* syntax/mmbuilder.nit:804 */
5262 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5263 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5264 if (UNTAG_Bool(REGB0
)) {
5265 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 804);
5267 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5270 /* syntax/mmbuilder.nit:807 */
5271 fra
.me
.REG
[5] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5272 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
5273 if (UNTAG_Bool(REGB0
)) {
5274 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 807);
5276 REGB0
= CALL_metamodel___genericity___MMTypeFormalParameter___position(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5277 fra
.me
.REG
[0] = CALL_metamodel___genericity___MMLocalClass___get_formal(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
5278 fra
.me
.REG
[0] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5279 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5280 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMType___for_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5281 /* syntax/mmbuilder.nit:808 */
5282 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5283 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5284 if (UNTAG_Bool(REGB0
)) {
5286 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5287 if (UNTAG_Bool(REGB1
)) {
5288 REGB1
= TAG_Bool(false);
5291 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
5295 if (UNTAG_Bool(REGB0
)) {
5296 /* syntax/mmbuilder.nit:809 */
5297 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5298 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5299 if (UNTAG_Bool(REGB0
)) {
5300 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 809);
5302 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5304 /* syntax/mmbuilder.nit:811 */
5305 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5306 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5307 if (UNTAG_Bool(REGB0
)) {
5308 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 811);
5310 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
5311 /* syntax/mmbuilder.nit:812 */
5312 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5313 if (UNTAG_Bool(REGB0
)) {
5315 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5316 if (UNTAG_Bool(REGB1
)) {
5317 REGB1
= TAG_Bool(false);
5320 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
5324 if (UNTAG_Bool(REGB0
)) {
5327 /* syntax/mmbuilder.nit:813 */
5328 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5329 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5330 if (UNTAG_Bool(REGB0
)) {
5331 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 813);
5333 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
5334 /* syntax/mmbuilder.nit:814 */
5335 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5336 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5337 if (UNTAG_Bool(REGB0
)) {
5338 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 814);
5340 fra
.me
.REG
[0] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5341 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[5]));
5342 if (UNTAG_Bool(REGB0
)) {
5344 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5347 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5348 if (UNTAG_Bool(REGB0
)) {
5349 /* syntax/mmbuilder.nit:815 */
5351 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5352 if (!once_value_2
) {
5353 fra
.me
.REG
[4] = BOX_NativeString("Redef error: Cannot change formal parameter type of class ");
5354 REGB0
= TAG_Int(58);
5355 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
5356 once_value_2
= fra
.me
.REG
[4];
5357 register_static_object(&once_value_2
);
5358 } else fra
.me
.REG
[4] = once_value_2
;
5359 fra
.me
.REG
[4] = fra
.me
.REG
[4];
5360 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
5361 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5362 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5363 if (!once_value_3
) {
5364 fra
.me
.REG
[1] = BOX_NativeString("; got ");
5366 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
5367 once_value_3
= fra
.me
.REG
[1];
5368 register_static_object(&once_value_3
);
5369 } else fra
.me
.REG
[1] = once_value_3
;
5370 fra
.me
.REG
[1] = fra
.me
.REG
[1];
5371 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5372 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5373 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5374 if (UNTAG_Bool(REGB0
)) {
5375 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 815);
5377 fra
.me
.REG
[1] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5378 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5379 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5380 if (!once_value_4
) {
5381 fra
.me
.REG
[1] = BOX_NativeString(", expected ");
5382 REGB0
= TAG_Int(11);
5383 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
5384 once_value_4
= fra
.me
.REG
[1];
5385 register_static_object(&once_value_4
);
5386 } else fra
.me
.REG
[1] = once_value_4
;
5387 fra
.me
.REG
[1] = fra
.me
.REG
[1];
5388 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5389 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5390 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5391 if (!once_value_5
) {
5392 fra
.me
.REG
[5] = BOX_NativeString(".");
5394 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
5395 once_value_5
= fra
.me
.REG
[5];
5396 register_static_object(&once_value_5
);
5397 } else fra
.me
.REG
[5] = once_value_5
;
5398 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5399 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5400 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5401 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
5406 stack_frame_head
= fra
.me
.prev
;
5409 val_t
syntax___mmbuilder___ASuperclass___ancestor(val_t p0
){
5410 struct {struct stack_frame_t me
;} fra
;
5412 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5413 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5415 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASuperclass___ancestor
;
5416 fra
.me
.has_broke
= 0;
5417 fra
.me
.REG_size
= 1;
5418 fra
.me
.nitni_local_ref_head
= NULL
;
5419 fra
.me
.REG
[0] = NIT_NULL
;
5421 /* syntax/mmbuilder.nit:823 */
5422 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[0]);
5423 stack_frame_head
= fra
.me
.prev
;
5424 return fra
.me
.REG
[0];
5426 void syntax___mmbuilder___ASuperclass___accept_class_specialization_builder(val_t p0
, val_t p1
){
5427 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5431 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5432 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5434 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASuperclass___accept_class_specialization_builder
;
5435 fra
.me
.has_broke
= 0;
5436 fra
.me
.REG_size
= 4;
5437 fra
.me
.nitni_local_ref_head
= NULL
;
5438 fra
.me
.REG
[0] = NIT_NULL
;
5439 fra
.me
.REG
[1] = NIT_NULL
;
5440 fra
.me
.REG
[2] = NIT_NULL
;
5441 fra
.me
.REG
[3] = NIT_NULL
;
5444 /* syntax/mmbuilder.nit:825 */
5445 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5446 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5447 /* syntax/mmbuilder.nit:827 */
5448 CALL_SUPER_syntax___mmbuilder___ASuperclass___accept_class_specialization_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5449 /* syntax/mmbuilder.nit:828 */
5450 fra
.me
.REG
[1] = CALL_parser___parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5451 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AType___get_local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
5452 /* syntax/mmbuilder.nit:829 */
5453 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5454 if (UNTAG_Bool(REGB0
)) {
5456 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5457 if (UNTAG_Bool(REGB1
)) {
5458 REGB1
= TAG_Bool(false);
5461 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
5465 if (UNTAG_Bool(REGB0
)) {
5468 /* syntax/mmbuilder.nit:830 */
5469 fra
.me
.REG
[1] = NEW_MMSrcAncestor_syntax___mmbuilder___MMSrcAncestor___init(fra
.me
.REG
[1]);
5470 /* syntax/mmbuilder.nit:831 */
5471 ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
5472 /* syntax/mmbuilder.nit:832 */
5473 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5474 CALL_metamodel___inheritance___MMLocalClass___add_direct_parent(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
5476 stack_frame_head
= fra
.me
.prev
;
5479 void syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder(val_t p0
, val_t p1
){
5480 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5483 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5484 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5486 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder
;
5487 fra
.me
.has_broke
= 0;
5488 fra
.me
.REG_size
= 4;
5489 fra
.me
.nitni_local_ref_head
= NULL
;
5490 fra
.me
.REG
[0] = NIT_NULL
;
5491 fra
.me
.REG
[1] = NIT_NULL
;
5492 fra
.me
.REG
[2] = NIT_NULL
;
5493 fra
.me
.REG
[3] = NIT_NULL
;
5496 /* syntax/mmbuilder.nit:835 */
5497 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5498 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5499 /* syntax/mmbuilder.nit:837 */
5500 CALL_SUPER_syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5501 /* syntax/mmbuilder.nit:838 */
5502 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]);
5503 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5504 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_unchecked_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
5505 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5506 if (UNTAG_Bool(REGB0
)) {
5507 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 838);
5509 CALL_metamodel___static_type___MMAncestor___stype__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5510 /* syntax/mmbuilder.nit:839 */
5511 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]);
5512 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5513 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5514 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5515 if (UNTAG_Bool(REGB0
)) {
5516 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 839);
5518 CALL_metamodel___static_type___MMAncestor___inheriter__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
5519 stack_frame_head
= fra
.me
.prev
;
5522 void syntax___mmbuilder___ASuperclass___accept_class_verifier(val_t p0
, val_t p1
){
5523 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5525 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5526 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5528 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASuperclass___accept_class_verifier
;
5529 fra
.me
.has_broke
= 0;
5530 fra
.me
.REG_size
= 4;
5531 fra
.me
.nitni_local_ref_head
= NULL
;
5532 fra
.me
.REG
[0] = NIT_NULL
;
5533 fra
.me
.REG
[1] = NIT_NULL
;
5534 fra
.me
.REG
[2] = NIT_NULL
;
5535 fra
.me
.REG
[3] = NIT_NULL
;
5538 /* syntax/mmbuilder.nit:842 */
5539 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5540 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5541 /* syntax/mmbuilder.nit:844 */
5542 CALL_SUPER_syntax___mmbuilder___ASuperclass___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5543 /* syntax/mmbuilder.nit:845 */
5544 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5545 CALL_syntax___syntax_base___AType___check_conform(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
5546 stack_frame_head
= fra
.me
.prev
;
5549 void syntax___mmbuilder___APropdef___process_and_check(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
5550 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5556 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5557 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5559 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APropdef___process_and_check
;
5560 fra
.me
.has_broke
= 0;
5561 fra
.me
.REG_size
= 4;
5562 fra
.me
.nitni_local_ref_head
= NULL
;
5563 fra
.me
.REG
[0] = NIT_NULL
;
5564 fra
.me
.REG
[1] = NIT_NULL
;
5565 fra
.me
.REG
[2] = NIT_NULL
;
5566 fra
.me
.REG
[3] = NIT_NULL
;
5572 /* syntax/mmbuilder.nit:858 */
5573 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5574 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5575 REGB2
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[2]));
5576 if (UNTAG_Bool(REGB2
)) {
5578 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
5581 if (UNTAG_Bool(REGB2
)) {
5582 /* syntax/mmbuilder.nit:859 */
5583 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
);
5585 /* syntax/mmbuilder.nit:861 */
5586 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
);
5588 stack_frame_head
= fra
.me
.prev
;
5591 void syntax___mmbuilder___APropdef___do_and_check_intro(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
5592 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
5599 static val_t once_value_1
; /* Once value */
5600 static val_t once_value_2
; /* Once value */
5601 static val_t once_value_3
; /* Once value */
5602 static val_t once_value_4
; /* Once value */
5603 static val_t once_value_5
; /* Once value */
5604 static val_t once_value_6
; /* Once value */
5605 static val_t once_value_7
; /* Once value */
5606 static val_t once_value_8
; /* Once value */
5607 static val_t once_value_9
; /* Once value */
5608 static val_t once_value_10
; /* Once value */
5609 static val_t once_value_11
; /* Once value */
5610 static val_t once_value_12
; /* Once value */
5611 static val_t once_value_13
; /* Once value */
5612 static val_t once_value_14
; /* Once value */
5613 static val_t once_value_15
; /* Once value */
5614 static val_t once_value_16
; /* Once value */
5615 static val_t once_value_17
; /* Once value */
5616 static val_t once_value_18
; /* Once value */
5617 static val_t once_value_19
; /* Once value */
5618 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5619 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5621 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APropdef___do_and_check_intro
;
5622 fra
.me
.has_broke
= 0;
5623 fra
.me
.REG_size
= 7;
5624 fra
.me
.nitni_local_ref_head
= NULL
;
5625 fra
.me
.REG
[0] = NIT_NULL
;
5626 fra
.me
.REG
[1] = NIT_NULL
;
5627 fra
.me
.REG
[2] = NIT_NULL
;
5628 fra
.me
.REG
[3] = NIT_NULL
;
5629 fra
.me
.REG
[4] = NIT_NULL
;
5630 fra
.me
.REG
[5] = NIT_NULL
;
5631 fra
.me
.REG
[6] = NIT_NULL
;
5637 /* syntax/mmbuilder.nit:868 */
5638 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5639 /* syntax/mmbuilder.nit:869 */
5640 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5641 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5642 /* syntax/mmbuilder.nit:870 */
5643 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5644 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5645 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5647 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
5648 if (UNTAG_Bool(REGB4
)) {
5650 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5652 /* ../lib/standard/kernel.nit:233 */
5653 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
5654 /* syntax/mmbuilder.nit:870 */
5655 if (UNTAG_Bool(REGB3
)) {
5656 /* syntax/mmbuilder.nit:872 */
5660 /* syntax/mmbuilder.nit:874 */
5661 CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
5662 /* syntax/mmbuilder.nit:875 */
5663 if (UNTAG_Bool(REGB0
)) {
5664 /* syntax/mmbuilder.nit:876 */
5666 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5667 if (!once_value_1
) {
5668 fra
.me
.REG
[6] = BOX_NativeString("Error: No property ");
5669 REGB0
= TAG_Int(19);
5670 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5671 once_value_1
= fra
.me
.REG
[6];
5672 register_static_object(&once_value_1
);
5673 } else fra
.me
.REG
[6] = once_value_1
;
5674 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5675 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5676 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5677 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5678 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5679 if (!once_value_2
) {
5680 fra
.me
.REG
[6] = BOX_NativeString("::");
5682 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5683 once_value_2
= fra
.me
.REG
[6];
5684 register_static_object(&once_value_2
);
5685 } else fra
.me
.REG
[6] = once_value_2
;
5686 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5687 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5688 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5689 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5690 if (!once_value_3
) {
5691 fra
.me
.REG
[6] = BOX_NativeString(" is inherited. Remove the redef keyword to define a new property.");
5692 REGB0
= TAG_Int(65);
5693 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5694 once_value_3
= fra
.me
.REG
[6];
5695 register_static_object(&once_value_3
);
5696 } else fra
.me
.REG
[6] = once_value_3
;
5697 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5698 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5699 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5700 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5702 /* syntax/mmbuilder.nit:878 */
5703 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_attribute(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5704 if (UNTAG_Bool(REGB0
)) {
5705 /* syntax/mmbuilder.nit:879 */
5706 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5707 if (UNTAG_Bool(REGB0
)) {
5708 /* syntax/mmbuilder.nit:880 */
5710 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5711 if (!once_value_4
) {
5712 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define attribute ");
5713 REGB0
= TAG_Int(35);
5714 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5715 once_value_4
= fra
.me
.REG
[6];
5716 register_static_object(&once_value_4
);
5717 } else fra
.me
.REG
[6] = once_value_4
;
5718 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5719 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5720 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5721 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5722 if (!once_value_5
) {
5723 fra
.me
.REG
[6] = BOX_NativeString(" in the interface ");
5724 REGB0
= TAG_Int(18);
5725 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5726 once_value_5
= fra
.me
.REG
[6];
5727 register_static_object(&once_value_5
);
5728 } else fra
.me
.REG
[6] = once_value_5
;
5729 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5730 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5731 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5732 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5733 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5734 if (!once_value_6
) {
5735 fra
.me
.REG
[6] = BOX_NativeString(".");
5737 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5738 once_value_6
= fra
.me
.REG
[6];
5739 register_static_object(&once_value_6
);
5740 } else fra
.me
.REG
[6] = once_value_6
;
5741 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5742 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5743 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5744 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5746 /* syntax/mmbuilder.nit:881 */
5747 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5748 if (UNTAG_Bool(REGB0
)) {
5749 /* syntax/mmbuilder.nit:882 */
5751 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5752 if (!once_value_7
) {
5753 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define attribute ");
5754 REGB0
= TAG_Int(35);
5755 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5756 once_value_7
= fra
.me
.REG
[6];
5757 register_static_object(&once_value_7
);
5758 } else fra
.me
.REG
[6] = once_value_7
;
5759 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5760 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5761 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5762 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5763 if (!once_value_8
) {
5764 fra
.me
.REG
[6] = BOX_NativeString(" in the enum class ");
5765 REGB0
= TAG_Int(19);
5766 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5767 once_value_8
= fra
.me
.REG
[6];
5768 register_static_object(&once_value_8
);
5769 } else fra
.me
.REG
[6] = once_value_8
;
5770 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5771 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5772 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5773 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5774 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5775 if (!once_value_9
) {
5776 fra
.me
.REG
[6] = BOX_NativeString(".");
5778 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5779 once_value_9
= fra
.me
.REG
[6];
5780 register_static_object(&once_value_9
);
5781 } else fra
.me
.REG
[6] = once_value_9
;
5782 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5783 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5784 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5785 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5787 /* syntax/mmbuilder.nit:883 */
5788 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5789 if (UNTAG_Bool(REGB0
)) {
5790 /* syntax/mmbuilder.nit:884 */
5792 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5793 if (!once_value_10
) {
5794 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define attribute ");
5795 REGB0
= TAG_Int(35);
5796 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5797 once_value_10
= fra
.me
.REG
[6];
5798 register_static_object(&once_value_10
);
5799 } else fra
.me
.REG
[6] = once_value_10
;
5800 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5801 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5802 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5803 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5804 if (!once_value_11
) {
5805 fra
.me
.REG
[6] = BOX_NativeString(" in the extern class ");
5806 REGB0
= TAG_Int(21);
5807 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5808 once_value_11
= fra
.me
.REG
[6];
5809 register_static_object(&once_value_11
);
5810 } else fra
.me
.REG
[6] = once_value_11
;
5811 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5812 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5813 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5814 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5815 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5816 if (!once_value_12
) {
5817 fra
.me
.REG
[6] = BOX_NativeString(".");
5819 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5820 once_value_12
= fra
.me
.REG
[6];
5821 register_static_object(&once_value_12
);
5822 } else fra
.me
.REG
[6] = once_value_12
;
5823 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5824 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5825 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5826 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5831 /* syntax/mmbuilder.nit:886 */
5832 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5833 if (UNTAG_Bool(REGB0
)) {
5834 /* syntax/mmbuilder.nit:887 */
5835 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5836 if (UNTAG_Bool(REGB0
)) {
5837 /* syntax/mmbuilder.nit:888 */
5839 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5840 if (!once_value_13
) {
5841 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define a constructor ");
5842 REGB0
= TAG_Int(39);
5843 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5844 once_value_13
= fra
.me
.REG
[6];
5845 register_static_object(&once_value_13
);
5846 } else fra
.me
.REG
[6] = once_value_13
;
5847 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5848 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5849 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5850 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5851 if (!once_value_14
) {
5852 fra
.me
.REG
[6] = BOX_NativeString(" in the class ");
5853 REGB0
= TAG_Int(14);
5854 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5855 once_value_14
= fra
.me
.REG
[6];
5856 register_static_object(&once_value_14
);
5857 } else fra
.me
.REG
[6] = once_value_14
;
5858 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5859 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5860 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5861 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5862 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5863 if (!once_value_15
) {
5864 fra
.me
.REG
[6] = BOX_NativeString(".");
5866 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5867 once_value_15
= fra
.me
.REG
[6];
5868 register_static_object(&once_value_15
);
5869 } else fra
.me
.REG
[6] = once_value_15
;
5870 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 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5873 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5875 /* syntax/mmbuilder.nit:889 */
5876 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5877 if (UNTAG_Bool(REGB0
)) {
5878 /* syntax/mmbuilder.nit:890 */
5880 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5881 if (!once_value_16
) {
5882 fra
.me
.REG
[5] = BOX_NativeString("Error: Attempt to define a constructor ");
5883 REGB0
= TAG_Int(39);
5884 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
5885 once_value_16
= fra
.me
.REG
[5];
5886 register_static_object(&once_value_16
);
5887 } else fra
.me
.REG
[5] = once_value_16
;
5888 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5889 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5890 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5891 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5892 if (!once_value_17
) {
5893 fra
.me
.REG
[5] = BOX_NativeString(" in the enum ");
5894 REGB0
= TAG_Int(13);
5895 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
5896 once_value_17
= fra
.me
.REG
[5];
5897 register_static_object(&once_value_17
);
5898 } else fra
.me
.REG
[5] = once_value_17
;
5899 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5900 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5901 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5902 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5903 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5904 if (!once_value_18
) {
5905 fra
.me
.REG
[5] = BOX_NativeString(".");
5907 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
5908 once_value_18
= fra
.me
.REG
[5];
5909 register_static_object(&once_value_18
);
5910 } else fra
.me
.REG
[5] = once_value_18
;
5911 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5912 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5913 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5914 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
5919 /* syntax/mmbuilder.nit:895 */
5920 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5921 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5922 if (UNTAG_Bool(REGB0
)) {
5924 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5925 if (UNTAG_Bool(REGB1
)) {
5926 REGB1
= TAG_Bool(false);
5929 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
5933 if (UNTAG_Bool(REGB0
)) {
5934 /* syntax/mmbuilder.nit:896 */
5935 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5936 if (UNTAG_Bool(REGB0
)) {
5937 /* syntax/mmbuilder.nit:897 */
5938 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5939 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5940 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___super_methods_named(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
5941 /* syntax/mmbuilder.nit:898 */
5942 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]);
5944 /* syntax/mmbuilder.nit:900 */
5945 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5946 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5947 if (UNTAG_Bool(REGB0
)) {
5949 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5950 if (UNTAG_Bool(REGB1
)) {
5951 REGB1
= TAG_Bool(false);
5954 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
5958 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5959 if (UNTAG_Bool(REGB0
)) {
5960 REGB0
= TAG_Bool(true);
5962 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5963 REGB1
= CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5966 if (UNTAG_Bool(REGB0
)) {
5968 /* syntax/mmbuilder.nit:902 */
5969 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5970 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5971 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5972 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5973 if (UNTAG_Bool(REGB0
)) {
5974 /* syntax/mmbuilder.nit:903 */
5975 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5976 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5977 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5978 if (!once_value_19
) {
5979 fra
.me
.REG
[0] = BOX_NativeString("Error: Untyped parameter.");
5980 REGB0
= TAG_Int(25);
5981 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
5982 once_value_19
= fra
.me
.REG
[0];
5983 register_static_object(&once_value_19
);
5984 } else fra
.me
.REG
[0] = once_value_19
;
5985 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5986 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[0]);
5988 /* syntax/mmbuilder.nit:905 */
5989 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
5990 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5991 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5992 fra
.me
.REG
[4] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[4]);
5993 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
5994 /* syntax/mmbuilder.nit:906 */
5995 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5996 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5997 /* ../lib/standard/collection/array.nit:269 */
5999 /* ../lib/standard/collection/array.nit:270 */
6000 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
6001 if (UNTAG_Bool(REGB1
)) {
6003 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
6005 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
6006 /* ../lib/standard/collection/array.nit:271 */
6007 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
6008 /* ../lib/standard/collection/array.nit:272 */
6010 /* ../lib/standard/collection/array.nit:24 */
6011 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
6012 if (UNTAG_Bool(REGB1
)) {
6014 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6016 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
6017 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
6018 if (UNTAG_Bool(REGB3
)) {
6020 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6022 /* ../lib/standard/kernel.nit:232 */
6023 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
6024 /* ../lib/standard/collection/array.nit:272 */
6025 if (UNTAG_Bool(REGB1
)) {
6026 /* ../lib/standard/collection/array.nit:273 */
6027 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6028 if (UNTAG_Bool(REGB1
)) {
6029 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
6031 /* ../lib/standard/collection/array.nit:718 */
6032 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
6033 /* syntax/mmbuilder.nit:907 */
6034 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6035 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
6036 if (UNTAG_Bool(REGB1
)) {
6037 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 907);
6039 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMSignature___closures(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6040 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AClosureDecl___variable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
6041 fra
.me
.REG
[0] = CALL_syntax___syntax_base___ClosureVariable___closure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
6042 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
6043 /* ../lib/standard/collection/array.nit:274 */
6045 /* ../lib/standard/kernel.nit:235 */
6046 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
6047 /* ../lib/standard/collection/array.nit:274 */
6050 /* ../lib/standard/collection/array.nit:272 */
6058 stack_frame_head
= fra
.me
.prev
;
6061 void syntax___mmbuilder___APropdef___inherit_signature(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
6062 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
6069 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
6070 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
6072 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APropdef___inherit_signature
;
6073 fra
.me
.has_broke
= 0;
6074 fra
.me
.REG_size
= 11;
6075 fra
.me
.nitni_local_ref_head
= NULL
;
6076 fra
.me
.REG
[0] = NIT_NULL
;
6077 fra
.me
.REG
[1] = NIT_NULL
;
6078 fra
.me
.REG
[2] = NIT_NULL
;
6079 fra
.me
.REG
[3] = NIT_NULL
;
6080 fra
.me
.REG
[4] = NIT_NULL
;
6081 fra
.me
.REG
[5] = NIT_NULL
;
6082 fra
.me
.REG
[6] = NIT_NULL
;
6083 fra
.me
.REG
[7] = NIT_NULL
;
6084 fra
.me
.REG
[8] = NIT_NULL
;
6085 fra
.me
.REG
[9] = NIT_NULL
;
6086 fra
.me
.REG
[10] = NIT_NULL
;
6091 /* syntax/mmbuilder.nit:915 */
6092 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6093 /* ../lib/standard/collection/array.nit:269 */
6095 /* ../lib/standard/collection/array.nit:270 */
6096 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
6097 if (UNTAG_Bool(REGB1
)) {
6099 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
6101 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
6102 /* ../lib/standard/collection/array.nit:271 */
6103 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
6104 /* ../lib/standard/collection/array.nit:272 */
6106 /* ../lib/standard/collection/array.nit:24 */
6107 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
6108 if (UNTAG_Bool(REGB1
)) {
6110 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6112 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
6113 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
6114 if (UNTAG_Bool(REGB2
)) {
6116 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6118 /* ../lib/standard/kernel.nit:232 */
6119 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
6120 /* ../lib/standard/collection/array.nit:272 */
6121 if (UNTAG_Bool(REGB1
)) {
6122 /* ../lib/standard/collection/array.nit:273 */
6123 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6124 if (UNTAG_Bool(REGB1
)) {
6125 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
6127 /* ../lib/standard/collection/array.nit:718 */
6128 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
6129 /* syntax/mmbuilder.nit:917 */
6130 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6131 fra
.me
.REG
[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6132 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6133 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
6134 if (UNTAG_Bool(REGB1
)) {
6135 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 917);
6137 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMSignature___adaptation_to(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
6138 /* syntax/mmbuilder.nit:919 */
6139 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6140 if (UNTAG_Bool(REGB1
)) {
6142 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6143 if (UNTAG_Bool(REGB2
)) {
6144 REGB2
= TAG_Bool(false);
6147 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
6151 if (UNTAG_Bool(REGB1
)) {
6152 /* syntax/mmbuilder.nit:920 */
6153 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6154 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6155 /* ../lib/standard/collection/array.nit:24 */
6156 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6157 if (UNTAG_Bool(REGB1
)) {
6159 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6161 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6162 /* syntax/mmbuilder.nit:920 */
6163 REGB2
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6164 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
6165 if (UNTAG_Bool(REGB3
)) {
6167 /* ../lib/standard/kernel.nit:227 */
6168 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
6169 /* syntax/mmbuilder.nit:920 */
6172 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
6173 if (UNTAG_Bool(REGB3
)) {
6174 /* syntax/mmbuilder.nit:921 */
6177 /* syntax/mmbuilder.nit:923 */
6178 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6179 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6180 /* ../lib/standard/collection/array.nit:269 */
6182 /* ../lib/standard/collection/array.nit:270 */
6183 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6184 if (UNTAG_Bool(REGB2
)) {
6186 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
6188 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6189 /* ../lib/standard/collection/array.nit:271 */
6190 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
6191 /* ../lib/standard/collection/array.nit:272 */
6193 /* ../lib/standard/collection/array.nit:24 */
6194 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6195 if (UNTAG_Bool(REGB2
)) {
6197 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6199 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6200 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
6201 if (UNTAG_Bool(REGB1
)) {
6203 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6205 /* ../lib/standard/kernel.nit:232 */
6206 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB2
));
6207 /* ../lib/standard/collection/array.nit:272 */
6208 if (UNTAG_Bool(REGB2
)) {
6209 /* ../lib/standard/collection/array.nit:273 */
6210 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6211 if (UNTAG_Bool(REGB2
)) {
6212 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
6214 /* ../lib/standard/collection/array.nit:718 */
6215 fra
.me
.REG
[8] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB3
)];
6216 /* syntax/mmbuilder.nit:924 */
6217 REGB2
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6218 fra
.me
.REG
[9] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB2
);
6219 /* syntax/mmbuilder.nit:925 */
6220 CALL_syntax___mmbuilder___AParam___stype__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
6221 /* syntax/mmbuilder.nit:926 */
6222 REGB2
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6223 REGB1
= CALL_metamodel___vararg___MMSignature___vararg_rank(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6224 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
6225 if (UNTAG_Bool(REGB4
)) {
6227 /* ../lib/standard/kernel.nit:227 */
6228 REGB1
= TAG_Bool((REGB2
)==(REGB1
));
6229 /* syntax/mmbuilder.nit:926 */
6232 if (UNTAG_Bool(REGB4
)) {
6233 /* syntax/mmbuilder.nit:927 */
6234 fra
.me
.REG
[10] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[9]);
6235 fra
.me
.REG
[9] = fra
.me
.REG
[10];
6237 /* syntax/mmbuilder.nit:929 */
6238 fra
.me
.REG
[8] = CALL_syntax___syntax_base___AParam___variable(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6239 CALL_syntax___syntax_base___Variable___stype__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
6240 /* ../lib/standard/collection/array.nit:274 */
6242 /* ../lib/standard/kernel.nit:235 */
6243 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB4
));
6244 /* ../lib/standard/collection/array.nit:274 */
6247 /* ../lib/standard/collection/array.nit:272 */
6252 /* syntax/mmbuilder.nit:932 */
6253 fra
.me
.REG
[0] = fra
.me
.REG
[6];
6254 /* syntax/mmbuilder.nit:933 */
6255 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
6257 /* ../lib/standard/collection/array.nit:274 */
6259 /* ../lib/standard/kernel.nit:235 */
6260 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
6261 /* ../lib/standard/collection/array.nit:274 */
6264 /* ../lib/standard/collection/array.nit:272 */
6270 stack_frame_head
= fra
.me
.prev
;
6273 void syntax___mmbuilder___APropdef___do_and_check_redef(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
6274 struct {struct stack_frame_t me
; val_t MORE_REG
[13];} fra
;
6284 static val_t once_value_1
; /* Once value */
6285 static val_t once_value_2
; /* Once value */
6286 static val_t once_value_3
; /* Once value */
6287 static val_t once_value_5
; /* Once value */
6288 static val_t once_value_6
; /* Once value */
6289 static val_t once_value_7
; /* Once value */
6290 static val_t once_value_8
; /* Once value */
6291 static val_t once_value_9
; /* Once value */
6292 static val_t once_value_10
; /* Once value */
6293 static val_t once_value_12
; /* Once value */
6294 static val_t once_value_13
; /* Once value */
6295 static val_t once_value_14
; /* Once value */
6296 static val_t once_value_15
; /* Once value */
6297 static val_t once_value_16
; /* Once value */
6298 static val_t once_value_17
; /* Once value */
6299 static val_t once_value_18
; /* Once value */
6300 static val_t once_value_19
; /* Once value */
6301 static val_t once_value_20
; /* Once value */
6302 static val_t once_value_21
; /* Once value */
6303 static val_t once_value_22
; /* Once value */
6304 static val_t once_value_23
; /* Once value */
6305 static val_t once_value_26
; /* Once value */
6306 static val_t once_value_27
; /* Once value */
6307 static val_t once_value_28
; /* Once value */
6308 static val_t once_value_29
; /* Once value */
6309 static val_t once_value_30
; /* Once value */
6310 static val_t once_value_31
; /* Once value */
6311 static val_t once_value_32
; /* Once value */
6312 static val_t once_value_33
; /* Once value */
6313 static val_t once_value_34
; /* Once value */
6314 static val_t once_value_35
; /* Once value */
6315 static val_t once_value_37
; /* Once value */
6316 static val_t once_value_38
; /* Once value */
6317 static val_t once_value_39
; /* Once value */
6318 static val_t once_value_40
; /* Once value */
6319 static val_t once_value_41
; /* Once value */
6320 static val_t once_value_42
; /* Once value */
6321 static val_t once_value_43
; /* Once value */
6322 static val_t once_value_44
; /* Once value */
6323 static val_t once_value_45
; /* Once value */
6324 static val_t once_value_46
; /* Once value */
6325 static val_t once_value_47
; /* Once value */
6326 static val_t once_value_48
; /* Once value */
6327 static val_t once_value_49
; /* Once value */
6328 static val_t once_value_50
; /* Once value */
6329 static val_t once_value_51
; /* Once value */
6330 static val_t once_value_52
; /* Once value */
6331 static val_t once_value_53
; /* Once value */
6332 static val_t once_value_54
; /* Once value */
6333 static val_t once_value_55
; /* Once value */
6334 static val_t once_value_56
; /* Once value */
6335 static val_t once_value_57
; /* Once value */
6336 static val_t once_value_58
; /* Once value */
6337 static val_t once_value_59
; /* Once value */
6338 static val_t once_value_60
; /* Once value */
6339 static val_t once_value_61
; /* Once value */
6340 static val_t once_value_62
; /* Once value */
6341 static val_t once_value_63
; /* Once value */
6342 static val_t once_value_65
; /* Once value */
6343 static val_t once_value_66
; /* Once value */
6344 static val_t once_value_67
; /* Once value */
6345 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
6346 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
6348 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APropdef___do_and_check_redef
;
6349 fra
.me
.has_broke
= 0;
6350 fra
.me
.REG_size
= 14;
6351 fra
.me
.nitni_local_ref_head
= NULL
;
6352 fra
.me
.REG
[0] = NIT_NULL
;
6353 fra
.me
.REG
[1] = NIT_NULL
;
6354 fra
.me
.REG
[2] = NIT_NULL
;
6355 fra
.me
.REG
[3] = NIT_NULL
;
6356 fra
.me
.REG
[4] = NIT_NULL
;
6357 fra
.me
.REG
[5] = NIT_NULL
;
6358 fra
.me
.REG
[6] = NIT_NULL
;
6359 fra
.me
.REG
[7] = NIT_NULL
;
6360 fra
.me
.REG
[8] = NIT_NULL
;
6361 fra
.me
.REG
[9] = NIT_NULL
;
6362 fra
.me
.REG
[10] = NIT_NULL
;
6363 fra
.me
.REG
[11] = NIT_NULL
;
6364 fra
.me
.REG
[12] = NIT_NULL
;
6365 fra
.me
.REG
[13] = NIT_NULL
;
6371 /* syntax/mmbuilder.nit:941 */
6372 REGB2
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AInitPropdef
, ID_parser___parser_nodes___AInitPropdef
)) /*cast AInitPropdef*/;
6373 /* syntax/mmbuilder.nit:942 */
6374 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6375 /* syntax/mmbuilder.nit:944 */
6376 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6377 if (UNTAG_Bool(REGB0
)) {
6378 /* syntax/mmbuilder.nit:945 */
6380 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
6381 if (!once_value_1
) {
6382 fra
.me
.REG
[5] = BOX_NativeString("Redef error: ");
6383 REGB0
= TAG_Int(13);
6384 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6385 once_value_1
= fra
.me
.REG
[5];
6386 register_static_object(&once_value_1
);
6387 } else fra
.me
.REG
[5] = once_value_1
;
6388 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6389 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6390 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6391 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6392 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6393 if (!once_value_2
) {
6394 fra
.me
.REG
[5] = BOX_NativeString("::");
6396 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6397 once_value_2
= fra
.me
.REG
[5];
6398 register_static_object(&once_value_2
);
6399 } else fra
.me
.REG
[5] = once_value_2
;
6400 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6401 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6402 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6403 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6404 if (!once_value_3
) {
6405 fra
.me
.REG
[5] = BOX_NativeString(" is an inherited property. To redefine it, add the redef keyword.");
6406 REGB0
= TAG_Int(65);
6407 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6408 once_value_3
= fra
.me
.REG
[5];
6409 register_static_object(&once_value_3
);
6410 } else fra
.me
.REG
[5] = once_value_3
;
6411 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6412 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6413 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6414 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
6415 /* syntax/mmbuilder.nit:946 */
6418 /* syntax/mmbuilder.nit:948 */
6419 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6420 if (UNTAG_Bool(REGB0
)) {
6421 REGB0
= TAG_Bool(!UNTAG_Bool(REGB2
));
6423 REGB3
= TAG_Bool(false);
6426 if (UNTAG_Bool(REGB0
)) {
6427 /* syntax/mmbuilder.nit:949 */
6429 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
6430 if (!once_value_5
) {
6431 fra
.me
.REG
[5] = BOX_NativeString("Redef error: A method ");
6432 REGB0
= TAG_Int(22);
6433 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6434 once_value_5
= fra
.me
.REG
[5];
6435 register_static_object(&once_value_5
);
6436 } else fra
.me
.REG
[5] = once_value_5
;
6437 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6438 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6439 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6440 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6441 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6442 if (!once_value_6
) {
6443 fra
.me
.REG
[5] = BOX_NativeString("::");
6445 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6446 once_value_6
= fra
.me
.REG
[5];
6447 register_static_object(&once_value_6
);
6448 } else fra
.me
.REG
[5] = once_value_6
;
6449 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6450 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6451 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6452 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6453 if (!once_value_7
) {
6454 fra
.me
.REG
[5] = BOX_NativeString(" cannot redefine a constructor.");
6455 REGB0
= TAG_Int(31);
6456 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6457 once_value_7
= fra
.me
.REG
[5];
6458 register_static_object(&once_value_7
);
6459 } else fra
.me
.REG
[5] = once_value_7
;
6460 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6461 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6462 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6463 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
6465 /* syntax/mmbuilder.nit:950 */
6466 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6467 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6468 if (UNTAG_Bool(REGB0
)) {
6470 REGB0
= TAG_Bool(false);
6473 if (UNTAG_Bool(REGB2
)) {
6474 /* syntax/mmbuilder.nit:951 */
6476 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
6477 if (!once_value_8
) {
6478 fra
.me
.REG
[5] = BOX_NativeString("Redef error: A constructor ");
6479 REGB2
= TAG_Int(27);
6480 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
6481 once_value_8
= fra
.me
.REG
[5];
6482 register_static_object(&once_value_8
);
6483 } else fra
.me
.REG
[5] = once_value_8
;
6484 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6485 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6486 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6487 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(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 if (!once_value_9
) {
6490 fra
.me
.REG
[5] = BOX_NativeString("::");
6492 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
6493 once_value_9
= fra
.me
.REG
[5];
6494 register_static_object(&once_value_9
);
6495 } else fra
.me
.REG
[5] = once_value_9
;
6496 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6497 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6498 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6499 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6500 if (!once_value_10
) {
6501 fra
.me
.REG
[5] = BOX_NativeString(" cannot redefine a method.");
6502 REGB2
= TAG_Int(26);
6503 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
6504 once_value_10
= fra
.me
.REG
[5];
6505 register_static_object(&once_value_10
);
6506 } else fra
.me
.REG
[5] = once_value_10
;
6507 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6508 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6509 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6510 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
6513 /* syntax/mmbuilder.nit:954 */
6514 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6515 /* syntax/mmbuilder.nit:956 */
6516 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___prhe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6517 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6518 /* ../lib/standard/collection/array.nit:269 */
6520 /* ../lib/standard/collection/array.nit:270 */
6521 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6522 if (UNTAG_Bool(REGB0
)) {
6524 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
6526 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6527 /* ../lib/standard/collection/array.nit:271 */
6528 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
6529 /* ../lib/standard/collection/array.nit:272 */
6531 /* ../lib/standard/collection/array.nit:24 */
6532 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6533 if (UNTAG_Bool(REGB0
)) {
6535 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6537 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6538 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
6539 if (UNTAG_Bool(REGB3
)) {
6541 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6543 /* ../lib/standard/kernel.nit:232 */
6544 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB0
));
6545 /* ../lib/standard/collection/array.nit:272 */
6546 if (UNTAG_Bool(REGB0
)) {
6547 /* ../lib/standard/collection/array.nit:273 */
6548 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
6549 if (UNTAG_Bool(REGB0
)) {
6550 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
6552 /* ../lib/standard/collection/array.nit:718 */
6553 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB2
)];
6554 /* syntax/mmbuilder.nit:957 */
6555 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6556 fra
.me
.REG
[9] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6557 fra
.me
.REG
[9] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
6558 /* syntax/mmbuilder.nit:958 */
6559 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6560 /* syntax/mmbuilder.nit:959 */
6561 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6562 if (UNTAG_Bool(REGB0
)) {
6564 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6565 if (UNTAG_Bool(REGB3
)) {
6566 REGB3
= TAG_Bool(false);
6569 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
6573 if (UNTAG_Bool(REGB0
)) {
6576 /* syntax/mmbuilder.nit:960 */
6577 fra
.me
.REG
[8] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6578 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6579 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6580 if (UNTAG_Bool(REGB0
)) {
6581 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 960);
6583 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature___adaptation_to(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
6584 fra
.me
.REG
[7] = fra
.me
.REG
[8];
6585 /* syntax/mmbuilder.nit:962 */
6586 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6587 if (UNTAG_Bool(REGB0
)) {
6589 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6590 if (UNTAG_Bool(REGB3
)) {
6591 REGB3
= TAG_Bool(false);
6594 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
6598 if (UNTAG_Bool(REGB0
)) {
6599 /* syntax/mmbuilder.nit:964 */
6600 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6601 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6602 /* ../lib/standard/collection/array.nit:24 */
6603 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6604 if (UNTAG_Bool(REGB0
)) {
6606 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6608 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6609 /* syntax/mmbuilder.nit:964 */
6610 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6611 if (UNTAG_Bool(REGB3
)) {
6612 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 964);
6614 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6615 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB3
));
6616 if (UNTAG_Bool(REGB4
)) {
6618 /* ../lib/standard/kernel.nit:227 */
6619 REGB3
= TAG_Bool((REGB0
)==(REGB3
));
6620 /* syntax/mmbuilder.nit:964 */
6623 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
6624 if (UNTAG_Bool(REGB4
)) {
6625 /* syntax/mmbuilder.nit:965 */
6626 REGB4
= TAG_Int(11);
6627 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
6628 if (!once_value_12
) {
6629 fra
.me
.REG
[10] = BOX_NativeString("Redef error: ");
6630 REGB4
= TAG_Int(13);
6631 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6632 once_value_12
= fra
.me
.REG
[10];
6633 register_static_object(&once_value_12
);
6634 } else fra
.me
.REG
[10] = once_value_12
;
6635 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6636 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6637 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6638 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6639 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6640 if (!once_value_13
) {
6641 fra
.me
.REG
[10] = BOX_NativeString("::");
6643 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6644 once_value_13
= fra
.me
.REG
[10];
6645 register_static_object(&once_value_13
);
6646 } else fra
.me
.REG
[10] = once_value_13
;
6647 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6648 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6649 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6650 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6651 if (!once_value_14
) {
6652 fra
.me
.REG
[10] = BOX_NativeString(" redefines ");
6653 REGB4
= TAG_Int(11);
6654 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6655 once_value_14
= fra
.me
.REG
[10];
6656 register_static_object(&once_value_14
);
6657 } else fra
.me
.REG
[10] = once_value_14
;
6658 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6659 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6660 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6661 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6662 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6663 if (!once_value_15
) {
6664 fra
.me
.REG
[10] = BOX_NativeString("::");
6666 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6667 once_value_15
= fra
.me
.REG
[10];
6668 register_static_object(&once_value_15
);
6669 } else fra
.me
.REG
[10] = once_value_15
;
6670 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6671 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6672 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6673 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6674 if (!once_value_16
) {
6675 fra
.me
.REG
[10] = BOX_NativeString(" with ");
6677 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6678 once_value_16
= fra
.me
.REG
[10];
6679 register_static_object(&once_value_16
);
6680 } else fra
.me
.REG
[10] = once_value_16
;
6681 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6682 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6683 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6684 if (UNTAG_Bool(REGB4
)) {
6685 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 965);
6687 REGB4
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6688 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(REGB4
)(REGB4
);
6689 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6690 if (!once_value_17
) {
6691 fra
.me
.REG
[10] = BOX_NativeString(" parameter(s).");
6692 REGB4
= TAG_Int(14);
6693 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6694 once_value_17
= fra
.me
.REG
[10];
6695 register_static_object(&once_value_17
);
6696 } else fra
.me
.REG
[10] = once_value_17
;
6697 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6698 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6699 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6700 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[8]);
6701 /* syntax/mmbuilder.nit:966 */
6704 /* syntax/mmbuilder.nit:968 */
6705 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6706 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6707 /* ../lib/standard/collection/array.nit:24 */
6708 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6709 if (UNTAG_Bool(REGB4
)) {
6711 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6713 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6714 /* syntax/mmbuilder.nit:968 */
6715 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6716 if (UNTAG_Bool(REGB3
)) {
6717 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 968);
6719 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature___closures(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6720 /* ../lib/standard/collection/array.nit:24 */
6721 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6722 if (UNTAG_Bool(REGB3
)) {
6724 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6726 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6727 /* syntax/mmbuilder.nit:968 */
6728 REGB0
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB3
));
6729 if (UNTAG_Bool(REGB0
)) {
6731 /* ../lib/standard/kernel.nit:227 */
6732 REGB3
= TAG_Bool((REGB4
)==(REGB3
));
6733 /* syntax/mmbuilder.nit:968 */
6736 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6737 if (UNTAG_Bool(REGB0
)) {
6738 /* syntax/mmbuilder.nit:969 */
6739 REGB0
= TAG_Int(11);
6740 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
6741 if (!once_value_18
) {
6742 fra
.me
.REG
[10] = BOX_NativeString("Redef error: ");
6743 REGB0
= TAG_Int(13);
6744 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6745 once_value_18
= fra
.me
.REG
[10];
6746 register_static_object(&once_value_18
);
6747 } else fra
.me
.REG
[10] = once_value_18
;
6748 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6749 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6750 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6751 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6752 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6753 if (!once_value_19
) {
6754 fra
.me
.REG
[10] = BOX_NativeString("::");
6756 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6757 once_value_19
= fra
.me
.REG
[10];
6758 register_static_object(&once_value_19
);
6759 } else fra
.me
.REG
[10] = once_value_19
;
6760 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 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6763 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6764 if (!once_value_20
) {
6765 fra
.me
.REG
[10] = BOX_NativeString(" redefines ");
6766 REGB0
= TAG_Int(11);
6767 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6768 once_value_20
= fra
.me
.REG
[10];
6769 register_static_object(&once_value_20
);
6770 } else fra
.me
.REG
[10] = once_value_20
;
6771 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6772 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6773 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6774 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6775 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6776 if (!once_value_21
) {
6777 fra
.me
.REG
[10] = BOX_NativeString("::");
6779 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6780 once_value_21
= fra
.me
.REG
[10];
6781 register_static_object(&once_value_21
);
6782 } else fra
.me
.REG
[10] = once_value_21
;
6783 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6784 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6785 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6786 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6787 if (!once_value_22
) {
6788 fra
.me
.REG
[10] = BOX_NativeString(" with ");
6790 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6791 once_value_22
= fra
.me
.REG
[10];
6792 register_static_object(&once_value_22
);
6793 } else fra
.me
.REG
[10] = once_value_22
;
6794 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6795 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6796 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6797 if (UNTAG_Bool(REGB0
)) {
6798 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 969);
6800 REGB0
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6801 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
6802 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6803 if (!once_value_23
) {
6804 fra
.me
.REG
[10] = BOX_NativeString(" closure(s).");
6805 REGB0
= TAG_Int(12);
6806 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6807 once_value_23
= fra
.me
.REG
[10];
6808 register_static_object(&once_value_23
);
6809 } else fra
.me
.REG
[10] = once_value_23
;
6810 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6811 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6812 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6813 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[8]);
6814 /* syntax/mmbuilder.nit:970 */
6817 /* syntax/mmbuilder.nit:972 */
6818 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6819 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6820 /* ../lib/standard/collection/array.nit:269 */
6822 /* ../lib/standard/collection/array.nit:270 */
6823 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6824 if (UNTAG_Bool(REGB3
)) {
6826 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
6828 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6829 /* ../lib/standard/collection/array.nit:271 */
6830 fra
.me
.REG
[10] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[8]);
6831 /* ../lib/standard/collection/array.nit:272 */
6833 /* ../lib/standard/collection/array.nit:24 */
6834 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6835 if (UNTAG_Bool(REGB3
)) {
6837 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6839 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6840 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
6841 if (UNTAG_Bool(REGB4
)) {
6843 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6845 /* ../lib/standard/kernel.nit:232 */
6846 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB3
));
6847 /* ../lib/standard/collection/array.nit:272 */
6848 if (UNTAG_Bool(REGB3
)) {
6849 /* ../lib/standard/collection/array.nit:273 */
6850 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6851 if (UNTAG_Bool(REGB3
)) {
6852 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
6854 /* ../lib/standard/collection/array.nit:718 */
6855 fra
.me
.REG
[11] = ((Nit_NativeArray
)fra
.me
.REG
[10])->val
[UNTAG_Int(REGB0
)];
6856 /* syntax/mmbuilder.nit:973 */
6857 REGB3
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6858 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6859 if (UNTAG_Bool(REGB4
)) {
6860 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 973);
6862 fra
.me
.REG
[12] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB3
);
6863 /* syntax/mmbuilder.nit:974 */
6864 CALL_syntax___mmbuilder___AParam___stype__eq(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
6865 /* syntax/mmbuilder.nit:975 */
6866 REGB3
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6867 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6868 if (UNTAG_Bool(REGB4
)) {
6869 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 975);
6871 REGB4
= CALL_metamodel___vararg___MMSignature___vararg_rank(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6872 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB4
));
6873 if (UNTAG_Bool(REGB5
)) {
6875 /* ../lib/standard/kernel.nit:227 */
6876 REGB4
= TAG_Bool((REGB3
)==(REGB4
));
6877 /* syntax/mmbuilder.nit:975 */
6880 if (UNTAG_Bool(REGB5
)) {
6881 /* syntax/mmbuilder.nit:976 */
6882 fra
.me
.REG
[13] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[12]);
6883 fra
.me
.REG
[12] = fra
.me
.REG
[13];
6885 /* syntax/mmbuilder.nit:978 */
6886 fra
.me
.REG
[13] = CALL_syntax___syntax_base___AParam___variable(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6887 CALL_syntax___syntax_base___Variable___stype__eq(fra
.me
.REG
[13])(fra
.me
.REG
[13], fra
.me
.REG
[12]);
6888 /* syntax/mmbuilder.nit:980 */
6889 REGB5
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6890 if (UNTAG_Bool(REGB5
)) {
6891 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 980);
6893 fra
.me
.REG
[12] = CALL_metamodel___static_type___MMSignature___params(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6894 REGB5
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6895 /* ../lib/standard/collection/array.nit:280 */
6897 REGB3
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
6898 if (UNTAG_Bool(REGB3
)) {
6900 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6902 /* ../lib/standard/kernel.nit:233 */
6903 REGB4
= TAG_Bool(UNTAG_Int(REGB5
)>=UNTAG_Int(REGB4
));
6904 /* ../lib/standard/collection/array.nit:280 */
6905 if (UNTAG_Bool(REGB4
)) {
6906 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[12])!=NIT_NULL
);
6907 if (UNTAG_Bool(REGB4
)) {
6909 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6911 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[12]);
6912 REGB3
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
6913 if (UNTAG_Bool(REGB3
)) {
6915 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6917 /* ../lib/standard/kernel.nit:232 */
6918 REGB4
= TAG_Bool(UNTAG_Int(REGB5
)<UNTAG_Int(REGB4
));
6920 /* ../lib/standard/collection/array.nit:280 */
6921 REGB3
= TAG_Bool(false);
6924 if (UNTAG_Bool(REGB4
)) {
6926 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
6928 /* ../lib/standard/collection/array.nit:281 */
6929 fra
.me
.REG
[12] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[12]);
6930 REGB4
= TAG_Bool(fra
.me
.REG
[12]==NIT_NULL
);
6931 if (UNTAG_Bool(REGB4
)) {
6932 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6934 /* ../lib/standard/collection/array.nit:718 */
6935 fra
.me
.REG
[12] = ((Nit_NativeArray
)fra
.me
.REG
[12])->val
[UNTAG_Int(REGB5
)];
6936 /* ../lib/standard/collection/array.nit:281 */
6939 /* syntax/mmbuilder.nit:980 */
6940 fra
.me
.REG
[11] = CALL_syntax___syntax_base___AParam___variable(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6941 fra
.me
.REG
[11] = CALL_syntax___syntax_base___Variable___name(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6942 REGB5
= TAG_Bool(fra
.me
.REG
[12]==NIT_NULL
);
6943 if (UNTAG_Bool(REGB5
)) {
6944 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 980);
6946 CALL_metamodel___static_type___MMParam___name__eq(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6947 /* ../lib/standard/collection/array.nit:274 */
6949 /* ../lib/standard/kernel.nit:235 */
6950 REGB5
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB5
));
6951 /* ../lib/standard/collection/array.nit:274 */
6954 /* ../lib/standard/collection/array.nit:272 */
6959 /* syntax/mmbuilder.nit:982 */
6960 fra
.me
.REG
[4] = fra
.me
.REG
[7];
6961 /* syntax/mmbuilder.nit:983 */
6962 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
6964 /* syntax/mmbuilder.nit:987 */
6965 fra
.me
.REG
[10] = CALL_syntax___syntax_base___AbsSyntaxVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6966 REGB0
= CALL_toolcontext___ToolContext___error_count(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6967 /* syntax/mmbuilder.nit:995 */
6968 REGB5
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6969 if (UNTAG_Bool(REGB5
)) {
6970 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 995);
6972 REGB5
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6973 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6974 if (UNTAG_Bool(REGB4
)) {
6975 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 995);
6977 REGB4
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6978 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB5
,REGB4
));
6979 if (UNTAG_Bool(REGB3
)) {
6981 /* ../lib/standard/kernel.nit:227 */
6982 REGB4
= TAG_Bool((REGB5
)==(REGB4
));
6983 /* syntax/mmbuilder.nit:995 */
6986 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
6987 if (UNTAG_Bool(REGB3
)) {
6988 /* syntax/mmbuilder.nit:996 */
6989 REGB3
= TAG_Int(11);
6990 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
6991 if (!once_value_26
) {
6992 fra
.me
.REG
[8] = BOX_NativeString("Redef error: ");
6993 REGB3
= TAG_Int(13);
6994 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
6995 once_value_26
= fra
.me
.REG
[8];
6996 register_static_object(&once_value_26
);
6997 } else fra
.me
.REG
[8] = once_value_26
;
6998 fra
.me
.REG
[8] = fra
.me
.REG
[8];
6999 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7000 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7001 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7002 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7003 if (!once_value_27
) {
7004 fra
.me
.REG
[8] = BOX_NativeString("::");
7006 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
7007 once_value_27
= fra
.me
.REG
[8];
7008 register_static_object(&once_value_27
);
7009 } else fra
.me
.REG
[8] = once_value_27
;
7010 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7011 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7012 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7013 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7014 if (!once_value_28
) {
7015 fra
.me
.REG
[8] = BOX_NativeString(" redefines ");
7016 REGB3
= TAG_Int(11);
7017 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
7018 once_value_28
= fra
.me
.REG
[8];
7019 register_static_object(&once_value_28
);
7020 } else fra
.me
.REG
[8] = once_value_28
;
7021 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7022 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7023 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7024 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7025 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7026 if (!once_value_29
) {
7027 fra
.me
.REG
[8] = BOX_NativeString("::");
7029 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
7030 once_value_29
= fra
.me
.REG
[8];
7031 register_static_object(&once_value_29
);
7032 } else fra
.me
.REG
[8] = once_value_29
;
7033 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7034 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7035 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7036 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7037 if (!once_value_30
) {
7038 fra
.me
.REG
[8] = BOX_NativeString(" with ");
7040 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
7041 once_value_30
= fra
.me
.REG
[8];
7042 register_static_object(&once_value_30
);
7043 } else fra
.me
.REG
[8] = once_value_30
;
7044 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7045 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7046 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7047 if (UNTAG_Bool(REGB3
)) {
7048 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 996);
7050 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
7051 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB3
)(REGB3
);
7052 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7053 if (!once_value_31
) {
7054 fra
.me
.REG
[8] = BOX_NativeString(" parameter(s).");
7055 REGB3
= TAG_Int(14);
7056 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
7057 once_value_31
= fra
.me
.REG
[8];
7058 register_static_object(&once_value_31
);
7059 } else fra
.me
.REG
[8] = once_value_31
;
7060 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7061 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7062 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
7063 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[10]);
7065 /* syntax/mmbuilder.nit:997 */
7066 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7067 if (UNTAG_Bool(REGB3
)) {
7068 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 997);
7070 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7072 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
7073 if (UNTAG_Bool(REGB5
)) {
7075 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7077 /* ../lib/standard/kernel.nit:234 */
7078 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>UNTAG_Int(REGB4
));
7079 /* syntax/mmbuilder.nit:997 */
7080 if (UNTAG_Bool(REGB4
)) {
7081 /* syntax/mmbuilder.nit:998 */
7082 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AMethPropdef
, ID_parser___parser_nodes___AMethPropdef
)) /*cast AMethPropdef*/;
7083 if (UNTAG_Bool(REGB4
)) {
7084 /* syntax/mmbuilder.nit:1000 */
7086 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7087 if (UNTAG_Bool(REGB3
)) {
7088 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1000);
7090 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7091 /* ../lib/standard/kernel.nit:352 */
7093 REGB5
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
7094 if (UNTAG_Bool(REGB5
)) {
7096 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7098 /* ../lib/standard/kernel.nit:232 */
7099 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB3
));
7100 /* ../lib/standard/kernel.nit:352 */
7101 if (UNTAG_Bool(REGB5
)) {
7102 /* syntax/mmbuilder.nit:1000 */
7104 /* syntax/mmbuilder.nit:1001 */
7105 REGB6
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7106 if (UNTAG_Bool(REGB6
)) {
7107 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1001);
7109 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB5
);
7110 REGB6
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7111 if (UNTAG_Bool(REGB6
)) {
7112 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1001);
7114 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB5
);
7115 REGB6
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[10],fra
.me
.REG
[8]));
7116 if (UNTAG_Bool(REGB6
)) {
7118 REGB7
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7121 REGB6
= TAG_Bool(!UNTAG_Bool(REGB6
));
7122 if (UNTAG_Bool(REGB6
)) {
7123 /* syntax/mmbuilder.nit:1002 */
7124 fra
.me
.REG
[8] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7125 REGB6
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7126 if (UNTAG_Bool(REGB6
)) {
7127 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1002);
7129 fra
.me
.REG
[8] = CALL_parser___parser_nodes___ASignature___n_params(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7130 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB5
);
7132 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB6
);
7133 if (!once_value_32
) {
7134 fra
.me
.REG
[11] = BOX_NativeString("Redef error: Expected ");
7135 REGB6
= TAG_Int(22);
7136 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB6
);
7137 once_value_32
= fra
.me
.REG
[11];
7138 register_static_object(&once_value_32
);
7139 } else fra
.me
.REG
[11] = once_value_32
;
7140 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7141 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7142 REGB6
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7143 if (UNTAG_Bool(REGB6
)) {
7144 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1002);
7146 fra
.me
.REG
[11] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB5
);
7147 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7148 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7149 if (!once_value_33
) {
7150 fra
.me
.REG
[11] = BOX_NativeString(", as in ");
7152 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB5
);
7153 once_value_33
= fra
.me
.REG
[11];
7154 register_static_object(&once_value_33
);
7155 } else fra
.me
.REG
[11] = once_value_33
;
7156 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7157 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7158 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7159 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7160 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7161 if (!once_value_34
) {
7162 fra
.me
.REG
[11] = BOX_NativeString("::");
7164 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB5
);
7165 once_value_34
= fra
.me
.REG
[11];
7166 register_static_object(&once_value_34
);
7167 } else fra
.me
.REG
[11] = once_value_34
;
7168 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7169 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7170 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7171 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7172 if (!once_value_35
) {
7173 fra
.me
.REG
[11] = BOX_NativeString(".");
7175 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB5
);
7176 once_value_35
= fra
.me
.REG
[11];
7177 register_static_object(&once_value_35
);
7178 } else fra
.me
.REG
[11] = once_value_35
;
7179 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7180 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7181 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
7182 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8], fra
.me
.REG
[10]);
7184 /* ../lib/standard/kernel.nit:354 */
7186 /* ../lib/standard/kernel.nit:235 */
7187 REGB5
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB5
));
7188 /* ../lib/standard/kernel.nit:354 */
7191 /* ../lib/standard/kernel.nit:352 */
7197 /* syntax/mmbuilder.nit:1005 */
7198 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AAttrPropdef
, ID_parser___parser_nodes___AAttrPropdef
)) /*cast AAttrPropdef*/;
7199 if (UNTAG_Bool(REGB4
)) {
7200 /* syntax/mmbuilder.nit:1007 */
7202 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7203 if (UNTAG_Bool(REGB3
)) {
7204 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1007);
7206 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB4
);
7208 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7209 if (UNTAG_Bool(REGB3
)) {
7210 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1007);
7212 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB4
);
7213 REGB4
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[10],fra
.me
.REG
[8]));
7214 if (UNTAG_Bool(REGB4
)) {
7216 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7219 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7220 if (UNTAG_Bool(REGB4
)) {
7221 /* syntax/mmbuilder.nit:1008 */
7222 fra
.me
.REG
[8] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7224 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
7225 if (!once_value_37
) {
7226 fra
.me
.REG
[11] = BOX_NativeString("Redef error: Expected ");
7227 REGB4
= TAG_Int(22);
7228 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
7229 once_value_37
= fra
.me
.REG
[11];
7230 register_static_object(&once_value_37
);
7231 } else fra
.me
.REG
[11] = once_value_37
;
7232 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7233 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7235 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7236 if (UNTAG_Bool(REGB3
)) {
7237 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1008);
7239 fra
.me
.REG
[11] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB4
);
7240 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7241 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7242 if (!once_value_38
) {
7243 fra
.me
.REG
[11] = BOX_NativeString(", as in the parameter of ");
7244 REGB4
= TAG_Int(25);
7245 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
7246 once_value_38
= fra
.me
.REG
[11];
7247 register_static_object(&once_value_38
);
7248 } else fra
.me
.REG
[11] = once_value_38
;
7249 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7250 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7251 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7252 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7253 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7254 if (!once_value_39
) {
7255 fra
.me
.REG
[11] = BOX_NativeString("::");
7257 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
7258 once_value_39
= fra
.me
.REG
[11];
7259 register_static_object(&once_value_39
);
7260 } else fra
.me
.REG
[11] = once_value_39
;
7261 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7262 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7263 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7264 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7265 if (!once_value_40
) {
7266 fra
.me
.REG
[11] = BOX_NativeString(".");
7268 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
7269 once_value_40
= fra
.me
.REG
[11];
7270 register_static_object(&once_value_40
);
7271 } else fra
.me
.REG
[11] = once_value_40
;
7272 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7273 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7274 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
7275 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8], fra
.me
.REG
[10]);
7278 /* syntax/mmbuilder.nit:1012 */
7279 nit_abort("Aborted", NULL
, LOCATE_syntax___mmbuilder
, 1012);
7284 /* syntax/mmbuilder.nit:1016 */
7285 REGB4
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7286 if (UNTAG_Bool(REGB4
)) {
7287 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1016);
7289 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7290 /* syntax/mmbuilder.nit:1017 */
7291 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7292 if (UNTAG_Bool(REGB4
)) {
7293 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1017);
7295 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
7296 /* syntax/mmbuilder.nit:1018 */
7297 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7298 if (UNTAG_Bool(REGB4
)) {
7300 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7301 if (UNTAG_Bool(REGB3
)) {
7302 REGB3
= TAG_Bool(false);
7305 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
7309 if (UNTAG_Bool(REGB4
)) {
7310 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7311 if (UNTAG_Bool(REGB4
)) {
7313 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7314 if (UNTAG_Bool(REGB3
)) {
7315 REGB3
= TAG_Bool(false);
7318 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
7322 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7324 REGB3
= TAG_Bool(false);
7327 if (UNTAG_Bool(REGB4
)) {
7328 /* syntax/mmbuilder.nit:1019 */
7330 fra
.me
.REG
[11] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
7331 if (!once_value_41
) {
7332 fra
.me
.REG
[12] = BOX_NativeString("Redef error: The procedure ");
7333 REGB4
= TAG_Int(27);
7334 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7335 once_value_41
= fra
.me
.REG
[12];
7336 register_static_object(&once_value_41
);
7337 } else fra
.me
.REG
[12] = once_value_41
;
7338 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7339 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7340 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7341 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7342 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7343 if (!once_value_42
) {
7344 fra
.me
.REG
[12] = BOX_NativeString("::");
7346 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7347 once_value_42
= fra
.me
.REG
[12];
7348 register_static_object(&once_value_42
);
7349 } else fra
.me
.REG
[12] = once_value_42
;
7350 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7351 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7352 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7353 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7354 if (!once_value_43
) {
7355 fra
.me
.REG
[12] = BOX_NativeString(" redefines the function ");
7356 REGB4
= TAG_Int(24);
7357 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7358 once_value_43
= fra
.me
.REG
[12];
7359 register_static_object(&once_value_43
);
7360 } else fra
.me
.REG
[12] = once_value_43
;
7361 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7362 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7363 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7364 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7365 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7366 if (!once_value_44
) {
7367 fra
.me
.REG
[12] = BOX_NativeString("::");
7369 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7370 once_value_44
= fra
.me
.REG
[12];
7371 register_static_object(&once_value_44
);
7372 } else fra
.me
.REG
[12] = once_value_44
;
7373 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7374 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7375 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7376 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7377 if (!once_value_45
) {
7378 fra
.me
.REG
[12] = BOX_NativeString(".");
7380 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7381 once_value_45
= fra
.me
.REG
[12];
7382 register_static_object(&once_value_45
);
7383 } else fra
.me
.REG
[12] = once_value_45
;
7384 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7385 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7386 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7387 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[11]);
7389 /* syntax/mmbuilder.nit:1020 */
7390 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7391 if (UNTAG_Bool(REGB4
)) {
7393 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7394 if (UNTAG_Bool(REGB3
)) {
7395 REGB3
= TAG_Bool(false);
7398 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
7402 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7403 if (UNTAG_Bool(REGB4
)) {
7404 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7405 if (UNTAG_Bool(REGB4
)) {
7407 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7408 if (UNTAG_Bool(REGB3
)) {
7409 REGB3
= TAG_Bool(false);
7412 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
7417 REGB3
= TAG_Bool(false);
7420 if (UNTAG_Bool(REGB4
)) {
7421 /* syntax/mmbuilder.nit:1021 */
7423 fra
.me
.REG
[11] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
7424 if (!once_value_46
) {
7425 fra
.me
.REG
[12] = BOX_NativeString("Redef error: The function ");
7426 REGB4
= TAG_Int(26);
7427 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7428 once_value_46
= fra
.me
.REG
[12];
7429 register_static_object(&once_value_46
);
7430 } else fra
.me
.REG
[12] = once_value_46
;
7431 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7432 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7433 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7434 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7435 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7436 if (!once_value_47
) {
7437 fra
.me
.REG
[12] = BOX_NativeString("::");
7439 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7440 once_value_47
= fra
.me
.REG
[12];
7441 register_static_object(&once_value_47
);
7442 } else fra
.me
.REG
[12] = once_value_47
;
7443 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7444 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7445 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7446 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7447 if (!once_value_48
) {
7448 fra
.me
.REG
[12] = BOX_NativeString(" redefines the procedure ");
7449 REGB4
= TAG_Int(25);
7450 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7451 once_value_48
= fra
.me
.REG
[12];
7452 register_static_object(&once_value_48
);
7453 } else fra
.me
.REG
[12] = once_value_48
;
7454 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7455 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7456 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7457 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7458 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7459 if (!once_value_49
) {
7460 fra
.me
.REG
[12] = BOX_NativeString("::");
7462 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7463 once_value_49
= fra
.me
.REG
[12];
7464 register_static_object(&once_value_49
);
7465 } else fra
.me
.REG
[12] = once_value_49
;
7466 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7467 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7468 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7469 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7470 if (!once_value_50
) {
7471 fra
.me
.REG
[12] = BOX_NativeString(".");
7473 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7474 once_value_50
= fra
.me
.REG
[12];
7475 register_static_object(&once_value_50
);
7476 } else fra
.me
.REG
[12] = once_value_50
;
7477 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7478 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7479 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7480 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[11]);
7482 /* syntax/mmbuilder.nit:1022 */
7483 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7484 if (UNTAG_Bool(REGB4
)) {
7486 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7487 if (UNTAG_Bool(REGB3
)) {
7488 REGB3
= TAG_Bool(false);
7491 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
7495 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7496 if (UNTAG_Bool(REGB4
)) {
7497 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7498 if (UNTAG_Bool(REGB4
)) {
7500 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7501 if (UNTAG_Bool(REGB3
)) {
7502 REGB3
= TAG_Bool(false);
7505 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
7509 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7511 REGB3
= TAG_Bool(false);
7514 if (UNTAG_Bool(REGB4
)) {
7515 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7516 if (UNTAG_Bool(REGB4
)) {
7517 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1022);
7519 REGB4
= CALL_metamodel___static_type___MMType_____l(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7520 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7522 REGB3
= TAG_Bool(false);
7525 if (UNTAG_Bool(REGB4
)) {
7526 /* syntax/mmbuilder.nit:1023 */
7527 fra
.me
.REG
[11] = NIT_NULL
;
7528 /* syntax/mmbuilder.nit:1024 */
7529 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AMethPropdef
, ID_parser___parser_nodes___AMethPropdef
)) /*cast AMethPropdef*/;
7530 if (UNTAG_Bool(REGB4
)) {
7531 /* syntax/mmbuilder.nit:1025 */
7532 fra
.me
.REG
[12] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7533 REGB4
= TAG_Bool(fra
.me
.REG
[12]==NIT_NULL
);
7534 if (UNTAG_Bool(REGB4
)) {
7535 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1025);
7537 fra
.me
.REG
[12] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7538 fra
.me
.REG
[11] = fra
.me
.REG
[12];
7540 /* syntax/mmbuilder.nit:1026 */
7541 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AAttrPropdef
, ID_parser___parser_nodes___AAttrPropdef
)) /*cast AAttrPropdef*/;
7542 if (UNTAG_Bool(REGB4
)) {
7543 /* syntax/mmbuilder.nit:1027 */
7544 fra
.me
.REG
[12] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7545 fra
.me
.REG
[11] = fra
.me
.REG
[12];
7547 /* syntax/mmbuilder.nit:1028 */
7548 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___ATypePropdef
, ID_parser___parser_nodes___ATypePropdef
)) /*cast ATypePropdef*/;
7549 if (UNTAG_Bool(REGB4
)) {
7550 /* syntax/mmbuilder.nit:1029 */
7551 fra
.me
.REG
[12] = CALL_parser___parser_nodes___ATypePropdef___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7552 fra
.me
.REG
[11] = fra
.me
.REG
[12];
7556 /* syntax/mmbuilder.nit:1031 */
7558 fra
.me
.REG
[12] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
7559 if (!once_value_51
) {
7560 fra
.me
.REG
[13] = BOX_NativeString("Redef error: Expected ");
7561 REGB4
= TAG_Int(22);
7562 fra
.me
.REG
[13] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[13], REGB4
);
7563 once_value_51
= fra
.me
.REG
[13];
7564 register_static_object(&once_value_51
);
7565 } else fra
.me
.REG
[13] = once_value_51
;
7566 fra
.me
.REG
[13] = fra
.me
.REG
[13];
7567 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7568 fra
.me
.REG
[13] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7569 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7570 if (!once_value_52
) {
7571 fra
.me
.REG
[13] = BOX_NativeString(", as in ");
7573 fra
.me
.REG
[13] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[13], REGB4
);
7574 once_value_52
= fra
.me
.REG
[13];
7575 register_static_object(&once_value_52
);
7576 } else fra
.me
.REG
[13] = once_value_52
;
7577 fra
.me
.REG
[13] = fra
.me
.REG
[13];
7578 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7579 fra
.me
.REG
[13] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7580 fra
.me
.REG
[13] = CALL_standard___string___Object___to_s(fra
.me
.REG
[13])(fra
.me
.REG
[13]);
7581 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7582 if (!once_value_53
) {
7583 fra
.me
.REG
[13] = BOX_NativeString("::");
7585 fra
.me
.REG
[13] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[13], REGB4
);
7586 once_value_53
= fra
.me
.REG
[13];
7587 register_static_object(&once_value_53
);
7588 } else fra
.me
.REG
[13] = once_value_53
;
7589 fra
.me
.REG
[13] = fra
.me
.REG
[13];
7590 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7591 fra
.me
.REG
[13] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7592 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7593 if (!once_value_54
) {
7594 fra
.me
.REG
[13] = BOX_NativeString(".");
7596 fra
.me
.REG
[13] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[13], REGB4
);
7597 once_value_54
= fra
.me
.REG
[13];
7598 register_static_object(&once_value_54
);
7599 } else fra
.me
.REG
[13] = once_value_54
;
7600 fra
.me
.REG
[13] = fra
.me
.REG
[13];
7601 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7602 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7603 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[11], fra
.me
.REG
[12]);
7605 /* syntax/mmbuilder.nit:1032 */
7606 REGB4
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7607 if (UNTAG_Bool(REGB4
)) {
7608 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1032);
7610 REGB4
= CALL_metamodel___static_type___MMSignature_____l(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
7611 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7612 if (UNTAG_Bool(REGB4
)) {
7613 fra
.me
.REG
[7] = CALL_syntax___syntax_base___AbsSyntaxVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7614 REGB4
= CALL_toolcontext___ToolContext___error_count(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
7615 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB4
));
7616 if (UNTAG_Bool(REGB3
)) {
7618 /* ../lib/standard/kernel.nit:227 */
7619 REGB4
= TAG_Bool((REGB0
)==(REGB4
));
7620 /* syntax/mmbuilder.nit:1032 */
7624 REGB4
= TAG_Bool(false);
7627 if (UNTAG_Bool(REGB3
)) {
7628 /* syntax/mmbuilder.nit:1034 */
7630 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
7631 if (!once_value_55
) {
7632 fra
.me
.REG
[12] = BOX_NativeString("Redef error: Incompatible redefinition of ");
7633 REGB3
= TAG_Int(42);
7634 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB3
);
7635 once_value_55
= fra
.me
.REG
[12];
7636 register_static_object(&once_value_55
);
7637 } else fra
.me
.REG
[12] = once_value_55
;
7638 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7639 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7640 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7641 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7642 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7643 if (!once_value_56
) {
7644 fra
.me
.REG
[12] = BOX_NativeString("::");
7646 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB3
);
7647 once_value_56
= fra
.me
.REG
[12];
7648 register_static_object(&once_value_56
);
7649 } else fra
.me
.REG
[12] = once_value_56
;
7650 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7651 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7652 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7653 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7654 if (!once_value_57
) {
7655 fra
.me
.REG
[12] = BOX_NativeString(" with ");
7657 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB3
);
7658 once_value_57
= fra
.me
.REG
[12];
7659 register_static_object(&once_value_57
);
7660 } else fra
.me
.REG
[12] = once_value_57
;
7661 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7662 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7663 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7664 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7665 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7666 if (!once_value_58
) {
7667 fra
.me
.REG
[12] = BOX_NativeString("::");
7669 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB3
);
7670 once_value_58
= fra
.me
.REG
[12];
7671 register_static_object(&once_value_58
);
7672 } else fra
.me
.REG
[12] = once_value_58
;
7673 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7674 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7675 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7676 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7677 if (!once_value_59
) {
7678 fra
.me
.REG
[12] = BOX_NativeString("");
7680 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB3
);
7681 once_value_59
= fra
.me
.REG
[12];
7682 register_static_object(&once_value_59
);
7683 } else fra
.me
.REG
[12] = once_value_59
;
7684 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7685 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7686 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
7687 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[7]);
7689 /* syntax/mmbuilder.nit:1035 */
7690 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7691 if (UNTAG_Bool(REGB3
)) {
7693 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7694 if (UNTAG_Bool(REGB4
)) {
7695 REGB4
= TAG_Bool(false);
7698 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
7702 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7703 if (UNTAG_Bool(REGB3
)) {
7704 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7705 if (UNTAG_Bool(REGB3
)) {
7707 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7708 if (UNTAG_Bool(REGB4
)) {
7709 REGB4
= TAG_Bool(false);
7712 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
7716 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7718 REGB4
= TAG_Bool(false);
7721 if (UNTAG_Bool(REGB3
)) {
7722 REGB3
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[10],fra
.me
.REG
[8]));
7723 if (UNTAG_Bool(REGB3
)) {
7725 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7726 if (UNTAG_Bool(REGB4
)) {
7727 REGB4
= TAG_Bool(false);
7730 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7734 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7736 REGB4
= TAG_Bool(false);
7739 if (UNTAG_Bool(REGB3
)) {
7740 REGB3
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_metamodel___abstractmetamodel___MMAttribute
, ID_metamodel___abstractmetamodel___MMAttribute
)) /*cast MMAttribute*/;
7742 REGB4
= TAG_Bool(false);
7745 if (UNTAG_Bool(REGB3
)) {
7746 /* syntax/mmbuilder.nit:1037 */
7748 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
7749 if (!once_value_60
) {
7750 fra
.me
.REG
[7] = BOX_NativeString("Redef warning: Expected ");
7751 REGB3
= TAG_Int(24);
7752 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB3
);
7753 once_value_60
= fra
.me
.REG
[7];
7754 register_static_object(&once_value_60
);
7755 } else fra
.me
.REG
[7] = once_value_60
;
7756 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7757 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
7758 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7759 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7760 if (!once_value_61
) {
7761 fra
.me
.REG
[8] = BOX_NativeString(", as in ");
7763 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
7764 once_value_61
= fra
.me
.REG
[8];
7765 register_static_object(&once_value_61
);
7766 } else fra
.me
.REG
[8] = once_value_61
;
7767 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7768 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7769 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7770 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7771 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7772 if (!once_value_62
) {
7773 fra
.me
.REG
[8] = BOX_NativeString("::");
7775 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
7776 once_value_62
= fra
.me
.REG
[8];
7777 register_static_object(&once_value_62
);
7778 } else fra
.me
.REG
[8] = once_value_62
;
7779 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7780 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7781 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7782 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[9]);
7783 if (!once_value_63
) {
7784 fra
.me
.REG
[9] = BOX_NativeString(".");
7786 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB3
);
7787 once_value_63
= fra
.me
.REG
[9];
7788 register_static_object(&once_value_63
);
7789 } else fra
.me
.REG
[9] = once_value_63
;
7790 fra
.me
.REG
[9] = fra
.me
.REG
[9];
7791 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[9]);
7792 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
7793 CALL_syntax___syntax_base___AbsSyntaxVisitor___warning(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[10]);
7799 /* ../lib/standard/collection/array.nit:274 */
7801 /* ../lib/standard/kernel.nit:235 */
7802 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
7803 /* ../lib/standard/collection/array.nit:274 */
7806 /* ../lib/standard/collection/array.nit:272 */
7812 /* syntax/mmbuilder.nit:1041 */
7814 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
7815 if (UNTAG_Bool(REGB3
)) {
7817 /* ../lib/standard/kernel.nit:227 */
7818 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
7819 /* syntax/mmbuilder.nit:1041 */
7822 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7823 if (UNTAG_Bool(REGB3
)) {
7824 REGB3
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7825 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB1
));
7826 if (UNTAG_Bool(REGB2
)) {
7828 /* ../lib/standard/kernel.nit:227 */
7829 REGB1
= TAG_Bool((REGB3
)==(REGB1
));
7830 /* syntax/mmbuilder.nit:1041 */
7833 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
7835 REGB1
= TAG_Bool(false);
7838 if (UNTAG_Bool(REGB2
)) {
7839 /* syntax/mmbuilder.nit:1042 */
7841 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
7842 if (!once_value_65
) {
7843 fra
.me
.REG
[6] = BOX_NativeString("Redef error: ");
7844 REGB2
= TAG_Int(13);
7845 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
7846 once_value_65
= fra
.me
.REG
[6];
7847 register_static_object(&once_value_65
);
7848 } else fra
.me
.REG
[6] = once_value_65
;
7849 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7850 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
7851 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7852 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7853 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
7854 if (!once_value_66
) {
7855 fra
.me
.REG
[6] = BOX_NativeString("::");
7857 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
7858 once_value_66
= fra
.me
.REG
[6];
7859 register_static_object(&once_value_66
);
7860 } else fra
.me
.REG
[6] = once_value_66
;
7861 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7862 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
7863 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7864 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
7865 if (!once_value_67
) {
7866 fra
.me
.REG
[2] = BOX_NativeString(" redefinition cannot change visibility.");
7867 REGB2
= TAG_Int(39);
7868 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB2
);
7869 once_value_67
= fra
.me
.REG
[2];
7870 register_static_object(&once_value_67
);
7871 } else fra
.me
.REG
[2] = once_value_67
;
7872 fra
.me
.REG
[2] = fra
.me
.REG
[2];
7873 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
7874 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7875 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
7877 /* syntax/mmbuilder.nit:1044 */
7878 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7879 REGB2
= TAG_Bool(true);
7880 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
);
7882 stack_frame_head
= fra
.me
.prev
;
7885 val_t
syntax___mmbuilder___AAttrPropdef___readmethod(val_t p0
){
7886 struct {struct stack_frame_t me
;} fra
;
7888 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7889 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
7891 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___readmethod
;
7892 fra
.me
.has_broke
= 0;
7893 fra
.me
.REG_size
= 1;
7894 fra
.me
.nitni_local_ref_head
= NULL
;
7895 fra
.me
.REG
[0] = NIT_NULL
;
7897 /* syntax/mmbuilder.nit:1049 */
7898 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[0]);
7899 stack_frame_head
= fra
.me
.prev
;
7900 return fra
.me
.REG
[0];
7902 val_t
syntax___mmbuilder___AAttrPropdef___writemethod(val_t p0
){
7903 struct {struct stack_frame_t me
;} fra
;
7905 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7906 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
7908 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___writemethod
;
7909 fra
.me
.has_broke
= 0;
7910 fra
.me
.REG_size
= 1;
7911 fra
.me
.nitni_local_ref_head
= NULL
;
7912 fra
.me
.REG
[0] = NIT_NULL
;
7914 /* syntax/mmbuilder.nit:1050 */
7915 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[0]);
7916 stack_frame_head
= fra
.me
.prev
;
7917 return fra
.me
.REG
[0];
7919 val_t
syntax___mmbuilder___AAttrPropdef___prop(val_t p0
){
7920 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
7923 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7924 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
7926 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___prop
;
7927 fra
.me
.has_broke
= 0;
7928 fra
.me
.REG_size
= 2;
7929 fra
.me
.nitni_local_ref_head
= NULL
;
7930 fra
.me
.REG
[0] = NIT_NULL
;
7931 fra
.me
.REG
[1] = NIT_NULL
;
7933 /* syntax/mmbuilder.nit:1052 */
7934 fra
.me
.REG
[1] = fra
.me
.REG
[0];
7935 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[1]);
7936 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
7937 if (UNTAG_Bool(REGB0
)) {
7939 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1052);
7943 stack_frame_head
= fra
.me
.prev
;
7944 return fra
.me
.REG
[1];
7946 void syntax___mmbuilder___AAttrPropdef___accept_property_builder(val_t p0
, val_t p1
){
7947 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
7952 static val_t once_value_1
; /* Once value */
7953 static val_t once_value_2
; /* Once value */
7954 static val_t once_value_3
; /* Once value */
7955 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7956 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
7958 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___accept_property_builder
;
7959 fra
.me
.has_broke
= 0;
7960 fra
.me
.REG_size
= 6;
7961 fra
.me
.nitni_local_ref_head
= NULL
;
7962 fra
.me
.REG
[0] = NIT_NULL
;
7963 fra
.me
.REG
[1] = NIT_NULL
;
7964 fra
.me
.REG
[2] = NIT_NULL
;
7965 fra
.me
.REG
[3] = NIT_NULL
;
7966 fra
.me
.REG
[4] = NIT_NULL
;
7967 fra
.me
.REG
[5] = NIT_NULL
;
7970 /* syntax/mmbuilder.nit:1054 */
7971 fra
.me
.REG
[2] = fra
.me
.REG
[0];
7972 fra
.me
.REG
[3] = fra
.me
.REG
[1];
7973 /* syntax/mmbuilder.nit:1056 */
7974 CALL_SUPER_syntax___mmbuilder___AAttrPropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
7975 /* syntax/mmbuilder.nit:1058 */
7976 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7977 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7978 if (UNTAG_Bool(REGB0
)) {
7980 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7981 if (UNTAG_Bool(REGB1
)) {
7982 REGB1
= TAG_Bool(false);
7985 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
7989 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7990 if (UNTAG_Bool(REGB0
)) {
7991 /* syntax/mmbuilder.nit:1059 */
7992 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7993 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7994 if (UNTAG_Bool(REGB0
)) {
7995 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1059);
7997 fra
.me
.REG
[1] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7999 /* syntax/mmbuilder.nit:1061 */
8000 if (!once_value_1
) {
8001 fra
.me
.REG
[0] = BOX_NativeString("@");
8003 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
8004 once_value_1
= fra
.me
.REG
[0];
8005 register_static_object(&once_value_1
);
8006 } else fra
.me
.REG
[0] = once_value_1
;
8007 fra
.me
.REG
[0] = fra
.me
.REG
[0];
8008 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8009 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8010 if (UNTAG_Bool(REGB0
)) {
8011 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1061);
8013 fra
.me
.REG
[4] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8014 fra
.me
.REG
[4] = CALL_standard___string___String_____plus(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
8015 fra
.me
.REG
[4] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8016 fra
.me
.REG
[1] = fra
.me
.REG
[4];
8018 /* syntax/mmbuilder.nit:1063 */
8019 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8020 /* syntax/mmbuilder.nit:1064 */
8021 fra
.me
.REG
[0] = NEW_MMSrcAttribute_syntax___syntax_base___MMSrcAttribute___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
8022 /* syntax/mmbuilder.nit:1065 */
8023 ATTR_syntax___mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
8024 /* syntax/mmbuilder.nit:1066 */
8025 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8026 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[0]);
8027 /* syntax/mmbuilder.nit:1068 */
8028 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8029 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8030 if (UNTAG_Bool(REGB0
)) {
8032 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8033 if (UNTAG_Bool(REGB1
)) {
8034 REGB1
= TAG_Bool(false);
8037 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8041 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8042 if (UNTAG_Bool(REGB0
)) {
8043 REGB0
= TAG_Bool(true);
8045 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8046 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8047 if (UNTAG_Bool(REGB1
)) {
8049 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8050 if (UNTAG_Bool(REGB2
)) {
8051 REGB2
= TAG_Bool(false);
8054 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8060 if (UNTAG_Bool(REGB0
)) {
8061 /* syntax/mmbuilder.nit:1069 */
8062 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8063 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8064 if (UNTAG_Bool(REGB0
)) {
8066 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8067 if (UNTAG_Bool(REGB1
)) {
8068 REGB1
= TAG_Bool(false);
8071 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8075 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8076 if (UNTAG_Bool(REGB0
)) {
8077 /* syntax/mmbuilder.nit:1070 */
8078 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8079 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8080 if (UNTAG_Bool(REGB0
)) {
8081 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1070);
8083 fra
.me
.REG
[0] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8085 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
8086 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8087 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8089 /* syntax/mmbuilder.nit:1072 */
8090 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8091 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8092 if (UNTAG_Bool(REGB0
)) {
8093 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1072);
8095 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8096 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8098 /* syntax/mmbuilder.nit:1074 */
8099 fra
.me
.REG
[0] = NEW_MMReadImplementationMethod_syntax___syntax_base___MMReadImplementationMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
8100 /* syntax/mmbuilder.nit:1075 */
8101 ATTR_syntax___mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
8102 /* syntax/mmbuilder.nit:1076 */
8103 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8104 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[0]);
8106 /* syntax/mmbuilder.nit:1078 */
8107 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8108 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8109 if (UNTAG_Bool(REGB0
)) {
8111 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8112 if (UNTAG_Bool(REGB1
)) {
8113 REGB1
= TAG_Bool(false);
8116 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8120 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8121 if (UNTAG_Bool(REGB0
)) {
8122 REGB0
= TAG_Bool(true);
8124 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8125 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8126 if (UNTAG_Bool(REGB1
)) {
8128 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8129 if (UNTAG_Bool(REGB2
)) {
8130 REGB2
= TAG_Bool(false);
8133 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8139 if (UNTAG_Bool(REGB0
)) {
8140 /* syntax/mmbuilder.nit:1079 */
8141 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8142 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8143 if (UNTAG_Bool(REGB0
)) {
8145 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8146 if (UNTAG_Bool(REGB1
)) {
8147 REGB1
= TAG_Bool(false);
8150 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8154 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8155 if (UNTAG_Bool(REGB0
)) {
8156 /* syntax/mmbuilder.nit:1080 */
8157 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8158 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8159 if (UNTAG_Bool(REGB0
)) {
8160 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1080);
8162 fra
.me
.REG
[0] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8164 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
8165 if (!once_value_2
) {
8166 fra
.me
.REG
[5] = BOX_NativeString("=");
8168 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
8169 once_value_2
= fra
.me
.REG
[5];
8170 register_static_object(&once_value_2
);
8171 } else fra
.me
.REG
[5] = once_value_2
;
8172 fra
.me
.REG
[5] = fra
.me
.REG
[5];
8173 fra
.me
.REG
[5] = CALL_standard___string___String_____plus(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
8174 fra
.me
.REG
[5] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8175 fra
.me
.REG
[1] = fra
.me
.REG
[5];
8177 /* syntax/mmbuilder.nit:1082 */
8178 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8179 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8180 if (UNTAG_Bool(REGB0
)) {
8181 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1082);
8183 fra
.me
.REG
[5] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8184 if (!once_value_3
) {
8185 fra
.me
.REG
[0] = BOX_NativeString("=");
8187 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
8188 once_value_3
= fra
.me
.REG
[0];
8189 register_static_object(&once_value_3
);
8190 } else fra
.me
.REG
[0] = once_value_3
;
8191 fra
.me
.REG
[0] = fra
.me
.REG
[0];
8192 fra
.me
.REG
[0] = CALL_standard___string___String_____plus(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
8193 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8194 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8196 /* syntax/mmbuilder.nit:1084 */
8197 fra
.me
.REG
[4] = NEW_MMWriteImplementationMethod_syntax___syntax_base___MMWriteImplementationMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
8198 /* syntax/mmbuilder.nit:1085 */
8199 ATTR_syntax___mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[2]) = fra
.me
.REG
[4];
8200 /* syntax/mmbuilder.nit:1086 */
8201 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8202 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4]);
8204 stack_frame_head
= fra
.me
.prev
;
8207 void syntax___mmbuilder___AAttrPropdef___accept_property_verifier(val_t p0
, val_t p1
){
8208 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
8214 static val_t once_value_2
; /* Once value */
8215 static val_t once_value_3
; /* Once value */
8216 static val_t once_value_4
; /* Once value */
8217 static val_t once_value_5
; /* Once value */
8218 static val_t once_value_6
; /* Once value */
8219 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8220 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8222 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___accept_property_verifier
;
8223 fra
.me
.has_broke
= 0;
8224 fra
.me
.REG_size
= 7;
8225 fra
.me
.nitni_local_ref_head
= NULL
;
8226 fra
.me
.REG
[0] = NIT_NULL
;
8227 fra
.me
.REG
[1] = NIT_NULL
;
8228 fra
.me
.REG
[2] = NIT_NULL
;
8229 fra
.me
.REG
[3] = NIT_NULL
;
8230 fra
.me
.REG
[4] = NIT_NULL
;
8231 fra
.me
.REG
[5] = NIT_NULL
;
8232 fra
.me
.REG
[6] = NIT_NULL
;
8235 /* syntax/mmbuilder.nit:1090 */
8236 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8237 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8238 /* syntax/mmbuilder.nit:1092 */
8239 CALL_SUPER_syntax___mmbuilder___AAttrPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8240 /* syntax/mmbuilder.nit:1093 */
8241 fra
.me
.REG
[1] = NIT_NULL
;
8242 /* syntax/mmbuilder.nit:1094 */
8243 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8244 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8245 if (UNTAG_Bool(REGB0
)) {
8247 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8248 if (UNTAG_Bool(REGB1
)) {
8249 REGB1
= TAG_Bool(false);
8252 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8256 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8257 if (UNTAG_Bool(REGB0
)) {
8258 /* syntax/mmbuilder.nit:1095 */
8259 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8260 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8261 if (UNTAG_Bool(REGB0
)) {
8262 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1095);
8264 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
8265 /* syntax/mmbuilder.nit:1096 */
8266 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8267 if (UNTAG_Bool(REGB0
)) {
8269 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8270 if (UNTAG_Bool(REGB1
)) {
8271 REGB1
= TAG_Bool(false);
8274 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8278 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8279 if (UNTAG_Bool(REGB0
)) {
8280 fra
.me
.REG
[1] = fra
.me
.REG
[4];
8285 /* syntax/mmbuilder.nit:1097 */
8286 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_expr(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8287 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8288 if (UNTAG_Bool(REGB0
)) {
8290 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8291 if (UNTAG_Bool(REGB1
)) {
8292 REGB1
= TAG_Bool(false);
8295 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8299 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8300 if (UNTAG_Bool(REGB0
)) {
8301 /* syntax/mmbuilder.nit:1098 */
8302 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_expr(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8303 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8304 if (UNTAG_Bool(REGB0
)) {
8305 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1098);
8307 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___AExpr___get_easy_stype(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
8308 fra
.me
.REG
[1] = fra
.me
.REG
[4];
8311 /* syntax/mmbuilder.nit:1101 */
8312 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8313 if (UNTAG_Bool(REGB0
)) {
8315 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8316 if (UNTAG_Bool(REGB1
)) {
8317 REGB1
= TAG_Bool(false);
8320 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8324 if (UNTAG_Bool(REGB0
)) {
8325 /* syntax/mmbuilder.nit:1102 */
8327 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
8328 if (!once_value_2
) {
8329 fra
.me
.REG
[5] = BOX_NativeString("Not yet implemented: Attribute definition ");
8330 REGB0
= TAG_Int(42);
8331 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
8332 once_value_2
= fra
.me
.REG
[5];
8333 register_static_object(&once_value_2
);
8334 } else fra
.me
.REG
[5] = once_value_2
;
8335 fra
.me
.REG
[5] = fra
.me
.REG
[5];
8336 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
8337 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8338 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8339 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8340 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
8341 if (!once_value_3
) {
8342 fra
.me
.REG
[5] = BOX_NativeString("::");
8344 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
8345 once_value_3
= fra
.me
.REG
[5];
8346 register_static_object(&once_value_3
);
8347 } else fra
.me
.REG
[5] = once_value_3
;
8348 fra
.me
.REG
[5] = fra
.me
.REG
[5];
8349 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
8350 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8351 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8352 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
8353 if (!once_value_4
) {
8354 fra
.me
.REG
[5] = BOX_NativeString(" requires an explicit type.");
8355 REGB0
= TAG_Int(27);
8356 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
8357 once_value_4
= fra
.me
.REG
[5];
8358 register_static_object(&once_value_4
);
8359 } else fra
.me
.REG
[5] = once_value_4
;
8360 fra
.me
.REG
[5] = fra
.me
.REG
[5];
8361 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
8362 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8363 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[4]);
8364 /* syntax/mmbuilder.nit:1103 */
8367 /* syntax/mmbuilder.nit:1106 */
8368 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8369 /* syntax/mmbuilder.nit:1107 */
8370 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___init();
8371 fra
.me
.REG
[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8372 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8373 fra
.me
.REG
[6] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[5], fra
.me
.REG
[1], fra
.me
.REG
[6]);
8374 /* syntax/mmbuilder.nit:1108 */
8375 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
8376 /* syntax/mmbuilder.nit:1109 */
8377 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8378 REGB0
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8379 /* syntax/mmbuilder.nit:1110 */
8380 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8381 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8382 if (UNTAG_Bool(REGB1
)) {
8384 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8385 if (UNTAG_Bool(REGB2
)) {
8386 REGB2
= TAG_Bool(false);
8389 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
8393 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8394 if (UNTAG_Bool(REGB1
)) {
8395 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8396 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8397 if (UNTAG_Bool(REGB1
)) {
8399 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8400 if (UNTAG_Bool(REGB2
)) {
8401 REGB2
= TAG_Bool(false);
8404 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
8408 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8410 REGB2
= TAG_Bool(false);
8413 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
);
8414 /* syntax/mmbuilder.nit:1111 */
8415 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8416 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8417 if (UNTAG_Bool(REGB1
)) {
8419 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8420 if (UNTAG_Bool(REGB2
)) {
8421 REGB2
= TAG_Bool(false);
8424 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8428 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8429 if (UNTAG_Bool(REGB1
)) {
8430 REGB1
= TAG_Bool(true);
8432 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8433 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8434 if (UNTAG_Bool(REGB2
)) {
8436 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8437 if (UNTAG_Bool(REGB3
)) {
8438 REGB3
= TAG_Bool(false);
8441 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8447 if (UNTAG_Bool(REGB1
)) {
8448 /* syntax/mmbuilder.nit:1112 */
8449 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[2]);
8450 REGB1
= TAG_Bool(fra
.me
.REG
[4]!=NIT_NULL
);
8451 if (UNTAG_Bool(REGB1
)) {
8453 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1112);
8455 /* syntax/mmbuilder.nit:1113 */
8456 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
8457 /* syntax/mmbuilder.nit:1114 */
8458 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8459 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8460 if (UNTAG_Bool(REGB1
)) {
8462 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8463 if (UNTAG_Bool(REGB2
)) {
8464 REGB2
= TAG_Bool(false);
8467 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8471 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8472 if (UNTAG_Bool(REGB1
)) {
8473 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8474 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8475 if (UNTAG_Bool(REGB1
)) {
8476 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1114);
8478 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAble___n_kwredef(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8479 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8480 if (UNTAG_Bool(REGB1
)) {
8482 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8483 if (UNTAG_Bool(REGB2
)) {
8484 REGB2
= TAG_Bool(false);
8487 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8491 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8493 REGB2
= TAG_Bool(false);
8496 if (UNTAG_Bool(REGB1
)) {
8497 REGB1
= TAG_Bool(true);
8499 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8500 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8501 if (UNTAG_Bool(REGB2
)) {
8503 REGB3
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8504 if (UNTAG_Bool(REGB3
)) {
8505 REGB3
= TAG_Bool(false);
8508 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8512 if (UNTAG_Bool(REGB2
)) {
8513 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8514 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8515 if (UNTAG_Bool(REGB2
)) {
8517 REGB3
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8518 if (UNTAG_Bool(REGB3
)) {
8519 REGB3
= TAG_Bool(false);
8522 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8526 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
8528 REGB3
= TAG_Bool(false);
8533 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
);
8534 /* syntax/mmbuilder.nit:1115 */
8535 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8536 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8537 if (UNTAG_Bool(REGB1
)) {
8539 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8540 if (UNTAG_Bool(REGB2
)) {
8541 REGB2
= TAG_Bool(false);
8544 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8548 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8549 if (UNTAG_Bool(REGB1
)) {
8550 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8551 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8552 if (UNTAG_Bool(REGB1
)) {
8553 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1115);
8555 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3], fra
.me
.REG
[4]);
8558 /* syntax/mmbuilder.nit:1117 */
8559 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8560 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8561 if (UNTAG_Bool(REGB1
)) {
8563 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8564 if (UNTAG_Bool(REGB2
)) {
8565 REGB2
= TAG_Bool(false);
8568 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8572 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8573 if (UNTAG_Bool(REGB1
)) {
8574 REGB1
= TAG_Bool(true);
8576 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8577 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8578 if (UNTAG_Bool(REGB2
)) {
8580 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8581 if (UNTAG_Bool(REGB3
)) {
8582 REGB3
= TAG_Bool(false);
8585 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8591 if (UNTAG_Bool(REGB1
)) {
8592 /* syntax/mmbuilder.nit:1118 */
8593 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[2]);
8594 REGB1
= TAG_Bool(fra
.me
.REG
[4]!=NIT_NULL
);
8595 if (UNTAG_Bool(REGB1
)) {
8597 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1118);
8599 /* syntax/mmbuilder.nit:1119 */
8601 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8602 if (!once_value_5
) {
8603 if (!once_value_6
) {
8604 fra
.me
.REG
[6] = BOX_NativeString("value");
8606 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8607 once_value_6
= fra
.me
.REG
[6];
8608 register_static_object(&once_value_6
);
8609 } else fra
.me
.REG
[6] = once_value_6
;
8610 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8611 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8612 once_value_5
= fra
.me
.REG
[6];
8613 register_static_object(&once_value_5
);
8614 } else fra
.me
.REG
[6] = once_value_5
;
8615 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8616 fra
.me
.REG
[6] = NEW_MMParam_metamodel___static_type___MMParam___init(fra
.me
.REG
[1], fra
.me
.REG
[6]);
8617 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
8618 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_items(fra
.me
.REG
[0]);
8619 fra
.me
.REG
[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8620 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8621 fra
.me
.REG
[6] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[6]);
8622 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
8623 /* syntax/mmbuilder.nit:1121 */
8624 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8625 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8626 if (UNTAG_Bool(REGB1
)) {
8628 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8629 if (UNTAG_Bool(REGB2
)) {
8630 REGB2
= TAG_Bool(false);
8633 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8637 if (UNTAG_Bool(REGB1
)) {
8638 /* syntax/mmbuilder.nit:1122 */
8639 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(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(false);
8648 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8652 if (UNTAG_Bool(REGB1
)) {
8656 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8657 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8658 if (UNTAG_Bool(REGB1
)) {
8659 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1122);
8661 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAble___n_visibility(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8662 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8663 if (UNTAG_Bool(REGB1
)) {
8664 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1122);
8666 REGB1
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8670 /* syntax/mmbuilder.nit:1124 */
8671 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8672 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8673 if (UNTAG_Bool(REGB1
)) {
8675 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8676 if (UNTAG_Bool(REGB2
)) {
8677 REGB2
= TAG_Bool(false);
8680 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8684 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8685 if (UNTAG_Bool(REGB1
)) {
8686 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8687 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8688 if (UNTAG_Bool(REGB1
)) {
8689 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1124);
8691 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAble___n_kwredef(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8692 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8693 if (UNTAG_Bool(REGB1
)) {
8695 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8696 if (UNTAG_Bool(REGB2
)) {
8697 REGB2
= TAG_Bool(false);
8700 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8704 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8706 REGB2
= TAG_Bool(false);
8709 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
);
8710 /* syntax/mmbuilder.nit:1125 */
8711 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8712 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8713 if (UNTAG_Bool(REGB0
)) {
8715 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8716 if (UNTAG_Bool(REGB1
)) {
8717 REGB1
= TAG_Bool(false);
8720 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8724 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8725 if (UNTAG_Bool(REGB0
)) {
8726 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8727 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
8728 if (UNTAG_Bool(REGB0
)) {
8729 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1125);
8731 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4]);
8735 stack_frame_head
= fra
.me
.prev
;
8738 void syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
8739 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
8741 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8742 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8744 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor
;
8745 fra
.me
.has_broke
= 0;
8746 fra
.me
.REG_size
= 4;
8747 fra
.me
.nitni_local_ref_head
= NULL
;
8748 fra
.me
.REG
[0] = NIT_NULL
;
8749 fra
.me
.REG
[1] = NIT_NULL
;
8750 fra
.me
.REG
[2] = NIT_NULL
;
8751 fra
.me
.REG
[3] = NIT_NULL
;
8754 /* syntax/mmbuilder.nit:1129 */
8755 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8756 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8757 /* syntax/mmbuilder.nit:1131 */
8758 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[2]);
8759 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
8760 /* syntax/mmbuilder.nit:1132 */
8761 CALL_SUPER_syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8762 /* syntax/mmbuilder.nit:1133 */
8763 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
8764 stack_frame_head
= fra
.me
.prev
;
8767 val_t
syntax___mmbuilder___AMethPropdef___name(val_t p0
){
8768 struct {struct stack_frame_t me
;} fra
;
8770 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8771 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8773 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___name
;
8774 fra
.me
.has_broke
= 0;
8775 fra
.me
.REG_size
= 1;
8776 fra
.me
.nitni_local_ref_head
= NULL
;
8777 fra
.me
.REG
[0] = NIT_NULL
;
8779 /* syntax/mmbuilder.nit:1138 */
8780 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AMethPropdef____name(fra
.me
.REG
[0]);
8781 stack_frame_head
= fra
.me
.prev
;
8782 return fra
.me
.REG
[0];
8784 val_t
syntax___mmbuilder___AMethPropdef___method(val_t p0
){
8785 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
8788 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8789 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8791 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___method
;
8792 fra
.me
.has_broke
= 0;
8793 fra
.me
.REG_size
= 2;
8794 fra
.me
.nitni_local_ref_head
= NULL
;
8795 fra
.me
.REG
[0] = NIT_NULL
;
8796 fra
.me
.REG
[1] = NIT_NULL
;
8798 /* syntax/mmbuilder.nit:1142 */
8799 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8800 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AMethPropdef____method(fra
.me
.REG
[1]);
8801 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
8802 if (UNTAG_Bool(REGB0
)) {
8804 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1142);
8808 stack_frame_head
= fra
.me
.prev
;
8809 return fra
.me
.REG
[1];
8811 void syntax___mmbuilder___AMethPropdef___accept_property_builder(val_t p0
, val_t p1
){
8812 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
8817 static val_t once_value_1
; /* Once value */
8818 static val_t once_value_2
; /* Once value */
8819 static val_t once_value_3
; /* Once value */
8820 static val_t once_value_4
; /* Once value */
8821 static val_t once_value_5
; /* Once value */
8822 static val_t once_value_6
; /* Once value */
8823 static val_t once_value_7
; /* Once value */
8824 static val_t once_value_8
; /* Once value */
8825 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8826 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8828 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___accept_property_builder
;
8829 fra
.me
.has_broke
= 0;
8830 fra
.me
.REG_size
= 5;
8831 fra
.me
.nitni_local_ref_head
= NULL
;
8832 fra
.me
.REG
[0] = NIT_NULL
;
8833 fra
.me
.REG
[1] = NIT_NULL
;
8834 fra
.me
.REG
[2] = NIT_NULL
;
8835 fra
.me
.REG
[3] = NIT_NULL
;
8836 fra
.me
.REG
[4] = NIT_NULL
;
8839 /* syntax/mmbuilder.nit:1144 */
8840 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8841 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8842 /* syntax/mmbuilder.nit:1146 */
8843 CALL_SUPER_syntax___mmbuilder___AMethPropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8844 /* syntax/mmbuilder.nit:1148 */
8845 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8846 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8847 if (UNTAG_Bool(REGB0
)) {
8849 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8850 if (UNTAG_Bool(REGB1
)) {
8851 REGB1
= TAG_Bool(false);
8854 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8858 if (UNTAG_Bool(REGB0
)) {
8859 /* syntax/mmbuilder.nit:1149 */
8860 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_parser___parser_nodes___AInitPropdef
, ID_parser___parser_nodes___AInitPropdef
)) /*cast AInitPropdef*/;
8861 if (UNTAG_Bool(REGB0
)) {
8862 /* syntax/mmbuilder.nit:1150 */
8863 if (!once_value_1
) {
8864 if (!once_value_2
) {
8865 fra
.me
.REG
[1] = BOX_NativeString("init");
8867 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
8868 once_value_2
= fra
.me
.REG
[1];
8869 register_static_object(&once_value_2
);
8870 } else fra
.me
.REG
[1] = once_value_2
;
8871 fra
.me
.REG
[1] = fra
.me
.REG
[1];
8872 fra
.me
.REG
[1] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8873 once_value_1
= fra
.me
.REG
[1];
8874 register_static_object(&once_value_1
);
8875 } else fra
.me
.REG
[1] = once_value_1
;
8876 fra
.me
.REG
[1] = fra
.me
.REG
[1];
8878 /* syntax/mmbuilder.nit:1152 */
8879 if (!once_value_3
) {
8880 if (!once_value_4
) {
8881 fra
.me
.REG
[4] = BOX_NativeString("main");
8883 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
8884 once_value_4
= fra
.me
.REG
[4];
8885 register_static_object(&once_value_4
);
8886 } else fra
.me
.REG
[4] = once_value_4
;
8887 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8888 fra
.me
.REG
[4] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8889 once_value_3
= fra
.me
.REG
[4];
8890 register_static_object(&once_value_3
);
8891 } else fra
.me
.REG
[4] = once_value_3
;
8892 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8893 fra
.me
.REG
[1] = fra
.me
.REG
[4];
8896 /* syntax/mmbuilder.nit:1155 */
8897 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8898 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8899 if (UNTAG_Bool(REGB0
)) {
8900 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1155);
8902 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AMethid___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8903 REGB0
= TAG_Bool(fra
.me
.REG
[4]!=NIT_NULL
);
8904 if (UNTAG_Bool(REGB0
)) {
8906 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1155);
8908 fra
.me
.REG
[1] = fra
.me
.REG
[4];
8909 /* syntax/mmbuilder.nit:1157 */
8910 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8911 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8912 if (UNTAG_Bool(REGB0
)) {
8913 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1157);
8915 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AMethid___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8916 if (!once_value_5
) {
8917 if (!once_value_6
) {
8918 fra
.me
.REG
[0] = BOX_NativeString("-");
8920 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
8921 once_value_6
= fra
.me
.REG
[0];
8922 register_static_object(&once_value_6
);
8923 } else fra
.me
.REG
[0] = once_value_6
;
8924 fra
.me
.REG
[0] = fra
.me
.REG
[0];
8925 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8926 once_value_5
= fra
.me
.REG
[0];
8927 register_static_object(&once_value_5
);
8928 } else fra
.me
.REG
[0] = once_value_5
;
8929 fra
.me
.REG
[0] = fra
.me
.REG
[0];
8930 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[0],fra
.me
.REG
[4]));
8931 if (UNTAG_Bool(REGB0
)) {
8933 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8934 if (UNTAG_Bool(REGB1
)) {
8935 REGB1
= TAG_Bool(false);
8938 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
8942 if (UNTAG_Bool(REGB0
)) {
8943 /* syntax/mmbuilder.nit:1158 */
8944 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8945 /* syntax/mmbuilder.nit:1159 */
8946 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8947 if (UNTAG_Bool(REGB0
)) {
8949 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8950 if (UNTAG_Bool(REGB1
)) {
8951 REGB1
= TAG_Bool(false);
8954 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8958 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8959 if (UNTAG_Bool(REGB0
)) {
8960 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8961 if (UNTAG_Bool(REGB0
)) {
8962 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1159);
8964 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ASignature___n_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8965 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8967 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
8968 if (UNTAG_Bool(REGB2
)) {
8970 /* ../lib/standard/kernel.nit:227 */
8971 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
8972 /* syntax/mmbuilder.nit:1159 */
8976 REGB1
= TAG_Bool(false);
8979 if (UNTAG_Bool(REGB2
)) {
8980 /* syntax/mmbuilder.nit:1160 */
8981 if (!once_value_7
) {
8982 if (!once_value_8
) {
8983 fra
.me
.REG
[0] = BOX_NativeString("unary -");
8985 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB2
);
8986 once_value_8
= fra
.me
.REG
[0];
8987 register_static_object(&once_value_8
);
8988 } else fra
.me
.REG
[0] = once_value_8
;
8989 fra
.me
.REG
[0] = fra
.me
.REG
[0];
8990 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8991 once_value_7
= fra
.me
.REG
[0];
8992 register_static_object(&once_value_7
);
8993 } else fra
.me
.REG
[0] = once_value_7
;
8994 fra
.me
.REG
[0] = fra
.me
.REG
[0];
8995 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8999 /* syntax/mmbuilder.nit:1164 */
9000 ATTR_syntax___mmbuilder___AMethPropdef____name(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
9001 /* syntax/mmbuilder.nit:1165 */
9002 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9003 fra
.me
.REG
[0] = NEW_MMMethSrcMethod_syntax___syntax_base___MMMethSrcMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
9004 /* syntax/mmbuilder.nit:1166 */
9005 ATTR_syntax___mmbuilder___AMethPropdef____method(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
9006 /* syntax/mmbuilder.nit:1167 */
9007 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9008 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0]);
9009 stack_frame_head
= fra
.me
.prev
;
9012 void syntax___mmbuilder___AMethPropdef___accept_property_verifier(val_t p0
, val_t p1
){
9013 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
9019 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9020 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9022 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___accept_property_verifier
;
9023 fra
.me
.has_broke
= 0;
9024 fra
.me
.REG_size
= 5;
9025 fra
.me
.nitni_local_ref_head
= NULL
;
9026 fra
.me
.REG
[0] = NIT_NULL
;
9027 fra
.me
.REG
[1] = NIT_NULL
;
9028 fra
.me
.REG
[2] = NIT_NULL
;
9029 fra
.me
.REG
[3] = NIT_NULL
;
9030 fra
.me
.REG
[4] = NIT_NULL
;
9033 /* syntax/mmbuilder.nit:1170 */
9034 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9035 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9036 /* syntax/mmbuilder.nit:1172 */
9037 fra
.me
.REG
[4] = NEW_SignatureBuilder_syntax___mmbuilder___SignatureBuilder___init();
9038 CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
9039 /* syntax/mmbuilder.nit:1173 */
9040 CALL_SUPER_syntax___mmbuilder___AMethPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9041 /* syntax/mmbuilder.nit:1175 */
9042 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9043 REGB0
= CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9044 if (UNTAG_Bool(REGB0
)) {
9047 /* syntax/mmbuilder.nit:1177 */
9048 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9049 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9050 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9051 if (UNTAG_Bool(REGB0
)) {
9053 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9054 if (UNTAG_Bool(REGB1
)) {
9055 REGB1
= TAG_Bool(false);
9058 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
9062 if (UNTAG_Bool(REGB0
)) {
9064 /* syntax/mmbuilder.nit:1180 */
9065 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9066 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9067 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9068 REGB0
= TAG_Bool(fra
.me
.REG
[4]!=NIT_NULL
);
9069 if (UNTAG_Bool(REGB0
)) {
9071 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1180);
9073 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
9075 /* syntax/mmbuilder.nit:1182 */
9077 /* syntax/mmbuilder.nit:1183 */
9078 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9079 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9080 if (UNTAG_Bool(REGB1
)) {
9082 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9083 if (UNTAG_Bool(REGB2
)) {
9084 REGB2
= TAG_Bool(false);
9087 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
9091 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9092 if (UNTAG_Bool(REGB1
)) {
9093 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9094 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9095 if (UNTAG_Bool(REGB1
)) {
9096 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1183);
9098 REGB1
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9100 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9101 if (UNTAG_Bool(REGB3
)) {
9103 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9105 /* ../lib/standard/kernel.nit:234 */
9106 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
9108 /* syntax/mmbuilder.nit:1183 */
9109 REGB1
= TAG_Bool(false);
9112 if (UNTAG_Bool(REGB2
)) {
9113 /* syntax/mmbuilder.nit:1184 */
9114 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9115 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9116 if (UNTAG_Bool(REGB2
)) {
9117 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1184);
9119 REGB2
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9122 /* syntax/mmbuilder.nit:1186 */
9123 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9124 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AMethPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9125 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9126 if (UNTAG_Bool(REGB2
)) {
9128 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9129 if (UNTAG_Bool(REGB1
)) {
9130 REGB1
= TAG_Bool(false);
9133 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
9137 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
9138 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
);
9139 /* syntax/mmbuilder.nit:1187 */
9140 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9141 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9142 if (UNTAG_Bool(REGB0
)) {
9144 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9145 if (UNTAG_Bool(REGB2
)) {
9146 REGB2
= TAG_Bool(false);
9149 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
9153 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9154 if (UNTAG_Bool(REGB0
)) {
9155 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9156 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9157 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9158 if (UNTAG_Bool(REGB0
)) {
9159 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1187);
9161 CALL_syntax___mmbuilder___ASignature___check_visibility(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3], fra
.me
.REG
[2]);
9164 stack_frame_head
= fra
.me
.prev
;
9167 void syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
9168 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9170 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9171 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9173 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor
;
9174 fra
.me
.has_broke
= 0;
9175 fra
.me
.REG_size
= 4;
9176 fra
.me
.nitni_local_ref_head
= NULL
;
9177 fra
.me
.REG
[0] = NIT_NULL
;
9178 fra
.me
.REG
[1] = NIT_NULL
;
9179 fra
.me
.REG
[2] = NIT_NULL
;
9180 fra
.me
.REG
[3] = NIT_NULL
;
9183 /* syntax/mmbuilder.nit:1190 */
9184 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9185 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9186 /* syntax/mmbuilder.nit:1192 */
9187 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___AMethPropdef____method(fra
.me
.REG
[2]);
9188 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
9189 /* syntax/mmbuilder.nit:1193 */
9190 CALL_SUPER_syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9191 /* syntax/mmbuilder.nit:1194 */
9192 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
9193 stack_frame_head
= fra
.me
.prev
;
9196 void syntax___mmbuilder___AMainMethPropdef___process_and_check(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
9197 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
9201 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9202 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9204 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMainMethPropdef___process_and_check
;
9205 fra
.me
.has_broke
= 0;
9206 fra
.me
.REG_size
= 3;
9207 fra
.me
.nitni_local_ref_head
= NULL
;
9208 fra
.me
.REG
[0] = NIT_NULL
;
9209 fra
.me
.REG
[1] = NIT_NULL
;
9210 fra
.me
.REG
[2] = NIT_NULL
;
9216 /* syntax/mmbuilder.nit:1201 */
9217 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9218 CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
9219 /* syntax/mmbuilder.nit:1202 */
9220 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
9221 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9222 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9223 fra
.me
.REG
[1] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[1]);
9224 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
9225 stack_frame_head
= fra
.me
.prev
;
9228 void syntax___mmbuilder___AExternPropdef___accept_property_verifier(val_t p0
, val_t p1
){
9229 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
9234 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9235 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9237 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExternPropdef___accept_property_verifier
;
9238 fra
.me
.has_broke
= 0;
9239 fra
.me
.REG_size
= 3;
9240 fra
.me
.nitni_local_ref_head
= NULL
;
9241 fra
.me
.REG
[0] = NIT_NULL
;
9242 fra
.me
.REG
[1] = NIT_NULL
;
9243 fra
.me
.REG
[2] = NIT_NULL
;
9246 /* syntax/mmbuilder.nit:1208 */
9247 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9248 /* syntax/mmbuilder.nit:1210 */
9249 CALL_SUPER_syntax___mmbuilder___AExternPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9250 /* syntax/mmbuilder.nit:1212 */
9251 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AExternPropdef___n_extern(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9252 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9253 if (UNTAG_Bool(REGB0
)) {
9255 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9256 if (UNTAG_Bool(REGB1
)) {
9257 REGB1
= TAG_Bool(false);
9260 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
9264 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9265 if (UNTAG_Bool(REGB0
)) {
9266 /* syntax/mmbuilder.nit:1213 */
9267 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AExternPropdef___n_extern(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9268 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9269 if (UNTAG_Bool(REGB0
)) {
9270 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1213);
9272 fra
.me
.REG
[1] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9273 /* syntax/mmbuilder.nit:1214 */
9275 /* ../lib/standard/collection/array.nit:24 */
9276 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
9277 if (UNTAG_Bool(REGB1
)) {
9279 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
9281 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
9282 /* syntax/mmbuilder.nit:1214 */
9284 /* ../lib/standard/kernel.nit:237 */
9285 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
9286 /* syntax/mmbuilder.nit:1214 */
9287 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
, REGB2
);
9288 fra
.me
.REG
[1] = fra
.me
.REG
[0];
9290 /* syntax/mmbuilder.nit:1216 */
9291 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9292 fra
.me
.REG
[0] = CALL_primitive_info___MMMethod___default_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9293 fra
.me
.REG
[1] = fra
.me
.REG
[0];
9295 /* syntax/mmbuilder.nit:1218 */
9296 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9297 CALL_syntax___syntax_base___MMMethSrcMethod___extern_name__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
9298 stack_frame_head
= fra
.me
.prev
;
9301 val_t
syntax___mmbuilder___ATypePropdef___prop(val_t p0
){
9302 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
9305 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9306 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9308 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATypePropdef___prop
;
9309 fra
.me
.has_broke
= 0;
9310 fra
.me
.REG_size
= 2;
9311 fra
.me
.nitni_local_ref_head
= NULL
;
9312 fra
.me
.REG
[0] = NIT_NULL
;
9313 fra
.me
.REG
[1] = NIT_NULL
;
9315 /* syntax/mmbuilder.nit:1223 */
9316 fra
.me
.REG
[1] = fra
.me
.REG
[0];
9317 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___ATypePropdef____prop(fra
.me
.REG
[1]);
9318 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
9319 if (UNTAG_Bool(REGB0
)) {
9321 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1223);
9325 stack_frame_head
= fra
.me
.prev
;
9326 return fra
.me
.REG
[1];
9328 void syntax___mmbuilder___ATypePropdef___accept_property_builder(val_t p0
, val_t p1
){
9329 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9331 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9332 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9334 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATypePropdef___accept_property_builder
;
9335 fra
.me
.has_broke
= 0;
9336 fra
.me
.REG_size
= 4;
9337 fra
.me
.nitni_local_ref_head
= NULL
;
9338 fra
.me
.REG
[0] = NIT_NULL
;
9339 fra
.me
.REG
[1] = NIT_NULL
;
9340 fra
.me
.REG
[2] = NIT_NULL
;
9341 fra
.me
.REG
[3] = NIT_NULL
;
9344 /* syntax/mmbuilder.nit:1226 */
9345 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9346 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9347 /* syntax/mmbuilder.nit:1228 */
9348 CALL_SUPER_syntax___mmbuilder___ATypePropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9349 /* syntax/mmbuilder.nit:1229 */
9350 fra
.me
.REG
[1] = CALL_parser___parser_nodes___ATypePropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9351 fra
.me
.REG
[1] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9352 /* syntax/mmbuilder.nit:1230 */
9353 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9354 fra
.me
.REG
[0] = NEW_MMSrcTypeProperty_syntax___syntax_base___MMSrcTypeProperty___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
9355 /* syntax/mmbuilder.nit:1231 */
9356 ATTR_syntax___mmbuilder___ATypePropdef____prop(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
9357 /* syntax/mmbuilder.nit:1232 */
9358 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9359 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0]);
9360 stack_frame_head
= fra
.me
.prev
;
9363 void syntax___mmbuilder___ATypePropdef___accept_property_verifier(val_t p0
, val_t p1
){
9364 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
9369 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9370 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9372 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATypePropdef___accept_property_verifier
;
9373 fra
.me
.has_broke
= 0;
9374 fra
.me
.REG_size
= 5;
9375 fra
.me
.nitni_local_ref_head
= NULL
;
9376 fra
.me
.REG
[0] = NIT_NULL
;
9377 fra
.me
.REG
[1] = NIT_NULL
;
9378 fra
.me
.REG
[2] = NIT_NULL
;
9379 fra
.me
.REG
[3] = NIT_NULL
;
9380 fra
.me
.REG
[4] = NIT_NULL
;
9383 /* syntax/mmbuilder.nit:1235 */
9384 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9385 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9386 /* syntax/mmbuilder.nit:1237 */
9387 CALL_SUPER_syntax___mmbuilder___ATypePropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9388 /* syntax/mmbuilder.nit:1238 */
9389 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
9390 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ATypePropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9391 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
9392 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9393 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9394 fra
.me
.REG
[4] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
9395 /* syntax/mmbuilder.nit:1239 */
9396 fra
.me
.REG
[0] = CALL_syntax___syntax_base___ATypePropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9397 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
9398 /* syntax/mmbuilder.nit:1240 */
9399 fra
.me
.REG
[4] = CALL_parser___parser_nodes___ATypePropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9400 REGB0
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9401 /* syntax/mmbuilder.nit:1241 */
9402 fra
.me
.REG
[4] = CALL_syntax___syntax_base___ATypePropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9403 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ATypePropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9404 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9405 if (UNTAG_Bool(REGB1
)) {
9407 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9408 if (UNTAG_Bool(REGB2
)) {
9409 REGB2
= TAG_Bool(false);
9412 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
9416 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9417 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
);
9418 stack_frame_head
= fra
.me
.prev
;
9421 void syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
9422 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9424 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9425 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9427 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor
;
9428 fra
.me
.has_broke
= 0;
9429 fra
.me
.REG_size
= 4;
9430 fra
.me
.nitni_local_ref_head
= NULL
;
9431 fra
.me
.REG
[0] = NIT_NULL
;
9432 fra
.me
.REG
[1] = NIT_NULL
;
9433 fra
.me
.REG
[2] = NIT_NULL
;
9434 fra
.me
.REG
[3] = NIT_NULL
;
9437 /* syntax/mmbuilder.nit:1244 */
9438 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9439 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9440 /* syntax/mmbuilder.nit:1246 */
9441 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___ATypePropdef____prop(fra
.me
.REG
[2]);
9442 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
9443 /* syntax/mmbuilder.nit:1247 */
9444 CALL_SUPER_syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9445 /* syntax/mmbuilder.nit:1248 */
9446 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
9447 stack_frame_head
= fra
.me
.prev
;
9450 val_t
syntax___mmbuilder___MethidAccumulator___name(val_t p0
){
9451 struct {struct stack_frame_t me
;} fra
;
9454 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9455 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9457 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MethidAccumulator___name
;
9458 fra
.me
.has_broke
= 0;
9459 fra
.me
.REG_size
= 1;
9460 fra
.me
.nitni_local_ref_head
= NULL
;
9461 fra
.me
.REG
[0] = NIT_NULL
;
9463 /* syntax/mmbuilder.nit:1255 */
9464 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0])!=NIT_NULL
);
9465 if (UNTAG_Bool(REGB0
)) {
9467 nit_abort("Uninitialized attribute %s", "_name", LOCATE_syntax___mmbuilder
, 1255);
9469 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0]);
9470 stack_frame_head
= fra
.me
.prev
;
9471 return fra
.me
.REG
[0];
9473 void syntax___mmbuilder___MethidAccumulator___visit(val_t p0
, val_t p1
){
9474 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9477 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9478 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9480 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MethidAccumulator___visit
;
9481 fra
.me
.has_broke
= 0;
9482 fra
.me
.REG_size
= 4;
9483 fra
.me
.nitni_local_ref_head
= NULL
;
9484 fra
.me
.REG
[0] = NIT_NULL
;
9485 fra
.me
.REG
[1] = NIT_NULL
;
9486 fra
.me
.REG
[2] = NIT_NULL
;
9487 fra
.me
.REG
[3] = NIT_NULL
;
9490 /* syntax/mmbuilder.nit:1258 */
9491 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*/;
9492 if (UNTAG_Bool(REGB0
)) {
9493 /* syntax/mmbuilder.nit:1259 */
9494 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0])!=NIT_NULL
);
9495 if (UNTAG_Bool(REGB0
)) {
9497 nit_abort("Uninitialized attribute %s", "_name", LOCATE_syntax___mmbuilder
, 1259);
9499 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0]);
9500 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9501 if (UNTAG_Bool(REGB0
)) {
9502 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1259);
9504 fra
.me
.REG
[3] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9505 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
9507 /* syntax/mmbuilder.nit:1261 */
9508 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9509 if (UNTAG_Bool(REGB0
)) {
9510 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1261);
9512 CALL_parser___parser_prod___ANode___visit_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
9514 stack_frame_head
= fra
.me
.prev
;
9517 val_t
syntax___mmbuilder___AMethid___name(val_t p0
){
9518 struct {struct stack_frame_t me
;} fra
;
9520 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9521 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9523 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethid___name
;
9524 fra
.me
.has_broke
= 0;
9525 fra
.me
.REG_size
= 1;
9526 fra
.me
.nitni_local_ref_head
= NULL
;
9527 fra
.me
.REG
[0] = NIT_NULL
;
9529 /* syntax/mmbuilder.nit:1267 */
9530 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AMethid____name(fra
.me
.REG
[0]);
9531 stack_frame_head
= fra
.me
.prev
;
9532 return fra
.me
.REG
[0];
9534 void syntax___mmbuilder___AMethid___accept_property_builder(val_t p0
, val_t p1
){
9535 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9537 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9538 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9540 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethid___accept_property_builder
;
9541 fra
.me
.has_broke
= 0;
9542 fra
.me
.REG_size
= 4;
9543 fra
.me
.nitni_local_ref_head
= NULL
;
9544 fra
.me
.REG
[0] = NIT_NULL
;
9545 fra
.me
.REG
[1] = NIT_NULL
;
9546 fra
.me
.REG
[2] = NIT_NULL
;
9547 fra
.me
.REG
[3] = NIT_NULL
;
9550 /* syntax/mmbuilder.nit:1269 */
9551 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9552 /* syntax/mmbuilder.nit:1271 */
9553 fra
.me
.REG
[3] = NEW_MethidAccumulator_parser___parser_prod___Visitor___init();
9554 /* syntax/mmbuilder.nit:1272 */
9555 CALL_parser___parser_prod___Visitor___enter_visit(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
9556 /* syntax/mmbuilder.nit:1273 */
9557 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___MethidAccumulator___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9558 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9559 fra
.me
.REG
[3] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9560 ATTR_syntax___mmbuilder___AMethid____name(fra
.me
.REG
[2]) = fra
.me
.REG
[3];
9561 /* syntax/mmbuilder.nit:1274 */
9562 CALL_SUPER_syntax___mmbuilder___AMethid___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9563 stack_frame_head
= fra
.me
.prev
;
9566 void syntax___mmbuilder___ASignature___accept_property_verifier(val_t p0
, val_t p1
){
9567 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
9572 static val_t once_value_2
; /* Once value */
9573 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9574 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9576 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASignature___accept_property_verifier
;
9577 fra
.me
.has_broke
= 0;
9578 fra
.me
.REG_size
= 8;
9579 fra
.me
.nitni_local_ref_head
= NULL
;
9580 fra
.me
.REG
[0] = NIT_NULL
;
9581 fra
.me
.REG
[1] = NIT_NULL
;
9582 fra
.me
.REG
[2] = NIT_NULL
;
9583 fra
.me
.REG
[3] = NIT_NULL
;
9584 fra
.me
.REG
[4] = NIT_NULL
;
9585 fra
.me
.REG
[5] = NIT_NULL
;
9586 fra
.me
.REG
[6] = NIT_NULL
;
9587 fra
.me
.REG
[7] = NIT_NULL
;
9590 /* syntax/mmbuilder.nit:1279 */
9591 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9592 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9593 /* syntax/mmbuilder.nit:1281 */
9594 CALL_SUPER_syntax___mmbuilder___ASignature___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9595 /* syntax/mmbuilder.nit:1282 */
9596 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9597 REGB0
= CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9598 if (UNTAG_Bool(REGB0
)) {
9599 /* syntax/mmbuilder.nit:1283 */
9602 /* syntax/mmbuilder.nit:1284 */
9603 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9604 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9605 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9606 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9607 if (UNTAG_Bool(REGB0
)) {
9608 /* syntax/mmbuilder.nit:1285 */
9609 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9610 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9611 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9612 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9613 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9614 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9615 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[1],fra
.me
.REG
[4]));
9616 if (UNTAG_Bool(REGB0
)) {
9618 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9619 if (UNTAG_Bool(REGB1
)) {
9620 REGB1
= TAG_Bool(false);
9623 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
9627 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9628 if (UNTAG_Bool(REGB0
)) {
9629 REGB0
= TAG_Bool(true);
9631 fra
.me
.REG
[4] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9632 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9633 if (UNTAG_Bool(REGB1
)) {
9635 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9636 if (UNTAG_Bool(REGB2
)) {
9637 REGB2
= TAG_Bool(false);
9640 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
9644 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9647 if (UNTAG_Bool(REGB0
)) {
9648 /* syntax/mmbuilder.nit:1286 */
9649 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9650 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9651 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9652 if (!once_value_2
) {
9653 fra
.me
.REG
[1] = BOX_NativeString("Syntax error: untyped parameter.");
9654 REGB0
= TAG_Int(32);
9655 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
9656 once_value_2
= fra
.me
.REG
[1];
9657 register_static_object(&once_value_2
);
9658 } else fra
.me
.REG
[1] = once_value_2
;
9659 fra
.me
.REG
[1] = fra
.me
.REG
[1];
9660 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4], fra
.me
.REG
[1]);
9661 /* syntax/mmbuilder.nit:1287 */
9665 /* syntax/mmbuilder.nit:1289 */
9666 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9667 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9668 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9669 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9670 if (UNTAG_Bool(REGB0
)) {
9671 REGB0
= TAG_Bool(true);
9673 fra
.me
.REG
[1] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9674 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9675 if (UNTAG_Bool(REGB1
)) {
9677 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9678 if (UNTAG_Bool(REGB2
)) {
9679 REGB2
= TAG_Bool(false);
9682 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
9686 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9689 if (UNTAG_Bool(REGB0
)) {
9690 /* syntax/mmbuilder.nit:1290 */
9691 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
9692 /* syntax/mmbuilder.nit:1291 */
9693 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9694 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9695 /* ../lib/standard/collection/array.nit:269 */
9697 /* ../lib/standard/collection/array.nit:270 */
9698 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
9699 if (UNTAG_Bool(REGB1
)) {
9701 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
9703 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
9704 /* ../lib/standard/collection/array.nit:271 */
9705 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
9706 /* ../lib/standard/collection/array.nit:272 */
9708 /* ../lib/standard/collection/array.nit:24 */
9709 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
9710 if (UNTAG_Bool(REGB1
)) {
9712 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
9714 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
9715 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
9716 if (UNTAG_Bool(REGB2
)) {
9718 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9720 /* ../lib/standard/kernel.nit:232 */
9721 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
9722 /* ../lib/standard/collection/array.nit:272 */
9723 if (UNTAG_Bool(REGB1
)) {
9724 /* ../lib/standard/collection/array.nit:273 */
9725 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9726 if (UNTAG_Bool(REGB1
)) {
9727 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
9729 /* ../lib/standard/collection/array.nit:718 */
9730 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
9731 /* syntax/mmbuilder.nit:1292 */
9732 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AParam___stype(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9733 REGB1
= TAG_Bool(fra
.me
.REG
[7]!=NIT_NULL
);
9734 if (UNTAG_Bool(REGB1
)) {
9736 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1292);
9738 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AParam___n_id(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9739 fra
.me
.REG
[6] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9740 fra
.me
.REG
[6] = NEW_MMParam_metamodel___static_type___MMParam___init(fra
.me
.REG
[7], fra
.me
.REG
[6]);
9741 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
9742 /* ../lib/standard/collection/array.nit:274 */
9744 /* ../lib/standard/kernel.nit:235 */
9745 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
9746 /* ../lib/standard/collection/array.nit:274 */
9749 /* ../lib/standard/collection/array.nit:272 */
9754 /* syntax/mmbuilder.nit:1294 */
9755 fra
.me
.REG
[0] = NIT_NULL
;
9756 /* syntax/mmbuilder.nit:1295 */
9757 fra
.me
.REG
[5] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9758 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9759 if (UNTAG_Bool(REGB0
)) {
9761 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9762 if (UNTAG_Bool(REGB1
)) {
9763 REGB1
= TAG_Bool(false);
9766 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
9770 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9771 if (UNTAG_Bool(REGB0
)) {
9772 /* syntax/mmbuilder.nit:1296 */
9773 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9774 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
9775 if (UNTAG_Bool(REGB0
)) {
9776 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1296);
9778 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
9779 fra
.me
.REG
[0] = fra
.me
.REG
[2];
9780 /* syntax/mmbuilder.nit:1297 */
9781 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9782 if (UNTAG_Bool(REGB0
)) {
9784 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9785 if (UNTAG_Bool(REGB1
)) {
9786 REGB1
= TAG_Bool(false);
9789 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
9793 if (UNTAG_Bool(REGB0
)) {
9794 /* syntax/mmbuilder.nit:1298 */
9795 fra
.me
.REG
[2] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9796 REGB0
= TAG_Bool(true);
9797 CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
9798 /* syntax/mmbuilder.nit:1299 */
9802 /* syntax/mmbuilder.nit:1302 */
9803 fra
.me
.REG
[2] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9804 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9805 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9806 fra
.me
.REG
[5] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
9807 CALL_syntax___mmbuilder___SignatureBuilder___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
9808 /* syntax/mmbuilder.nit:1303 */
9809 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9810 REGB0
= CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9812 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
9813 if (UNTAG_Bool(REGB2
)) {
9815 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9817 /* ../lib/standard/kernel.nit:233 */
9818 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
9819 /* syntax/mmbuilder.nit:1303 */
9820 if (UNTAG_Bool(REGB1
)) {
9821 /* syntax/mmbuilder.nit:1304 */
9822 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9823 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9824 fra
.me
.REG
[2] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9825 REGB1
= CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9826 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9827 if (UNTAG_Bool(REGB0
)) {
9828 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1304);
9830 CALL_metamodel___vararg___MMSignature___vararg_rank__eq(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB1
);
9832 /* syntax/mmbuilder.nit:1306 */
9833 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9834 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9835 /* ../lib/standard/collection/array.nit:269 */
9837 /* ../lib/standard/collection/array.nit:270 */
9838 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
9839 if (UNTAG_Bool(REGB0
)) {
9841 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
9843 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
9844 /* ../lib/standard/collection/array.nit:271 */
9845 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
9846 /* ../lib/standard/collection/array.nit:272 */
9848 /* ../lib/standard/collection/array.nit:24 */
9849 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
9850 if (UNTAG_Bool(REGB0
)) {
9852 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
9854 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
9855 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9856 if (UNTAG_Bool(REGB2
)) {
9858 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9860 /* ../lib/standard/kernel.nit:232 */
9861 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
9862 /* ../lib/standard/collection/array.nit:272 */
9863 if (UNTAG_Bool(REGB0
)) {
9864 /* ../lib/standard/collection/array.nit:273 */
9865 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
9866 if (UNTAG_Bool(REGB0
)) {
9867 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
9869 /* ../lib/standard/collection/array.nit:718 */
9870 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
9871 /* syntax/mmbuilder.nit:1307 */
9872 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9873 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9874 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9875 if (UNTAG_Bool(REGB0
)) {
9876 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1307);
9878 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMSignature___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9879 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AClosureDecl___variable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9880 fra
.me
.REG
[0] = CALL_syntax___syntax_base___ClosureVariable___closure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9881 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
9882 /* ../lib/standard/collection/array.nit:274 */
9884 /* ../lib/standard/kernel.nit:235 */
9885 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
9886 /* ../lib/standard/collection/array.nit:274 */
9889 /* ../lib/standard/collection/array.nit:272 */
9898 stack_frame_head
= fra
.me
.prev
;
9901 void syntax___mmbuilder___ASignature___check_visibility(val_t p0
, val_t p1
, val_t p2
){
9902 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9907 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9908 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9910 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASignature___check_visibility
;
9911 fra
.me
.has_broke
= 0;
9912 fra
.me
.REG_size
= 4;
9913 fra
.me
.nitni_local_ref_head
= NULL
;
9914 fra
.me
.REG
[0] = NIT_NULL
;
9915 fra
.me
.REG
[1] = NIT_NULL
;
9916 fra
.me
.REG
[2] = NIT_NULL
;
9917 fra
.me
.REG
[3] = NIT_NULL
;
9921 /* syntax/mmbuilder.nit:1315 */
9922 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9923 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9925 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
9926 if (UNTAG_Bool(REGB2
)) {
9928 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9930 /* ../lib/standard/kernel.nit:233 */
9931 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
9932 /* syntax/mmbuilder.nit:1315 */
9933 if (UNTAG_Bool(REGB1
)) {
9936 /* syntax/mmbuilder.nit:1316 */
9937 fra
.me
.REG
[3] = CALL_parser___parser_nodes___ASignature___n_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9938 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
));
9939 /* syntax/mmbuilder.nit:1319 */
9940 fra
.me
.REG
[3] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9941 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
9942 if (UNTAG_Bool(REGB1
)) {
9944 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
9945 if (UNTAG_Bool(REGB0
)) {
9946 REGB0
= TAG_Bool(false);
9949 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
9953 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9954 if (UNTAG_Bool(REGB1
)) {
9955 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9956 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9957 if (UNTAG_Bool(REGB1
)) {
9958 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1319);
9960 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
9963 stack_frame_head
= fra
.me
.prev
;
9966 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
){
9967 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
9972 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9973 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9975 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASignature___check_visibility
;
9976 fra
.me
.has_broke
= 0;
9977 fra
.me
.REG_size
= 2;
9978 fra
.me
.nitni_local_ref_head
= NULL
;
9979 fra
.me
.REG
[0] = NIT_NULL
;
9980 fra
.me
.REG
[1] = NIT_NULL
;
9981 fra
.me
.closure_ctx
= closctx_param
;
9982 fra
.me
.closure_funs
= CREG
;
9984 CREG
[0] = clos_fun0
;
9985 /* syntax/mmbuilder.nit:1317 */
9986 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AParam___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9987 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9988 if (UNTAG_Bool(REGB0
)) {
9990 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9991 if (UNTAG_Bool(REGB1
)) {
9992 REGB1
= TAG_Bool(false);
9995 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
9999 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10000 if (UNTAG_Bool(REGB0
)) {
10001 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10002 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10003 if (UNTAG_Bool(REGB0
)) {
10004 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1317);
10006 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1], closctx
->REG
[2]);
10008 stack_frame_head
= fra
.me
.prev
;
10011 val_t
syntax___mmbuilder___AParam___position(val_t p0
){
10012 struct {struct stack_frame_t me
;} fra
;
10015 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10016 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10017 fra
.me
.line
= 1324;
10018 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___position
;
10019 fra
.me
.has_broke
= 0;
10020 fra
.me
.REG_size
= 1;
10021 fra
.me
.nitni_local_ref_head
= NULL
;
10022 fra
.me
.REG
[0] = NIT_NULL
;
10023 fra
.me
.REG
[0] = p0
;
10024 /* syntax/mmbuilder.nit:1324 */
10025 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___AParam____position(fra
.me
.REG
[0])!=NIT_NULL
);
10026 if (UNTAG_Bool(REGB0
)) {
10028 nit_abort("Uninitialized attribute %s", "_position", LOCATE_syntax___mmbuilder
, 1324);
10030 REGB0
= ATTR_syntax___mmbuilder___AParam____position(fra
.me
.REG
[0]);
10031 stack_frame_head
= fra
.me
.prev
;
10034 val_t
syntax___mmbuilder___AParam___variable(val_t p0
){
10035 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10038 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10039 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10040 fra
.me
.line
= 1326;
10041 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___variable
;
10042 fra
.me
.has_broke
= 0;
10043 fra
.me
.REG_size
= 2;
10044 fra
.me
.nitni_local_ref_head
= NULL
;
10045 fra
.me
.REG
[0] = NIT_NULL
;
10046 fra
.me
.REG
[1] = NIT_NULL
;
10047 fra
.me
.REG
[0] = p0
;
10048 /* syntax/mmbuilder.nit:1326 */
10049 fra
.me
.REG
[1] = fra
.me
.REG
[0];
10050 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AParam____variable(fra
.me
.REG
[1]);
10051 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
10052 if (UNTAG_Bool(REGB0
)) {
10054 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1326);
10058 stack_frame_head
= fra
.me
.prev
;
10059 return fra
.me
.REG
[1];
10061 val_t
syntax___mmbuilder___AParam___stype(val_t p0
){
10062 struct {struct stack_frame_t me
;} fra
;
10064 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10065 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10066 fra
.me
.line
= 1329;
10067 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___stype
;
10068 fra
.me
.has_broke
= 0;
10069 fra
.me
.REG_size
= 1;
10070 fra
.me
.nitni_local_ref_head
= NULL
;
10071 fra
.me
.REG
[0] = NIT_NULL
;
10072 fra
.me
.REG
[0] = p0
;
10073 /* syntax/mmbuilder.nit:1329 */
10074 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AParam____stype(fra
.me
.REG
[0]);
10075 stack_frame_head
= fra
.me
.prev
;
10076 return fra
.me
.REG
[0];
10078 void syntax___mmbuilder___AParam___stype__eq(val_t p0
, val_t p1
){
10079 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10081 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10082 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10083 fra
.me
.line
= 1329;
10084 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___stype__eq
;
10085 fra
.me
.has_broke
= 0;
10086 fra
.me
.REG_size
= 2;
10087 fra
.me
.nitni_local_ref_head
= NULL
;
10088 fra
.me
.REG
[0] = NIT_NULL
;
10089 fra
.me
.REG
[1] = NIT_NULL
;
10090 fra
.me
.REG
[0] = p0
;
10091 fra
.me
.REG
[1] = p1
;
10092 /* syntax/mmbuilder.nit:1329 */
10093 ATTR_syntax___mmbuilder___AParam____stype(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
10094 stack_frame_head
= fra
.me
.prev
;
10097 void syntax___mmbuilder___AParam___accept_property_verifier(val_t p0
, val_t p1
){
10098 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
10104 static val_t once_value_2
; /* Once value */
10105 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10106 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10107 fra
.me
.line
= 1332;
10108 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___accept_property_verifier
;
10109 fra
.me
.has_broke
= 0;
10110 fra
.me
.REG_size
= 7;
10111 fra
.me
.nitni_local_ref_head
= NULL
;
10112 fra
.me
.REG
[0] = NIT_NULL
;
10113 fra
.me
.REG
[1] = NIT_NULL
;
10114 fra
.me
.REG
[2] = NIT_NULL
;
10115 fra
.me
.REG
[3] = NIT_NULL
;
10116 fra
.me
.REG
[4] = NIT_NULL
;
10117 fra
.me
.REG
[5] = NIT_NULL
;
10118 fra
.me
.REG
[6] = NIT_NULL
;
10119 fra
.me
.REG
[0] = p0
;
10120 fra
.me
.REG
[1] = p1
;
10121 /* syntax/mmbuilder.nit:1332 */
10122 fra
.me
.REG
[2] = fra
.me
.REG
[0];
10123 fra
.me
.REG
[3] = fra
.me
.REG
[1];
10124 /* syntax/mmbuilder.nit:1334 */
10125 CALL_SUPER_syntax___mmbuilder___AParam___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
10126 /* syntax/mmbuilder.nit:1335 */
10127 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10128 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10129 /* ../lib/standard/collection/array.nit:24 */
10130 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
10131 if (UNTAG_Bool(REGB0
)) {
10133 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
10135 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
10136 /* syntax/mmbuilder.nit:1335 */
10137 ATTR_syntax___mmbuilder___AParam____position(fra
.me
.REG
[2]) = REGB0
;
10138 /* syntax/mmbuilder.nit:1336 */
10139 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AParam___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10140 fra
.me
.REG
[1] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10141 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10142 fra
.me
.REG
[0] = NEW_ParamVariable_syntax___syntax_base___ParamVariable___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
10143 ATTR_syntax___mmbuilder___AParam____variable(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
10144 /* syntax/mmbuilder.nit:1337 */
10145 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10146 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10147 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
10148 /* syntax/mmbuilder.nit:1338 */
10149 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10150 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10151 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
10152 /* syntax/mmbuilder.nit:1339 */
10153 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10154 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10155 if (UNTAG_Bool(REGB0
)) {
10157 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10158 if (UNTAG_Bool(REGB1
)) {
10159 REGB1
= TAG_Bool(false);
10162 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
10166 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10167 if (UNTAG_Bool(REGB0
)) {
10168 /* syntax/mmbuilder.nit:1340 */
10169 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10170 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10171 if (UNTAG_Bool(REGB0
)) {
10172 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1340);
10174 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
10175 /* syntax/mmbuilder.nit:1341 */
10176 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10177 if (UNTAG_Bool(REGB0
)) {
10179 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10180 if (UNTAG_Bool(REGB1
)) {
10181 REGB1
= TAG_Bool(false);
10184 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
10188 if (UNTAG_Bool(REGB0
)) {
10189 /* syntax/mmbuilder.nit:1342 */
10190 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10191 REGB0
= TAG_Bool(true);
10192 CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
10193 /* syntax/mmbuilder.nit:1343 */
10196 /* syntax/mmbuilder.nit:1345 */
10197 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10198 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10199 /* ../lib/standard/collection/array.nit:269 */
10200 REGB0
= TAG_Int(0);
10201 /* ../lib/standard/collection/array.nit:270 */
10202 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
10203 if (UNTAG_Bool(REGB1
)) {
10205 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
10207 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
10208 /* ../lib/standard/collection/array.nit:271 */
10209 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
10210 /* ../lib/standard/collection/array.nit:272 */
10212 /* ../lib/standard/collection/array.nit:24 */
10213 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
10214 if (UNTAG_Bool(REGB1
)) {
10216 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
10218 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
10219 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
10220 if (UNTAG_Bool(REGB2
)) {
10222 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10224 /* ../lib/standard/kernel.nit:232 */
10225 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
10226 /* ../lib/standard/collection/array.nit:272 */
10227 if (UNTAG_Bool(REGB1
)) {
10228 /* ../lib/standard/collection/array.nit:273 */
10229 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
10230 if (UNTAG_Bool(REGB1
)) {
10231 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
10233 /* ../lib/standard/collection/array.nit:718 */
10234 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
10235 /* syntax/mmbuilder.nit:1346 */
10236 CALL_syntax___mmbuilder___AParam___stype__eq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
10237 /* syntax/mmbuilder.nit:1347 */
10238 REGB1
= CALL_syntax___mmbuilder___AParam___is_vararg(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10239 if (UNTAG_Bool(REGB1
)) {
10240 /* syntax/mmbuilder.nit:1348 */
10241 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10242 REGB1
= CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10243 REGB2
= TAG_Int(1);
10244 /* ../lib/standard/kernel.nit:236 */
10245 REGB2
= TAG_Int(-UNTAG_Int(REGB2
));
10246 /* syntax/mmbuilder.nit:1348 */
10247 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
10248 if (UNTAG_Bool(REGB3
)) {
10250 /* ../lib/standard/kernel.nit:227 */
10251 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
10252 /* syntax/mmbuilder.nit:1348 */
10255 if (UNTAG_Bool(REGB3
)) {
10256 /* syntax/mmbuilder.nit:1349 */
10257 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10258 REGB3
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
10259 CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank__eq(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB3
);
10261 /* syntax/mmbuilder.nit:1351 */
10262 if (!once_value_2
) {
10263 fra
.me
.REG
[6] = BOX_NativeString("Error: A vararg parameter is already defined.");
10264 REGB3
= TAG_Int(45);
10265 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB3
);
10266 once_value_2
= fra
.me
.REG
[6];
10267 register_static_object(&once_value_2
);
10268 } else fra
.me
.REG
[6] = once_value_2
;
10269 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10270 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[6]);
10272 /* syntax/mmbuilder.nit:1353 */
10273 fra
.me
.REG
[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
10274 fra
.me
.REG
[0] = fra
.me
.REG
[6];
10276 /* syntax/mmbuilder.nit:1355 */
10277 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AParam___variable(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
10278 CALL_syntax___syntax_base___Variable___stype__eq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
10279 /* ../lib/standard/collection/array.nit:274 */
10280 REGB3
= TAG_Int(1);
10281 /* ../lib/standard/kernel.nit:235 */
10282 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
10283 /* ../lib/standard/collection/array.nit:274 */
10286 /* ../lib/standard/collection/array.nit:272 */
10291 /* syntax/mmbuilder.nit:1357 */
10292 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10293 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10294 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10297 stack_frame_head
= fra
.me
.prev
;
10300 val_t
syntax___mmbuilder___AParam___is_vararg(val_t p0
){
10301 struct {struct stack_frame_t me
;} fra
;
10305 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10306 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10307 fra
.me
.line
= 1361;
10308 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___is_vararg
;
10309 fra
.me
.has_broke
= 0;
10310 fra
.me
.REG_size
= 1;
10311 fra
.me
.nitni_local_ref_head
= NULL
;
10312 fra
.me
.REG
[0] = NIT_NULL
;
10313 fra
.me
.REG
[0] = p0
;
10314 /* syntax/mmbuilder.nit:1361 */
10315 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_dotdotdot(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10316 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10317 if (UNTAG_Bool(REGB0
)) {
10319 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10320 if (UNTAG_Bool(REGB1
)) {
10321 REGB1
= TAG_Bool(false);
10324 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
10328 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10331 stack_frame_head
= fra
.me
.prev
;
10334 val_t
syntax___mmbuilder___AClosureDecl___position(val_t p0
){
10335 struct {struct stack_frame_t me
;} fra
;
10338 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10339 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10340 fra
.me
.line
= 1365;
10341 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClosureDecl___position
;
10342 fra
.me
.has_broke
= 0;
10343 fra
.me
.REG_size
= 1;
10344 fra
.me
.nitni_local_ref_head
= NULL
;
10345 fra
.me
.REG
[0] = NIT_NULL
;
10346 fra
.me
.REG
[0] = p0
;
10347 /* syntax/mmbuilder.nit:1365 */
10348 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___AClosureDecl____position(fra
.me
.REG
[0])!=NIT_NULL
);
10349 if (UNTAG_Bool(REGB0
)) {
10351 nit_abort("Uninitialized attribute %s", "_position", LOCATE_syntax___mmbuilder
, 1365);
10353 REGB0
= ATTR_syntax___mmbuilder___AClosureDecl____position(fra
.me
.REG
[0]);
10354 stack_frame_head
= fra
.me
.prev
;
10357 val_t
syntax___mmbuilder___AClosureDecl___variable(val_t p0
){
10358 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10361 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10362 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10363 fra
.me
.line
= 1367;
10364 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClosureDecl___variable
;
10365 fra
.me
.has_broke
= 0;
10366 fra
.me
.REG_size
= 2;
10367 fra
.me
.nitni_local_ref_head
= NULL
;
10368 fra
.me
.REG
[0] = NIT_NULL
;
10369 fra
.me
.REG
[1] = NIT_NULL
;
10370 fra
.me
.REG
[0] = p0
;
10371 /* syntax/mmbuilder.nit:1367 */
10372 fra
.me
.REG
[1] = fra
.me
.REG
[0];
10373 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AClosureDecl____variable(fra
.me
.REG
[1]);
10374 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
10375 if (UNTAG_Bool(REGB0
)) {
10377 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1367);
10381 stack_frame_head
= fra
.me
.prev
;
10382 return fra
.me
.REG
[1];
10384 void syntax___mmbuilder___AClosureDecl___accept_property_verifier(val_t p0
, val_t p1
){
10385 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
10390 static val_t once_value_2
; /* Once value */
10391 static val_t once_value_3
; /* Once value */
10392 static val_t once_value_4
; /* Once value */
10393 static val_t once_value_5
; /* Once value */
10394 static val_t once_value_6
; /* Once value */
10395 static val_t once_value_7
; /* Once value */
10396 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10397 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10398 fra
.me
.line
= 1370;
10399 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClosureDecl___accept_property_verifier
;
10400 fra
.me
.has_broke
= 0;
10401 fra
.me
.REG_size
= 11;
10402 fra
.me
.nitni_local_ref_head
= NULL
;
10403 fra
.me
.REG
[0] = NIT_NULL
;
10404 fra
.me
.REG
[1] = NIT_NULL
;
10405 fra
.me
.REG
[2] = NIT_NULL
;
10406 fra
.me
.REG
[3] = NIT_NULL
;
10407 fra
.me
.REG
[4] = NIT_NULL
;
10408 fra
.me
.REG
[5] = NIT_NULL
;
10409 fra
.me
.REG
[6] = NIT_NULL
;
10410 fra
.me
.REG
[7] = NIT_NULL
;
10411 fra
.me
.REG
[8] = NIT_NULL
;
10412 fra
.me
.REG
[9] = NIT_NULL
;
10413 fra
.me
.REG
[10] = NIT_NULL
;
10414 fra
.me
.REG
[0] = p0
;
10415 fra
.me
.REG
[1] = p1
;
10416 /* syntax/mmbuilder.nit:1370 */
10417 fra
.me
.REG
[2] = fra
.me
.REG
[0];
10418 fra
.me
.REG
[3] = fra
.me
.REG
[1];
10419 /* syntax/mmbuilder.nit:1372 */
10420 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10421 /* syntax/mmbuilder.nit:1373 */
10422 fra
.me
.REG
[5] = NEW_SignatureBuilder_syntax___mmbuilder___SignatureBuilder___init();
10423 CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
10424 /* syntax/mmbuilder.nit:1374 */
10425 CALL_SUPER_syntax___mmbuilder___AClosureDecl___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
10426 /* syntax/mmbuilder.nit:1375 */
10427 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10428 REGB0
= CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10429 if (UNTAG_Bool(REGB0
)) {
10430 /* syntax/mmbuilder.nit:1376 */
10433 /* syntax/mmbuilder.nit:1378 */
10434 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10435 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10436 /* syntax/mmbuilder.nit:1379 */
10437 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10438 if (UNTAG_Bool(REGB0
)) {
10440 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10441 if (UNTAG_Bool(REGB1
)) {
10442 REGB1
= TAG_Bool(false);
10445 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
10449 if (UNTAG_Bool(REGB0
)) {
10450 /* syntax/mmbuilder.nit:1380 */
10451 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
10452 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10453 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
10454 fra
.me
.REG
[5] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[5]);
10455 fra
.me
.REG
[1] = fra
.me
.REG
[5];
10457 /* syntax/mmbuilder.nit:1382 */
10458 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10459 if (UNTAG_Bool(REGB0
)) {
10460 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1382);
10462 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10463 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10464 if (UNTAG_Bool(REGB0
)) {
10466 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10467 if (UNTAG_Bool(REGB1
)) {
10468 REGB1
= TAG_Bool(false);
10471 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
10475 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10476 if (UNTAG_Bool(REGB0
)) {
10477 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AClosureDecl___n_kwbreak(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10478 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10479 if (UNTAG_Bool(REGB0
)) {
10481 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10482 if (UNTAG_Bool(REGB1
)) {
10483 REGB1
= TAG_Bool(false);
10486 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
10490 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10492 REGB1
= TAG_Bool(false);
10495 if (UNTAG_Bool(REGB0
)) {
10496 /* syntax/mmbuilder.nit:1383 */
10497 if (!once_value_2
) {
10498 fra
.me
.REG
[5] = BOX_NativeString("Syntax Error: A break block cannot have a return value.");
10499 REGB0
= TAG_Int(55);
10500 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
10501 once_value_2
= fra
.me
.REG
[5];
10502 register_static_object(&once_value_2
);
10503 } else fra
.me
.REG
[5] = once_value_2
;
10504 fra
.me
.REG
[5] = fra
.me
.REG
[5];
10505 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[5]);
10507 /* syntax/mmbuilder.nit:1387 */
10508 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___init();
10509 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10510 fra
.me
.REG
[0] = CALL_metamodel___inheritance___MMModule___type_any(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10511 fra
.me
.REG
[0] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[5], NIT_NULL
, fra
.me
.REG
[0]);
10512 /* syntax/mmbuilder.nit:1388 */
10513 if (!once_value_3
) {
10514 if (!once_value_4
) {
10515 fra
.me
.REG
[5] = BOX_NativeString("break");
10516 REGB0
= TAG_Int(5);
10517 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
10518 once_value_4
= fra
.me
.REG
[5];
10519 register_static_object(&once_value_4
);
10520 } else fra
.me
.REG
[5] = once_value_4
;
10521 fra
.me
.REG
[5] = fra
.me
.REG
[5];
10522 fra
.me
.REG
[5] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
10523 once_value_3
= fra
.me
.REG
[5];
10524 register_static_object(&once_value_3
);
10525 } else fra
.me
.REG
[5] = once_value_3
;
10526 fra
.me
.REG
[5] = fra
.me
.REG
[5];
10527 REGB0
= TAG_Bool(false);
10528 REGB1
= TAG_Bool(true);
10529 fra
.me
.REG
[0] = NEW_MMClosure_metamodel___static_type___MMClosure___init(fra
.me
.REG
[5], fra
.me
.REG
[0], REGB0
, REGB1
);
10530 /* syntax/mmbuilder.nit:1389 */
10531 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10532 if (UNTAG_Bool(REGB1
)) {
10533 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1389);
10535 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10536 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
10537 /* syntax/mmbuilder.nit:1391 */
10538 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10539 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10540 /* syntax/mmbuilder.nit:1392 */
10541 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AClosureDecl___n_kwbreak(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10542 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10543 if (UNTAG_Bool(REGB1
)) {
10545 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10546 if (UNTAG_Bool(REGB0
)) {
10547 REGB0
= TAG_Bool(false);
10550 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
10554 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
10555 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AClosureDecl___n_expr(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10556 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10557 if (UNTAG_Bool(REGB0
)) {
10559 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10560 if (UNTAG_Bool(REGB2
)) {
10561 REGB2
= TAG_Bool(false);
10564 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
10568 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10569 fra
.me
.REG
[1] = NEW_MMClosure_metamodel___static_type___MMClosure___init(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB1
, REGB0
);
10570 /* syntax/mmbuilder.nit:1393 */
10571 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10572 /* ../lib/standard/collection/array.nit:269 */
10573 REGB0
= TAG_Int(0);
10574 /* ../lib/standard/collection/array.nit:270 */
10575 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
10576 if (UNTAG_Bool(REGB1
)) {
10578 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
10580 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
10581 /* ../lib/standard/collection/array.nit:271 */
10582 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
10583 /* ../lib/standard/collection/array.nit:272 */
10585 /* ../lib/standard/collection/array.nit:24 */
10586 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
10587 if (UNTAG_Bool(REGB1
)) {
10589 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
10591 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
10592 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
10593 if (UNTAG_Bool(REGB2
)) {
10595 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10597 /* ../lib/standard/kernel.nit:232 */
10598 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
10599 /* ../lib/standard/collection/array.nit:272 */
10600 if (UNTAG_Bool(REGB1
)) {
10601 /* ../lib/standard/collection/array.nit:273 */
10602 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
10603 if (UNTAG_Bool(REGB1
)) {
10604 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
10606 /* ../lib/standard/collection/array.nit:718 */
10607 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
10608 /* syntax/mmbuilder.nit:1394 */
10609 fra
.me
.REG
[8] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
10610 fra
.me
.REG
[8] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
10611 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[8],fra
.me
.REG
[0]));
10612 if (UNTAG_Bool(REGB1
)) {
10614 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
10617 if (UNTAG_Bool(REGB1
)) {
10618 /* syntax/mmbuilder.nit:1395 */
10619 fra
.me
.REG
[8] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10620 REGB1
= TAG_Int(5);
10621 fra
.me
.REG
[9] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10622 if (!once_value_5
) {
10623 fra
.me
.REG
[10] = BOX_NativeString("A closure '!");
10624 REGB1
= TAG_Int(12);
10625 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
10626 once_value_5
= fra
.me
.REG
[10];
10627 register_static_object(&once_value_5
);
10628 } else fra
.me
.REG
[10] = once_value_5
;
10629 fra
.me
.REG
[10] = fra
.me
.REG
[10];
10630 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10631 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10632 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10633 if (!once_value_6
) {
10634 fra
.me
.REG
[10] = BOX_NativeString("' already defined at ");
10635 REGB1
= TAG_Int(21);
10636 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
10637 once_value_6
= fra
.me
.REG
[10];
10638 register_static_object(&once_value_6
);
10639 } else fra
.me
.REG
[10] = once_value_6
;
10640 fra
.me
.REG
[10] = fra
.me
.REG
[10];
10641 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10642 fra
.me
.REG
[7] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
10643 fra
.me
.REG
[7] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
10644 fra
.me
.REG
[10] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10645 fra
.me
.REG
[10] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
10646 fra
.me
.REG
[10] = CALL_location___Location___relative_to(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
10647 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10648 if (!once_value_7
) {
10649 fra
.me
.REG
[10] = BOX_NativeString(".");
10650 REGB1
= TAG_Int(1);
10651 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
10652 once_value_7
= fra
.me
.REG
[10];
10653 register_static_object(&once_value_7
);
10654 } else fra
.me
.REG
[10] = once_value_7
;
10655 fra
.me
.REG
[10] = fra
.me
.REG
[10];
10656 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10657 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
10658 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[8], fra
.me
.REG
[9]);
10659 /* syntax/mmbuilder.nit:1396 */
10662 /* ../lib/standard/collection/array.nit:274 */
10663 REGB1
= TAG_Int(1);
10664 /* ../lib/standard/kernel.nit:235 */
10665 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
10666 /* ../lib/standard/collection/array.nit:274 */
10669 /* ../lib/standard/collection/array.nit:272 */
10674 /* syntax/mmbuilder.nit:1399 */
10675 CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
10676 /* syntax/mmbuilder.nit:1400 */
10677 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10678 /* ../lib/standard/collection/array.nit:24 */
10679 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
10680 if (UNTAG_Bool(REGB0
)) {
10682 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
10684 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
10685 /* syntax/mmbuilder.nit:1400 */
10686 ATTR_syntax___mmbuilder___AClosureDecl____position(fra
.me
.REG
[2]) = REGB0
;
10687 /* syntax/mmbuilder.nit:1401 */
10688 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10689 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
10690 /* syntax/mmbuilder.nit:1402 */
10691 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10692 fra
.me
.REG
[4] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10693 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10694 fra
.me
.REG
[1] = NEW_ClosureVariable_syntax___syntax_base___ClosureVariable___init(fra
.me
.REG
[4], fra
.me
.REG
[3], fra
.me
.REG
[1]);
10695 ATTR_syntax___mmbuilder___AClosureDecl____variable(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
10697 stack_frame_head
= fra
.me
.prev
;
10700 void syntax___mmbuilder___AType___check_visibility(val_t p0
, val_t p1
, val_t p2
){
10701 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
10706 static val_t once_value_2
; /* Once value */
10707 static val_t once_value_3
; /* Once value */
10708 static val_t once_value_4
; /* Once value */
10709 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10710 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10711 fra
.me
.line
= 1407;
10712 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AType___check_visibility
;
10713 fra
.me
.has_broke
= 0;
10714 fra
.me
.REG_size
= 6;
10715 fra
.me
.nitni_local_ref_head
= NULL
;
10716 fra
.me
.REG
[0] = NIT_NULL
;
10717 fra
.me
.REG
[1] = NIT_NULL
;
10718 fra
.me
.REG
[2] = NIT_NULL
;
10719 fra
.me
.REG
[3] = NIT_NULL
;
10720 fra
.me
.REG
[4] = NIT_NULL
;
10721 fra
.me
.REG
[5] = NIT_NULL
;
10722 fra
.me
.REG
[0] = p0
;
10723 fra
.me
.REG
[1] = p1
;
10724 fra
.me
.REG
[2] = p2
;
10725 /* syntax/mmbuilder.nit:1410 */
10726 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10727 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10728 REGB1
= TAG_Int(3);
10729 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
10730 if (UNTAG_Bool(REGB2
)) {
10732 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10734 /* ../lib/standard/kernel.nit:233 */
10735 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
10736 /* syntax/mmbuilder.nit:1410 */
10737 if (UNTAG_Bool(REGB1
)) {
10740 /* syntax/mmbuilder.nit:1411 */
10741 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
10742 /* syntax/mmbuilder.nit:1412 */
10743 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10744 if (UNTAG_Bool(REGB1
)) {
10746 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10747 if (UNTAG_Bool(REGB0
)) {
10748 REGB0
= TAG_Bool(false);
10751 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
10755 if (UNTAG_Bool(REGB1
)) {
10758 /* syntax/mmbuilder.nit:1413 */
10759 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10760 if (UNTAG_Bool(REGB1
)) {
10761 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1413);
10763 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10764 /* syntax/mmbuilder.nit:1414 */
10765 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10766 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10767 REGB0
= TAG_Int(3);
10768 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10769 if (UNTAG_Bool(REGB2
)) {
10771 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10773 /* ../lib/standard/kernel.nit:233 */
10774 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
10775 /* syntax/mmbuilder.nit:1414 */
10776 if (UNTAG_Bool(REGB0
)) {
10777 /* syntax/mmbuilder.nit:1415 */
10778 REGB0
= TAG_Int(5);
10779 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
10780 if (!once_value_2
) {
10781 fra
.me
.REG
[5] = BOX_NativeString("Access error: Class ");
10782 REGB0
= TAG_Int(20);
10783 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
10784 once_value_2
= fra
.me
.REG
[5];
10785 register_static_object(&once_value_2
);
10786 } else fra
.me
.REG
[5] = once_value_2
;
10787 fra
.me
.REG
[5] = fra
.me
.REG
[5];
10788 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
10789 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10790 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
10791 if (!once_value_3
) {
10792 fra
.me
.REG
[3] = BOX_NativeString(" is private and cannot be used in the signature of the non-private property ");
10793 REGB0
= TAG_Int(76);
10794 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
10795 once_value_3
= fra
.me
.REG
[3];
10796 register_static_object(&once_value_3
);
10797 } else fra
.me
.REG
[3] = once_value_3
;
10798 fra
.me
.REG
[3] = fra
.me
.REG
[3];
10799 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
10800 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10801 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
10802 if (!once_value_4
) {
10803 fra
.me
.REG
[3] = BOX_NativeString(".");
10804 REGB0
= TAG_Int(1);
10805 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
10806 once_value_4
= fra
.me
.REG
[3];
10807 register_static_object(&once_value_4
);
10808 } else fra
.me
.REG
[3] = once_value_4
;
10809 fra
.me
.REG
[3] = fra
.me
.REG
[3];
10810 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
10811 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10812 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
10814 /* syntax/mmbuilder.nit:1417 */
10815 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AType___n_types(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10816 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
));
10818 stack_frame_head
= fra
.me
.prev
;
10821 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
){
10822 struct {struct stack_frame_t me
;} fra
;
10825 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10826 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10828 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AType___check_visibility
;
10829 fra
.me
.has_broke
= 0;
10830 fra
.me
.REG_size
= 1;
10831 fra
.me
.nitni_local_ref_head
= NULL
;
10832 fra
.me
.REG
[0] = NIT_NULL
;
10833 fra
.me
.closure_ctx
= closctx_param
;
10834 fra
.me
.closure_funs
= CREG
;
10835 fra
.me
.REG
[0] = p0
;
10836 CREG
[0] = clos_fun0
;
10837 /* syntax/mmbuilder.nit:1418 */
10838 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1], closctx
->REG
[2]);
10839 stack_frame_head
= fra
.me
.prev
;
10842 void syntax___mmbuilder___AExpr___accept_class_builder(val_t p0
, val_t p1
){
10843 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10845 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10846 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10847 fra
.me
.line
= 1424;
10848 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExpr___accept_class_builder
;
10849 fra
.me
.has_broke
= 0;
10850 fra
.me
.REG_size
= 2;
10851 fra
.me
.nitni_local_ref_head
= NULL
;
10852 fra
.me
.REG
[0] = NIT_NULL
;
10853 fra
.me
.REG
[1] = NIT_NULL
;
10854 fra
.me
.REG
[0] = p0
;
10855 fra
.me
.REG
[1] = p1
;
10856 stack_frame_head
= fra
.me
.prev
;
10859 void syntax___mmbuilder___AExpr___accept_property_builder(val_t p0
, val_t p1
){
10860 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10862 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10863 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10864 fra
.me
.line
= 1425;
10865 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExpr___accept_property_builder
;
10866 fra
.me
.has_broke
= 0;
10867 fra
.me
.REG_size
= 2;
10868 fra
.me
.nitni_local_ref_head
= NULL
;
10869 fra
.me
.REG
[0] = NIT_NULL
;
10870 fra
.me
.REG
[1] = NIT_NULL
;
10871 fra
.me
.REG
[0] = p0
;
10872 fra
.me
.REG
[1] = p1
;
10873 stack_frame_head
= fra
.me
.prev
;
10876 void syntax___mmbuilder___AExpr___accept_property_verifier(val_t p0
, val_t p1
){
10877 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10879 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10880 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10881 fra
.me
.line
= 1426;
10882 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExpr___accept_property_verifier
;
10883 fra
.me
.has_broke
= 0;
10884 fra
.me
.REG_size
= 2;
10885 fra
.me
.nitni_local_ref_head
= NULL
;
10886 fra
.me
.REG
[0] = NIT_NULL
;
10887 fra
.me
.REG
[1] = NIT_NULL
;
10888 fra
.me
.REG
[0] = p0
;
10889 fra
.me
.REG
[1] = p1
;
10890 stack_frame_head
= fra
.me
.prev
;
10893 val_t
syntax___mmbuilder___AExpr___get_easy_stype(val_t p0
, val_t p1
){
10894 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10896 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10897 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10898 fra
.me
.line
= 1428;
10899 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExpr___get_easy_stype
;
10900 fra
.me
.has_broke
= 0;
10901 fra
.me
.REG_size
= 2;
10902 fra
.me
.nitni_local_ref_head
= NULL
;
10903 fra
.me
.REG
[0] = NIT_NULL
;
10904 fra
.me
.REG
[1] = NIT_NULL
;
10905 fra
.me
.REG
[0] = p0
;
10906 fra
.me
.REG
[1] = p1
;
10907 /* syntax/mmbuilder.nit:1428 */
10908 fra
.me
.REG
[1] = NIT_NULL
;
10911 stack_frame_head
= fra
.me
.prev
;
10912 return fra
.me
.REG
[1];
10914 val_t
syntax___mmbuilder___ABoolExpr___get_easy_stype(val_t p0
, val_t p1
){
10915 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10917 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10918 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10919 fra
.me
.line
= 1432;
10920 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ABoolExpr___get_easy_stype
;
10921 fra
.me
.has_broke
= 0;
10922 fra
.me
.REG_size
= 2;
10923 fra
.me
.nitni_local_ref_head
= NULL
;
10924 fra
.me
.REG
[0] = NIT_NULL
;
10925 fra
.me
.REG
[1] = NIT_NULL
;
10926 fra
.me
.REG
[0] = p0
;
10927 fra
.me
.REG
[1] = p1
;
10928 /* syntax/mmbuilder.nit:1432 */
10929 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_bool(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10932 stack_frame_head
= fra
.me
.prev
;
10933 return fra
.me
.REG
[1];
10935 val_t
syntax___mmbuilder___AStringExpr___get_easy_stype(val_t p0
, val_t p1
){
10936 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10938 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10939 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10940 fra
.me
.line
= 1436;
10941 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStringExpr___get_easy_stype
;
10942 fra
.me
.has_broke
= 0;
10943 fra
.me
.REG_size
= 2;
10944 fra
.me
.nitni_local_ref_head
= NULL
;
10945 fra
.me
.REG
[0] = NIT_NULL
;
10946 fra
.me
.REG
[1] = NIT_NULL
;
10947 fra
.me
.REG
[0] = p0
;
10948 fra
.me
.REG
[1] = p1
;
10949 /* syntax/mmbuilder.nit:1436 */
10950 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_string(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10953 stack_frame_head
= fra
.me
.prev
;
10954 return fra
.me
.REG
[1];
10956 val_t
syntax___mmbuilder___ACharExpr___get_easy_stype(val_t p0
, val_t p1
){
10957 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10959 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10960 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10961 fra
.me
.line
= 1440;
10962 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ACharExpr___get_easy_stype
;
10963 fra
.me
.has_broke
= 0;
10964 fra
.me
.REG_size
= 2;
10965 fra
.me
.nitni_local_ref_head
= NULL
;
10966 fra
.me
.REG
[0] = NIT_NULL
;
10967 fra
.me
.REG
[1] = NIT_NULL
;
10968 fra
.me
.REG
[0] = p0
;
10969 fra
.me
.REG
[1] = p1
;
10970 /* syntax/mmbuilder.nit:1440 */
10971 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_char(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10974 stack_frame_head
= fra
.me
.prev
;
10975 return fra
.me
.REG
[1];
10977 val_t
syntax___mmbuilder___AIntExpr___get_easy_stype(val_t p0
, val_t p1
){
10978 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10980 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10981 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10982 fra
.me
.line
= 1444;
10983 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AIntExpr___get_easy_stype
;
10984 fra
.me
.has_broke
= 0;
10985 fra
.me
.REG_size
= 2;
10986 fra
.me
.nitni_local_ref_head
= NULL
;
10987 fra
.me
.REG
[0] = NIT_NULL
;
10988 fra
.me
.REG
[1] = NIT_NULL
;
10989 fra
.me
.REG
[0] = p0
;
10990 fra
.me
.REG
[1] = p1
;
10991 /* syntax/mmbuilder.nit:1444 */
10992 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_int(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10995 stack_frame_head
= fra
.me
.prev
;
10996 return fra
.me
.REG
[1];
10998 val_t
syntax___mmbuilder___AFloatExpr___get_easy_stype(val_t p0
, val_t p1
){
10999 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
11001 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
11002 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
11003 fra
.me
.line
= 1448;
11004 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AFloatExpr___get_easy_stype
;
11005 fra
.me
.has_broke
= 0;
11006 fra
.me
.REG_size
= 2;
11007 fra
.me
.nitni_local_ref_head
= NULL
;
11008 fra
.me
.REG
[0] = NIT_NULL
;
11009 fra
.me
.REG
[1] = NIT_NULL
;
11010 fra
.me
.REG
[0] = p0
;
11011 fra
.me
.REG
[1] = p1
;
11012 /* syntax/mmbuilder.nit:1448 */
11013 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_float(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
11016 stack_frame_head
= fra
.me
.prev
;
11017 return fra
.me
.REG
[1];
11019 val_t
syntax___mmbuilder___ANewExpr___get_easy_stype(val_t p0
, val_t p1
){
11020 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
11022 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
11023 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
11024 fra
.me
.line
= 1452;
11025 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANewExpr___get_easy_stype
;
11026 fra
.me
.has_broke
= 0;
11027 fra
.me
.REG_size
= 2;
11028 fra
.me
.nitni_local_ref_head
= NULL
;
11029 fra
.me
.REG
[0] = NIT_NULL
;
11030 fra
.me
.REG
[1] = NIT_NULL
;
11031 fra
.me
.REG
[0] = p0
;
11032 fra
.me
.REG
[1] = p1
;
11033 /* syntax/mmbuilder.nit:1452 */
11034 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ANewExpr___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
11035 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
11038 stack_frame_head
= fra
.me
.prev
;
11039 return fra
.me
.REG
[1];